public function allowUpdateRole() { if (Acl::isGuard()) { $authUser = AclUser::find(Auth::id()); if (!in_array($this->role_type, $authUser->user_types)) { return false; } } return true; }
public function getPermission($resource, array $ids = []) { $result = new AclPermission($resource); if ($ids) { $result = $result->newSubPermission($ids); } $authUser = AclUser::find(Auth::id()); $roles = $this->getRoles($authUser->roles, [], [$resource]); foreach ($roles as $role) { $permissions = $role->permissions->keyBy('resource'); if (isset($permissions[$resource])) { $result = $result->mergePermission($permissions[$resource]->newSubPermission($ids)); } } return $result; }