/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  *
  * @return Response
  */
 public function edit($id)
 {
     $roles = Role::select('id', 'name', 'label')->get();
     $user = User::with('roles')->select('id', 'name', 'email')->findOrFail($id);
     $user_roles = [];
     foreach ($user->roles as $role) {
         $user_roles[] = $role->name;
     }
     return view('admin.users.edit', compact('user', 'roles', 'user_roles'));
 }
 /**
  * Store given permissions to role.
  *
  * @param  \Illuminate\Http\Request  $request
  *
  * @return void
  */
 public function postGiveRolePermissions(Request $request)
 {
     $this->validate($request, ['role' => 'required', 'permissions' => 'required']);
     $role = Role::with('permissions')->whereName($request->role)->first();
     $role->permissions()->detach();
     foreach ($request->permissions as $permission_name) {
         $permission = Permission::whereName($permission_name)->first();
         $role->givePermissionTo($permission);
     }
     Session::flash('flash_message', 'Permission granted!');
     return redirect('admin/roles');
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  *
  * @return Response
  */
 public function destroy($id)
 {
     Role::destroy($id);
     Session::flash('flash_message', 'Role deleted!');
     return redirect('admin/roles');
 }