]> BookStack Code Mirror - bookstack/commitdiff
Permissions: Fixed check method to allow enum usage
authorDan Brown <redacted>
Wed, 10 Sep 2025 09:44:54 +0000 (10:44 +0100)
committerDan Brown <redacted>
Wed, 10 Sep 2025 09:44:54 +0000 (10:44 +0100)
app/Permissions/PermissionApplicator.php

index 47f30c8f949376fd8fbdea3b33c765e980391513..23fdcfda9e563556d025b2594f577a1a108fea45 100644 (file)
@@ -76,12 +76,13 @@ class PermissionApplicator
      * Checks if a user has the given permission for any items in the system.
      * Can be passed an entity instance to filter on a specific type.
      */
-    public function checkUserHasEntityPermissionOnAny(string $action, string $entityClass = ''): bool
+    public function checkUserHasEntityPermissionOnAny(string|Permission $action, string $entityClass = ''): bool
     {
-        $this->ensureValidEntityAction($action);
+        $permissionName = is_string($action) ? $action : $action->value;
+        $this->ensureValidEntityAction($permissionName);
 
         $permissionQuery = EntityPermission::query()
-            ->where($action, '=', true)
+            ->where($permissionName, '=', true)
             ->whereIn('role_id', $this->getCurrentUserRoleIds());
 
         if (!empty($entityClass)) {