/**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function updateRole($id, Request $request)
 {
     $level = "danger";
     $message = " You are not permitted to update permissions.";
     if (Shinobi::can(config('watchtower.acl.permission.role', false))) {
         $permission = Permission::findOrFail($id);
         if ($request->has('slug')) {
             $permission->roles()->sync($request->get('slug'));
         } else {
             $permission->roles()->detach();
         }
         $level = "success";
         $message = "<i class='fa fa-check-square-o fa-1x'></i> Success! Permission roles edited.";
     }
     return redirect()->route('watchtower.permission.index')->with(['flash' => ['message' => $message, 'level' => $level]]);
 }
Example #2
0
 /**
  * A full matrix of roles and permissions.
  * @return Response
  */
 public function showRoleMatrix()
 {
     if (Shinobi::can(config('watchtower.acl.role.viewmatrix', false))) {
         $roles = Role::all();
         $perms = Permission::all();
         $prs = DB::table('permission_role')->select('role_id as r_id', 'permission_id as p_id')->get();
         $pivot = [];
         foreach ($prs as $p) {
             $pivot[] = $p->r_id . ":" . $p->p_id;
         }
         return view(config('watchtower.views.roles.rolematrix'), compact('roles', 'perms', 'pivot'));
     }
     return view(config('watchtower.views.layouts.unauthorized'), ['message' => 'view the role matrix']);
 }