/** * 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'); }