bugs
This commit is contained in:
parent
6b793cd582
commit
b27d546533
|
|
@ -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();
|
||||
|
||||
// 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->canRemoveUser()){
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,13 +25,6 @@
|
|||
<span v-if="group.isDefault">Ist default</span>
|
||||
<span v-else>Nicht default</span>
|
||||
<hr>
|
||||
<!-- SHAREING -->
|
||||
<!--<Multiselect
|
||||
:v-model="contributors"
|
||||
:multiple="true"
|
||||
placeholder="Suche"
|
||||
:options="agencyContributor"
|
||||
@input="updateContributor" />-->
|
||||
<Multiselect v-if="!group.isMainGroup"
|
||||
v-model="value"
|
||||
:options="formattedContributors"
|
||||
|
|
@ -58,7 +51,7 @@ import { generateUrl } from '@nextcloud/router'
|
|||
import axios from '@nextcloud/axios'
|
||||
import Permission from './Permission'
|
||||
import { Multiselect, ListItemIcon } from '@nextcloud/vue'
|
||||
|
||||
// TODO: Wenn eine neue Gruppe erstellt wird, ist das MultiSelect-Field NICHT leer :( Da nochmal schauen!
|
||||
export default {
|
||||
name: 'Group',
|
||||
components: {
|
||||
|
|
@ -81,24 +74,22 @@ export default {
|
|||
return {
|
||||
// Main Group-ID for all Accordions
|
||||
groupDefId: 'acc_groupele_',
|
||||
value: [],
|
||||
value: null,
|
||||
contributors: [],
|
||||
formattedContributors: [],
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.value = null
|
||||
this.formattedContributors = []
|
||||
created() {
|
||||
this.getAgencyContributors()
|
||||
},
|
||||
methods: {
|
||||
// Update new Users to the Group
|
||||
async updateContributorsValue() {
|
||||
const selectedUsers = []
|
||||
this.value.forEach((item) => {
|
||||
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() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue