diff options
Diffstat (limited to 'settings/src/components/userList.vue')
-rw-r--r-- | settings/src/components/userList.vue | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/settings/src/components/userList.vue b/settings/src/components/userList.vue index a2d470745f9..14553c0ddc6 100644 --- a/settings/src/components/userList.vue +++ b/settings/src/components/userList.vue @@ -75,7 +75,7 @@ <!-- hidden input trick for vanilla html5 form validation --> <input type="text" :value="newUser.groups" v-if="!settings.isAdmin" tabindex="-1" id="newgroups" :required="!settings.isAdmin" /> - <multiselect :options="groups" v-model="newUser.groups" + <multiselect :options="canAddGroups" v-model="newUser.groups" :placeholder="t('settings', 'Add user in group')" label="name" track-by="id" class="multiselect-vue" :multiple="true" :close-on-select="false" @@ -202,7 +202,7 @@ export default { return disabledUsers; } if (!this.settings.isAdmin) { - // We don't want subadmins to edit themselves + // we don't want subadmins to edit themselves return this.users.filter(user => user.enabled !== false && user.id !== oc_current_user); } return this.users.filter(user => user.enabled !== false); @@ -213,6 +213,16 @@ export default { .filter(group => group.id !== 'disabled') .sort((a, b) => a.name.localeCompare(b.name)); }, + canAddGroups() { + // disabled if no permission to add new users to group + return this.groups.map((group) => { + // clone object because we don't want + // to edit the original groups + group = Object.assign({}, group); + group.$isDisabled = group.canAdd !== true; + return group; + }); + }, subAdminsGroups() { // data provided php side return this.$store.getters.getSubadminGroups; |