BookStack\User::permissions PHP Method

permissions() public method

Get all permissions belonging to a the current user.
public permissions ( boolean $cache = true ) : Illuminate\Database\Eloquent\Relations\HasManyThrough
$cache boolean
return Illuminate\Database\Eloquent\Relations\HasManyThrough
    public function permissions($cache = true)
    {
        if (isset($this->permissions) && $cache) {
            return $this->permissions;
        }
        $this->load('roles.permissions');
        $permissions = $this->roles->map(function ($role) {
            return $role->permissions;
        })->flatten()->unique();
        $this->permissions = $permissions;
        return $permissions;
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * Give the given user some permissions.
  * @param \BookStack\User $user
  * @param array $permissions
  */
 protected function giveUserPermissions(\BookStack\User $user, $permissions = [])
 {
     $newRole = $this->createNewRole($permissions);
     $user->attachRole($newRole);
     $user->load('roles');
     $user->permissions(false);
 }