diff --git a/interface.php b/interface.php index e9c04da..240d785 100644 --- a/interface.php +++ b/interface.php @@ -538,6 +538,7 @@ function create_update_group(ReqHandler &$rh, array $params): string { global $user; global $groupMgr; + global $userMgr; $update = $params[ReqHandler::ACTION_KEY] === "update_group"; $groupname = trim($params["groupname"]); @@ -557,7 +558,11 @@ function create_update_group(ReqHandler &$rh, array $params): string $group->disableAutoStoring(); $group->setName($groupname); $group->setDescription($description); - $group->setOwner($owner); + + // only an existing user might be an owner of a group + if ($userMgr->getUser($owner) !== null) { + $group->setOwner($owner); + } $editors = array_intersect($editors, $group->getMembers()); // a user cannot be an editor if not participant of the group $group->setEditors($editors); diff --git a/js/groupmgr.js b/js/groupmgr.js index 172de25..67d8b15 100644 --- a/js/groupmgr.js +++ b/js/groupmgr.js @@ -76,6 +76,7 @@ function create_edit_group(group = null) { }; if (update) { req["id"] = group["_id"]; + req["owner"] = group_ownerF.value } request(req).then(resp => { list_all_groups(); @@ -163,5 +164,7 @@ function change_group_members() { request(req).then(resp => { userListTA.value = ""; hide("member_manager_window"); + hide("group_editor_window"); + list_all_groups(); }); } \ No newline at end of file