middleware('auth:admin'); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $role_permissons = PermissionRole::orderBy('id', 'desc')->get(); return view('admin.permission-roles.index', compact('role_permissons')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $roles=Role::orderBy('id', 'asc')->pluck('name', 'id')->toArray(); $departments=Department::where('status', '=', 1)->orderBy('id', 'asc')->get(); $permissions=Permission::orderBy('id', 'asc')->pluck('name', 'id')->toArray(); return view('admin.permission-roles.create', compact('roles', 'departments', 'permissions')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $validatedData = $this->validate($request, [ 'role_id' => 'required', 'permission_ids' => 'required', ]); $input = $request->all(); $exit_role_permissons = PermissionRole::where('role_id', $input['role_id'])->where('department_id', $input['department_id'])->first(); if($exit_role_permissons){ Session::flash('error_message', 'Permission already exists. You can check here.'); return redirect()->route('edit-permission-role', base64_encode($exit_role_permissons->id)); } $input['permission_ids']=json_encode($input['permission_ids']); $saved_data=PermissionRole::create($input); if($saved_data) { Session::flash('success_message', 'Permission Role has been added successfully'); return redirect()->route('permission-roles'); } else { Session::flash('error_message', 'We are having some problem. Please try later.'); return redirect()->back(); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $id=base64_decode($id); $user = PermissionRole::where('id', '=', $id)->first(); if($user): $roles=Role::orderBy('id', 'asc')->pluck('name', 'id')->toArray(); $departments=Department::where('status', '=', 1)->orderBy('id', 'asc')->get(); $permissions=Permission::orderBy('id', 'asc')->pluck('name', 'id')->toArray(); return view('admin.permission-roles.edit', compact('user', 'roles', 'departments', 'permissions')); else: Session::flash('error_message', 'Invalid Permission Role id.'); return redirect()->back(); endif; } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $id=base64_decode($id); $permission = PermissionRole::findOrFail($id); $validatedData = $this->validate($request, [ 'role_id' => 'required', 'permission_ids' => 'required', ]); $input = $request->all(); $exit_role_permissons = PermissionRole::where('role_id', $input['role_id'])->where('department_id', $input['department_id'])->where('id', '<>', $id)->first(); if($exit_role_permissons){ Session::flash('error_message', 'Permission already exists. You can check here.'); return redirect()->route('edit-permission-role', base64_encode($exit_role_permissons->id)); } $input['permission_ids']=json_encode($input['permission_ids']); $saved_data=$permission->fill($input)->save(); if($saved_data): Session::flash('success_message', 'Permission Role has been updated successfully'); return redirect()->route('permission-roles'); else: Session::flash('error_message', 'We are having some problem. Please try later.'); return redirect()->back(); endif; } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $id=base64_decode($id); $delete_role = PermissionRole::where('id', $id)->delete(); if($delete_role): Session::flash('success_message', 'Permission Role has been deleted successfully'); return redirect()->route('permissions'); else: Session::flash('error_message', 'We are having some problem. Please try later.'); return redirect()->route('permissions'); endif; } }