Merge pull request #47589 from nextcloud/fix/user-settings-admin

fix(settings): Hide forbidden UI elements for group managers
This commit is contained in:
Ferdinand Thiessen 2024-08-30 22:43:25 +02:00 committed by GitHub
commit 558fbcda72
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 26 additions and 14 deletions

View file

@ -357,7 +357,16 @@ export default {
},
setNewUserDefaultGroup(value) {
if (value && value.length > 0) {
// Is no value set, but user is a line manager we set their group as this is a requirement for line manager
if (!value && !this.settings.isAdmin && !this.settings.isDelegatedAdmin) {
// if there are multiple groups we do not know which to add,
// so we cannot make the managers life easier by preselecting it.
if (this.groups.length === 1) {
value = this.groups[0].id
}
}
if (value) {
// setting new account default group to the current selected one
const currentGroup = this.groups.find(group => group.id === value)
if (currentGroup) {

View file

@ -30,7 +30,7 @@
</template>
</NcAppNavigationItem>
<NcAppNavigationItem v-if="isAdmin"
<NcAppNavigationItem v-if="settings.isAdmin"
id="admin"
:exact="true"
:name="t('settings', 'Admins')"
@ -46,7 +46,8 @@
</template>
</NcAppNavigationItem>
<NcAppNavigationItem id="recent"
<NcAppNavigationItem v-if="isAdminOrDelegatedAdmin"
id="recent"
:exact="true"
:name="t('settings', 'Recently active')"
:to="{ name: 'group', params: { selectedGroup: '__nc_internal_recent' } }">
@ -54,7 +55,7 @@
<NcIconSvgWrapper :path="mdiHistory" />
</template>
<template #counter>
<NcCounterBubble v-if="recentGroup?.usercount > 0"
<NcCounterBubble v-if="recentGroup?.usercount"
:type="selectedGroupDecoded === '__nc_internal_recent' ? 'highlighted' : undefined">
{{ recentGroup.usercount }}
</NcCounterBubble>
@ -84,11 +85,11 @@
force-menu
is-heading
:open.sync="isAddGroupOpen">
<template #actionsTriggerIcon>
<template v-if="isAdminOrDelegatedAdmin" #actionsTriggerIcon>
<NcLoadingIcon v-if="loadingAddGroup" />
<NcIconSvgWrapper v-else :path="mdiPlus" />
</template>
<template #actions>
<template v-if="isAdminOrDelegatedAdmin" #actions>
<NcActionText>
<template #icon>
<AccountGroup :size="20" />
@ -171,8 +172,10 @@ const userCount = computed(() => store.getters.getUserCount)
const groups = computed(() => store.getters.getSortedGroups)
const { adminGroup, recentGroup, disabledGroup, userGroups } = useFormatGroups(groups)
/** True if the current user is an administrator */
const isAdmin = computed(() => store.getters.getServerData.isAdmin)
/** Server settings for current user */
const settings = computed(() => store.getters.getServerData)
/** True if the current user is a (delegated) admin */
const isAdminOrDelegatedAdmin = computed(() => settings.value.isAdmin || settings.value.isDelegatedAdmin)
/** True if the 'add-group' dialog is open - needed to be able to close it when the group is created */
const isAddGroupOpen = ref(false)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long