roleService = $roleService; } /** * This function is returning the Datatable columns response * * @param Request $request * @return array|object */ public function getRoleListing(Request $request) { $response = []; try { $response = $this->roleService->getForDataTable($request->all()); } catch (Exception $ex) { Log::error($ex->getMessage()); } return $response; } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { try { } catch (Exception $ex) { Log::error($ex->getMessage()); } return view('backend.role.list'); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // try { $permission = Permission::all(); $permissions = []; foreach ($permission as $key => $value) { $permissions[$value->type][] = $value; } } catch (Exception $ex) { Log::error($ex->getMessage()); } return view('backend.role.create', compact('permissions')); } /** * Store a newly created resource in storage. * * @param \App\Http\Requests\StoreRoleRequest $request * @return \Illuminate\Http\Response */ public function store(StoreRoleRequest $request) { // try { $response = $this->roleService->create($request->all()); if ($response) { return redirect(route('admin.roles.index')) ->with('flash_success', __('message.create_role_success')); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return redirect()->back()->with('flash_error', __('message.create_role_error')); } /** * Display the specified resource. * * @param \App\Models\Role $role * @return \Illuminate\Http\Response */ public function show(Role $role) { } /** * Show the form for editing the specified resource. * * @param \App\Models\Role $role * @return \Illuminate\Http\Response */ public function edit(Role $role) { try { $role = Role::find($role->id); $rolePermissions = $role->permissions; $rolePermissions = $rolePermissions->pluck('id')->toArray(); $permission = Permission::all(); $permissions = []; foreach ($permission as $key => $value) { $permissions[$value->type][] = $value; } // $allPermissions = $permissions; // dd($rolePermissions, $allPermissions); } catch (Exception $ex) { Log::error($ex->getMessage()); } return view('backend.role.edit', compact('role', 'permissions', 'rolePermissions')); } /** * Update the specified resource in storage. * * @param \App\Http\Requests\UpdateRoleRequest $request * @param \App\Models\Role $role * @return \Illuminate\Http\Response */ public function update(UpdateRoleRequest $request, Role $role) { try { $response = $this->roleService->update($role, $request->all()); if ($response) { return redirect(route('admin.roles.index')) ->with('flash_success', __('message.update_role_success')); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return redirect()->back()->with('flash_error', __('message.update_role_error')); } /** * Remove the specified resource from storage. * * @param \App\Models\Role $role * @return \Illuminate\Http\Response */ public function destroy(Role $role) { try { $response = $role->delete(); if ($response) { return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.delete_role_success')]); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.delete_role_error')]); } /** * This function is for the grid checkbox multiple records actions * * @param Request $request * @return JsonResponse */ public function gridRecordsAction(Request $request): JsonResponse { try { $actionType = $request->action_type ?? Constant::NULL; $checkedRecords = $request->checked_records ?? []; $updateStatus = $this->roleService->gridActions($actionType, $checkedRecords); if ($updateStatus) { return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.update_role_success')]); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.something_went_wrong')]); } }