예제 #1
0
 public function group(PermissionsGroup $group)
 {
     $this->authorize(PermissionsPolicy::PERMISSION_LIST);
     $groupId = $group->id ? $group->id : 0;
     $permissions = $this->permission->where('group_id', $groupId)->with('group', 'roles')->paginate($this->perPage);
     $groupName = $groupId == 0 ? 'Custom' : $group->name;
     $this->setTitle($title = "List of permissions - {$groupName}");
     $this->addBreadcrumbRoute('List of permissions', 'admin::auth.permissions.index');
     $this->addBreadcrumb($groupName);
     return $this->view('admin.permissions.list', compact('permissions'));
 }
예제 #2
0
 /**
  * Compose the view.
  *
  * @param  \Illuminate\Contracts\View\View  $view
  */
 public function composeFilters(View $view)
 {
     $filters = collect();
     // Permission groups
     //----------------------------------
     $groups = $this->cacheResults('permissions-groups.filters', function () {
         return PermissionsGroup::has('permissions')->get();
     });
     foreach ($groups as $group) {
         /** @var  \Arcanesoft\Auth\Models\PermissionsGroup  $group */
         $filters->put($group->slug, link_to_route('auth::foundation.permissions.group', $group->name, [$group->hashed_id]));
     }
     // Custom Permission group
     //----------------------------------
     if (Permission::where('group_id', 0)->count()) {
         $filters->put('custom', link_to_route('auth::foundation.permissions.group', 'Custom', [hasher()->encode(0)]));
     }
     $view->with('groupFilters', $filters->toArray());
     // TODO: return a collection instead of simple array
 }