get(); $permissions = Permission::all(); return view('role.index', compact('roles', 'permissions')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['name' => 'required|unique:roles']); if( Role::create($request->only('name', 'guard_name')) ) { flash('Role Added'); } return redirect()->back(); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { if($role = Role::findOrFail($id)) { // admin role has everything // if($role->name === 'Admin') { // $role->syncPermissions(Permission::all()); // return redirect()->route('roles.index'); // } $permissions = $request->get('permissions', []); $role->syncPermissions($permissions); flash( $role->name . ' permissions has been updated.'); } else { flash()->error( 'Role with id '. $id .' note found.'); } return redirect()->route('roles.index'); } }