Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
middleware(['auth']); $this->middleware('verified'); $this->section = new \stdClass(); $this->section->title = 'Roles'; $this->section->heading = 'Roles'; $this->section->slug = 'roles'; $this->section->folder = 'roles'; } /** * Display a listing of the resource. */ public function index() { // $section = $this->section; $roles = Role::with(['user'])->get(); return view($section->folder.'.index', compact('roles', 'section')); } /** * Show the form for creating a new resource. */ public function create() { // checkPermission('create-role'); $role = []; $section = $this->section; $section->heading = 'Roles'; $section->title = 'Create Roles'; $section->method = 'POST'; $section->route = $section->slug.'.store'; $permissions = Permission::get(); $rolePermissions = []; return view($section->folder.'.form',compact('section', 'role','permissions','rolePermissions')); } /** * Store a newly created resource in storage. */ public function store(StoreRoleRequest $request) { $section = $this->section; //define custom validation messages for validator $validationMessages = [ 'name.unique' => 'Role name already exist. Please enter a unique role name', ]; // validate user input $validator = Validator::make($request->all(), [ 'name' => 'required|string|unique:roles,name' ], $validationMessages); //validation fails if ($validator->fails()) { return redirect()->back()->withInput($request->input())->withErrors($validator); } else { $request->request->add([ 'name'=>$request->name, 'user_id'=>auth()->user()->id ]); $request->request->add(['author_id'=>auth()->user()->id,'author_ip' =>$request->ip()]); $role = Role::create($request->all()); if($request->has('permissions')){ foreach ($request->permissions as $permission){ $item = RolePermission::create([ 'role_id' => $role->id, 'permission_id' => $permission, 'user_id' => $request->user_id, 'author_id'=>auth()->user()->id, 'author_ip' =>$request->ip() ]); } } $request->session()->flash('success', 'Record has been added successfully.'); return redirect()->route($section->slug.'.index'); } // } /** * Display the specified resource. */ public function show(Role $role) { // } /** * Show the form for editing the specified resource. */ public function edit(Role $role) { checkPermission('update-role'); $section = $this->section; $section->heading = 'Roles'; $section->title = 'Edit Role'; $section->method = 'PUT'; $section->route = [$section->slug.'.update', $role]; $permissions = Permission::get(); $rolePermissions = RolePermission::where('role_id', $role->id)->pluck('permission_id')->toArray(); return view($section->folder.'.form', compact('role', 'section', 'permissions', 'rolePermissions')); } /** * Update the specified resource in storage. */ public function update(UpdateRoleRequest $request, Role $role) { $section = $this->section; //define custom validation messages for validator $validationMessages = [ 'name.unique' => 'Role name already exist. Please enter a unique role name', ]; // validate user input $validator = Validator::make($request->all(), [ 'name' => 'string|unique:roles,name,'. $role->id . ',id', ], $validationMessages); //validation fails if ($validator->fails()) { return redirect()->back()->withInput($request->input())->withErrors($validator); } else { $request->request->add(['user_id'=>auth()->user()->id]); if($request->has('permissions')){ RolePermission::where('role_id', $role->id)->delete(); foreach ($request->permissions as $permission){ $item = RolePermission::create([ 'role_id' => $role->id, 'permission_id' => $permission, 'user_id' => $request->user_id, 'author_id'=>auth()->user()->id, 'author_ip' =>$request->ip() ]); } } $role->update($request->all()); $request->session()->flash('alert-success', 'Record has been updated successfully.'); return redirect()->route($section->slug . '.index'); } } /** * Remove the specified resource from storage. */ public function destroy(Role $role) { // $section = $this->section; RolePermission::where('role_id', $role->id)->delete(); $role->delete(); request()->session()->flash('alert-success', 'Record has been deleted successfully.'); return redirect()->route($section->slug.'.index'); // return redirect()->route($section->slug.'.index')->with('alert-success', 'Record has been Delete successfully.'); } }