From 39f79a8f3c0c96e90e137678383d32e632f63245 Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Fri, 27 Mar 2020 16:42:27 -0700 Subject: [PATCH] Finish cleaning up subuser view --- .../Api/Client/Servers/SubuserController.php | 2 +- .../Subusers/SubuserCreationService.php | 2 +- .../components/server/users/UserRow.tsx | 24 ++++++++++++++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/Client/Servers/SubuserController.php b/app/Http/Controllers/Api/Client/Servers/SubuserController.php index 73a534341..79a90d842 100644 --- a/app/Http/Controllers/Api/Client/Servers/SubuserController.php +++ b/app/Http/Controllers/Api/Client/Servers/SubuserController.php @@ -123,6 +123,6 @@ class SubuserController extends ClientApiController */ protected function getDefaultPermissions(Request $request): array { - return array_merge($request->input('permissions') ?? [], ['websocket.*']); + return array_unique(array_merge($request->input('permissions') ?? [], ['websocket.*'])); } } diff --git a/app/Services/Subusers/SubuserCreationService.php b/app/Services/Subusers/SubuserCreationService.php index ea8b5c2be..b959aece8 100644 --- a/app/Services/Subusers/SubuserCreationService.php +++ b/app/Services/Subusers/SubuserCreationService.php @@ -103,7 +103,7 @@ class SubuserCreationService return $this->subuserRepository->create([ 'user_id' => $user->id, 'server_id' => $server->id, - 'permissions' => $permissions, + 'permissions' => array_unique($permissions), ]); }); } diff --git a/resources/scripts/components/server/users/UserRow.tsx b/resources/scripts/components/server/users/UserRow.tsx index c84024603..d419e8fb1 100644 --- a/resources/scripts/components/server/users/UserRow.tsx +++ b/resources/scripts/components/server/users/UserRow.tsx @@ -4,6 +4,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faPencilAlt } from '@fortawesome/free-solid-svg-icons/faPencilAlt'; import RemoveSubuserButton from '@/components/server/users/RemoveSubuserButton'; import EditSubuserModal from '@/components/server/users/EditSubuserModal'; +import { faUnlockAlt } from '@fortawesome/free-solid-svg-icons/faUnlockAlt'; +import { faUserLock } from '@fortawesome/free-solid-svg-icons/faUserLock'; +import classNames from 'classnames'; interface Props { subuser: Subuser; @@ -28,10 +31,29 @@ export default ({ subuser }: Props) => {

{subuser.email}

+
+

+   + +   +

+

2FA Enabled

+
+
+

+ {subuser.permissions.filter(permission => permission !== 'websocket.*').length} +

+

Permissions

+