/** * 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 }
/** * Eloquent 'deleting' event method. * * @param \Arcanedev\LaravelAuth\Models\PermissionsGroup|PermissionsGroup $group */ public function deleting(PermissionsGroup $group) { $group->detachAllPermissions(false); $this->event->fire('auth.permission-groups.deleting', compact('group')); }