コード例 #1
0
 public function detachRole(Permission $permission, Role $role)
 {
     self::onlyAjax();
     $this->authorize(PermissionsPolicy::PERMISSION_UPDATE);
     try {
         $permission->detachRole($role, false);
         $title = 'Role detached !';
         $message = "The role {$role->name} has been successfully detached from {$permission->name} !";
         Log::info($message, compact('permission', 'role'));
         $this->notifySuccess($message, $title);
         $ajax = ['status' => 'success', 'message' => $message];
     } catch (\Exception $e) {
         $ajax = ['status' => 'error', 'message' => $e->getMessage()];
     }
     return response()->json($ajax);
 }
コード例 #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
 }
コード例 #3
0
 public function deleting(Permission $permission)
 {
     $permission->roles()->detach();
     $this->event->fire('auth.permissions.deleting', compact('permission'));
 }