diff --git a/lib/Agency/AgencyManager.php b/lib/Agency/AgencyManager.php index 652de31..abd6483 100644 --- a/lib/Agency/AgencyManager.php +++ b/lib/Agency/AgencyManager.php @@ -100,20 +100,34 @@ class AgencyManager { # TODO: Hier prüfen, ob alle User in der gleichen Agentur sind und er eingeloggte User auch wirklich das Recht dazu hat public function updateagencygroupcontributors(string $gid, array $users){ + // Getting the Group $groupToChange = $this->groupManager->get($gid); + + // Getting the Users in Group $usersInGroup = $groupToChange->getUsers(); - foreach($usersInGroup as $user){ - if($groupToChange->canRemoveUser()){ + // Preparing new Users, creating Array of Users + $newUsersInGroup = array(); + foreach($users as $user) { + $tempuser = $this->userManager->get($user); + array_push($newUsersInGroup, $tempuser); + } + + // Removing not existing users + foreach($usersInGroup as $user) { + if($groupToChange->inGroup($user) == true && in_array($newUsersInGroup, $user) == false) { $groupToChange->removeUser($user); } } - foreach($users as $user) { - if($groupToChange->canAddUser()){ - $groupToChange->addUser($this->userManager->get($user)); + // Adding new Users + foreach($newUsersInGroup as $user) { + if($groupToChange->inGroup($user) == false) { + $groupToChange->addUser($user); } } + + return $users; } diff --git a/src/components/Group.vue b/src/components/Group.vue index 56d93c8..5af717b 100644 --- a/src/components/Group.vue +++ b/src/components/Group.vue @@ -25,13 +25,6 @@ Ist default Nicht default
- - { selectedUsers.push(item.user) }) - const r = await axios.put(generateUrl('/apps/agency/updateagencygroupcontributors/' + this.group.gid), { users: selectedUsers }) - console.log(r) + await axios.put(generateUrl('/apps/agency/updateagencygroupcontributors/' + this.group.gid), { users: selectedUsers }) }, // Contributors changed, update the formattedContributors for the Field updateContributors() {