From cbb3c156a6a675c4890b82d062b5f0f170c5a1d1 Mon Sep 17 00:00:00 2001 From: JaguarJack Date: Wed, 10 May 2023 16:51:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=AE=A4=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/User/Models/Traits/UserRelations.php | 11 ++++------- modules/User/Models/User.php | 3 ++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/User/Models/Traits/UserRelations.php b/modules/User/Models/Traits/UserRelations.php index 203da2f..82d6f94 100644 --- a/modules/User/Models/Traits/UserRelations.php +++ b/modules/User/Models/Traits/UserRelations.php @@ -63,18 +63,14 @@ trait UserRelations $permissions = $permissionsModel->get(); } else { $permissions = Collection::make(); - - app($this->getRolesModel())->with(['permissions'])->get() - + $this->roles()->with('permissions')->get() ->each(function ($role) use (&$permissions) { $permissions = $permissions->concat($role->permissions); }); - $permissions = $permissions->unique(); } $this->setAttribute('permissions', $permissions->each(fn ($permission) => $permission->setAttribute('hidden', $permission->isHidden()))); - return $this; } @@ -103,14 +99,15 @@ trait UserRelations if ($permission->isAction()) { [$controller, $action] = explode('@', $permission->permission_mark); - $actions->add(CatchAdmin::getModuleControllerNamespace($permission->module).$controller.'Controller@'.$action); + $actions->add(CatchAdmin::getModuleControllerNamespace($permission->module). ucfirst($controller).'Controller@'.$action); } }); + // 自定义权限判断 if ($permission) { [$module, $controller, $action] = explode('@', $permission); - $permission = CatchAdmin::getModuleControllerNamespace($module).$controller.'Controller@'.$action; + $permission = CatchAdmin::getModuleControllerNamespace($module). ucfirst($controller) .'Controller@'.$action; } return $actions->contains($permission ?: Route::currentRouteAction()); diff --git a/modules/User/Models/User.php b/modules/User/Models/User.php index 509022b..71fbde7 100644 --- a/modules/User/Models/User.php +++ b/modules/User/Models/User.php @@ -73,7 +73,8 @@ class User extends Model implements AuthenticatableContract protected function DepartmentId(): Attribute { return new Attribute( - get: fn($value) => $value ? : null + get: fn($value) => $value ? : null, + set: fn($value) => $value ? : 0 ); }