diff --git a/modules/User/Models/Traits/UserRelations.php b/modules/User/Models/Traits/UserRelations.php index 82d6f94..a7bb003 100644 --- a/modules/User/Models/Traits/UserRelations.php +++ b/modules/User/Models/Traits/UserRelations.php @@ -58,16 +58,16 @@ trait UserRelations /* @var Permissions $permissionsModel */ $permissionsModel = app($this->getPermissionsModel()); - if ($this->isSuperAdmin()) { $permissions = $permissionsModel->get(); } else { - $permissions = Collection::make(); + $permissionIds = Collection::make(); $this->roles()->with('permissions')->get() - ->each(function ($role) use (&$permissions) { - $permissions = $permissions->concat($role->permissions); + ->each(function ($role) use (&$permissionIds) { + $permissionIds = $permissionIds->concat($role->permissions?->pluck('id')); }); - $permissions = $permissions->unique(); + + $permissions = $permissionsModel->whereIn('id', $permissionIds->unique())->get(); } $this->setAttribute('permissions', $permissions->each(fn ($permission) => $permission->setAttribute('hidden', $permission->isHidden()))); diff --git a/modules/User/Models/User.php b/modules/User/Models/User.php index a6be209..b782159 100644 --- a/modules/User/Models/User.php +++ b/modules/User/Models/User.php @@ -99,7 +99,7 @@ class User extends Model implements AuthenticatableContract if (empty($data['password'])) { unset($data['password']); } - + return parent::updateBy($id, $data); } }