From bde16441a9697fbb09bdb86f22d576c85cdfd735 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julius=20H=C3=A4rtl?= <jus@bitgrid.net>
Date: Mon, 23 Dec 2019 14:02:39 +0100
Subject: [PATCH] Allow to edit admin/own user in the user management
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Julius Härtl <jus@bitgrid.net>
---
 apps/settings/src/components/UserList.vue               | 2 +-
 apps/settings/src/components/UserList/UserRow.vue       | 2 +-
 apps/settings/src/components/UserList/UserRowSimple.vue | 8 +++-----
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/apps/settings/src/components/UserList.vue b/apps/settings/src/components/UserList.vue
index 37b510e2079..134935fdc9c 100644
--- a/apps/settings/src/components/UserList.vue
+++ b/apps/settings/src/components/UserList.vue
@@ -318,7 +318,7 @@ export default {
 			}
 			if (!this.settings.isAdmin) {
 				// we don't want subadmins to edit themselves
-				return this.users.filter(user => user.enabled !== false && user.id !== OC.getCurrentUser().uid)
+				return this.users.filter(user => user.enabled !== false)
 			}
 			return this.users.filter(user => user.enabled !== false)
 		},
diff --git a/apps/settings/src/components/UserList/UserRow.vue b/apps/settings/src/components/UserList/UserRow.vue
index d0787b2d0e3..232485cf299 100644
--- a/apps/settings/src/components/UserList/UserRow.vue
+++ b/apps/settings/src/components/UserList/UserRow.vue
@@ -216,7 +216,7 @@
 		<div v-if="showConfig.showLastLogin" />
 
 		<div class="userActions">
-			<div v-if="OC.currentUser !== user.id && user.id !== 'admin' && !loading.all"
+			<div v-if="!loading.all"
 				class="toggleUserActions">
 				<Actions>
 					<ActionButton icon="icon-checkmark"
diff --git a/apps/settings/src/components/UserList/UserRowSimple.vue b/apps/settings/src/components/UserList/UserRowSimple.vue
index 255043c21db..a84956d2361 100644
--- a/apps/settings/src/components/UserList/UserRowSimple.vue
+++ b/apps/settings/src/components/UserList/UserRowSimple.vue
@@ -55,7 +55,7 @@
 		</div>
 
 		<div class="userActions">
-			<div v-if="canEdit && !loading.all" class="toggleUserActions">
+			<div v-if="canEditUser(user) && !loading.all" class="toggleUserActions">
 				<Actions>
 					<ActionButton icon="icon-rename" @click="toggleEdit">
 						{{ t('settings', 'Edit User') }}
@@ -79,7 +79,6 @@
 <script>
 import { PopoverMenu, Actions, ActionButton } from '@nextcloud/vue'
 import ClickOutside from 'vue-click-outside'
-import { getCurrentUser } from '@nextcloud/auth'
 
 import UserRowMixin from '../../mixins/UserRowMixin'
 export default {
@@ -144,10 +143,9 @@ export default {
 			}
 			return t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })
 		},
-		canEdit() {
-			return getCurrentUser().uid !== this.user.id && this.user.id !== 'admin'
+		canEditUser() {
+			return (user) => this.settings.isAdmin || user.id !== OC.getCurrentUser().uid
 		},
-
 	},
 	methods: {
 		hideMenu() {
-- 
GitLab