public function allowUpdateRole() { if (Acl::isGuard()) { $authUser = AclUser::find(Auth::id()); if (!in_array($this->role_type, $authUser->user_types)) { return false; } } return true; }
private static function _registerDeletingPermissions() { static::deleting(function ($model) { if (Acl::isGuard()) { $class = get_class($model); $id = $model[$model->getAclKey()]; $result = Acl::check($class . '.delete', [$id]); if (!$result) { throw new NoPermissionsException("No Permission to delete {$class} id:" . $id); } return $result; } }); static::deleting(function ($model) { if (Acl::isGuard()) { $result = $this->checkDeletingPermissions($model); if (!$result) { $id = $model[$model->getAclKey()]; throw new NoPermissionsException("No Permission to delete {$class} id:" . $id); } return $result; } }); }