adminService = $adminService; } /** * This function is returning the Datatable columns response * * @param Request $request * @return array|object */ public function getUserListing(Request $request) { $response = []; try { $response = $this->adminService->getForDataTable($request->all()); } catch (Exception $ex) { Log::error($ex->getMessage()); } return $response; } /** * This function is for to get listing of user * * @return Factory|View */ public function index() { try { } catch (Exception $ex) { Log::error($ex->getMessage()); } return view('backend.admin.list'); } /** * This function is for to get create form of user * * @return Factory|View */ public function create() { try { $roles = Role::pluck('name', 'id'); } catch (Exception $ex) { Log::error($ex->getMessage()); } return view('backend.admin.create', compact('roles')); } /** * This function is for to create user * * @param AdminStoreRequest $request * @return Application|RedirectResponse|Redirector */ public function store(AdminStoreRequest $request) { try { $response = $this->adminService->create($request->all()); if ($response) { return redirect(route('admin.admin.user.index')) ->with('flash_success', __('message.create_admin_success')); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return redirect()->back()->with('flash_error', __('message.create_admin_error')); } /** * This function is for get detail view of user * * @param User $user * @return Factory|View */ public function show(User $user) { return view('backend.admin.details',compact('user')); } /** * This function is for to edit user * * @param User $user * @return Factory|View */ public function edit(User $user) { try { $roles = Role::pluck('name', 'id'); } catch (Exception $ex) { Log::error($ex->getMessage()); } return view('backend.admin.edit', compact('user', 'roles')); } /** * This function is for update user * * @param AdminUpdateRequest $request * @param User $user * @return Application|Redirector|RedirectResponse */ public function update(AdminUpdateRequest $request, User $user) { try { $response = $this->adminService->update($user, $request->all()); if ($response) { return redirect(route('admin.admin.user.index')) ->with('flash_success', __('message.update_admin_success')); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return redirect()->back()->with('flash_error', __('message.update_admin_error')); } /** * This function is for delete user * * @param User $user * @return JsonResponse */ public function destroy(User $user): JsonResponse { try { if (request()->user()->cannot('destroy', $user)) { return response()->json(['error' => true, 'message' => __('message.access_denied')]); } $user->removeRole($user->roles[0]->id); $response = $user->forceDelete(); if ($response) { return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.delete_admin_success')]); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.delete_admin_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->adminService->gridActions($actionType, $checkedRecords); if ($updateStatus) { return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.update_admin_success')]); } } catch (Exception $ex) { Log::error($ex->getMessage()); } return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.something_went_wrong')]); } }