From bc45ab6be8f6d31b6dbdc0f09dc1326b542e3af9 Mon Sep 17 00:00:00 2001 From: JaguarJack <82664165@qq.com> Date: Sun, 26 Sep 2021 20:35:57 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E8=8E=B7=E5=8F=96=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/permissions/controller/Role.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/catch/permissions/controller/Role.php b/catch/permissions/controller/Role.php index 7552f1b..c59f505 100644 --- a/catch/permissions/controller/Role.php +++ b/catch/permissions/controller/Role.php @@ -170,14 +170,15 @@ class Role extends CatchController */ public function getPermissions($id): Json { - if (Utils::isSuperAdmin()) { - return CatchResponse::success(Permissions::field(['id', 'parent_id', 'permission_name'])->select()->toTree()); + $permissionIds = $this->role->findBy($id)->getPermissions()->column('id'); + + if (! count($permissionIds)) { + $permissions = Permissions::field(['id', 'parent_id', 'permission_name'])->select()->toTree(); + } else { + $permissions = Permissions::whereIn('id', $permissionIds)->field(['id', 'parent_id', 'permission_name'])->select()->toTree(); + } - return CatchResponse::success( - Permissions::whereIn('id', $this->role->findBy($id)->getPermissions()->column('id')) - ->field(['id', 'parent_id', 'permission_name']) - ->select()->toTree() - ); + return CatchResponse::success($permissions); } }