authorizeResource(BannedIp::class); } /** * Display a listing of the resource. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Contracts\View\View */ public function index(Request $request): \Illuminate\Contracts\View\View { /** @var \Illuminate\Database\Eloquent\Builder $bannedipModels */ $bannedipModels = BannedIp::query(); /** @var string $search Search field */ $search = $request->search; if ($search) { $this->searchQuery( $bannedipModels, $search, null, 'ip', ); } $searchFields = trans('validation.custom.ip'); /** Sort columns with a query */ $this->sortQuery($bannedipModels); /** Custom pagination */ $bannedipModels = $this->paginate($bannedipModels); return view('back::pages.banned-ips.index', compact('bannedipModels', 'search', 'searchFields')); } /** * Show the form for creating a new resource. * * @param \App\Models\BannedIp $banned_ip * @return \Illuminate\Contracts\View\View */ public function create(BannedIp $banned_ip): \Illuminate\Contracts\View\View { return view('back::pages.banned-ips.create', [ 'bannedipModel' => $banned_ip, ]); } /** * Store a newly created resource in storage. * * @param \App\Http\Requests\Bo\BannedIps\StoreBannedIpRequest $request * @return \Illuminate\Http\RedirectResponse */ public function store(StoreBannedIpRequest $request): \Illuminate\Http\RedirectResponse { return DB::transaction(function () use ($request) { $banned_ip = new BannedIp(); $banned_ip->fill($request->validated()); if ($banned_ip->saveOrFail()) { return redirect() ->route('bo.banned_ips.edit', $banned_ip) ->with('success', trans( 'crud.messages.has_been_created', ['model' => Str::singular(trans('models.classes.banned_ips'))] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', ['model' => Str::singular(trans('models.classes.banned_ips'))] )); }); } /** * Show the form for editing the specified resource. * * @param \App\Models\BannedIp $banned_ip * @return \Illuminate\Contracts\View\View */ public function edit(BannedIp $banned_ip): \Illuminate\Contracts\View\View { return view('back::pages.banned-ips.edit', [ 'bannedipModel' => $banned_ip, ]); } /** * Update the specified resource in storage. * * @param \App\Http\Requests\Bo\BannedIps\UpdateBannedIpRequest $request * @param \App\Models\BannedIp $banned_ip * @return \Illuminate\Http\RedirectResponse */ public function update(UpdateBannedIpRequest $request, BannedIp $banned_ip): \Illuminate\Http\RedirectResponse { return DB::transaction(function () use ($request, $banned_ip) { $banned_ip->fill($request->validated()); if ($banned_ip->saveOrFail()) { return redirect() ->route('bo.banned_ips.edit', $banned_ip) ->with('success', trans( 'crud.messages.has_been_updated', ['model' => Str::singular(trans('models.classes.banned_ips'))] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', ['model' => Str::singular(trans('models.classes.banned_ips'))] )); }); } /** * Remove the specified resource from storage. * * @param \App\Models\BannedIp $banned_ip * @return \Illuminate\Http\RedirectResponse */ public function destroy(BannedIp $banned_ip): \Illuminate\Http\RedirectResponse { return DB::transaction(function () use ($banned_ip) { if ($banned_ip->deleteOrFail()) { return redirect() ->route('bo.banned_ips.index') ->with('success', __( 'crud.messages.has_been_deleted', ['model' => Str::singular(trans('models.classes.banned_ips'))] )); } return redirect() ->back() ->with('error', __( ':crud.messages.cannot_be_deleted', ['model' => Str::singular(trans('models.classes.banned_ips'))] )); }); } }