]> BookStack Code Mirror - bookstack/blobdiff - app/Role.php
Improved permission regen performance by factor of 4
[bookstack] / app / Role.php
index 45d160cfebec93d6d215986dac5e66753c0dc81d..3b930d113259af4105b5e1e68b6cdedb28c12e17 100644 (file)
@@ -1,8 +1,5 @@
-<?php
+<?php namespace BookStack;
 
-namespace BookStack;
-
-use Illuminate\Database\Eloquent\Model;
 
 class Role extends Model
 {
@@ -36,11 +33,16 @@ class Role extends Model
 
     /**
      * Check if this role has a permission.
-     * @param $permission
+     * @param $permissionName
+     * @return bool
      */
-    public function hasPermission($permission)
+    public function hasPermission($permissionName)
     {
-        return $this->permissions->pluck('name')->contains($permission);
+        $permissions = $this->getRelationValue('permissions');
+        foreach ($permissions as $permission) {
+            if ($permission->getRawAttribute('name') === $permissionName) return true;
+        }
+        return false;
     }
 
     /**