authorize('viewAny', PickupException::class); $query = PickupException::query(); $dataTable->sortQuery(PickupException::class, $query); $pickupExceptions = $dataTable->paginateQuery($query); return view('bo.pickup-exceptions.index', compact('pickupExceptions')); } public function create(): View { $this->authorize('create', PickupException::class); return view('bo.pickup-exceptions.create'); } public function store(StorePickupExceptionRequest $request): RedirectResponse { $this->authorize('create', PickupException::class); return DB::transaction(function () use ($request) { $pickupException = new PickupException(); $pickupException->fill($request->only( $pickupException->getFillable() )); $pickupException->setAsManuallySaved(); if ($pickupException->saveOrFail()) { return to_route('bo.pickup-exceptions.edit', $pickupException) ->with('success', trans('crud.messages.has_been_created', [ 'model' => Str::ucfirst(trans_choice('models.classes.pickup-exceptions', 1)), ])); } return to_route('bo.pickup-exceptions.create') ->with('error', trans('crud.messages.cannot_be_created', [ 'model' => Str::ucfirst(trans_choice('models.classes.pickup-exceptions', 1)), ])); }); } public function edit(PickupException $pickupException): View { $this->authorize('update', $pickupException); return view('bo.pickup-exceptions.edit', compact('pickupException')); } public function update(UpdatePickupExceptionRequest $request, PickupException $pickupException): RedirectResponse { $this->authorize('update', $pickupException); return DB::transaction(function () use ($request, $pickupException) { $pickupException->fill($request->only( $pickupException->getFillable() )); $pickupException->setAsManuallySaved(); if ($pickupException->saveOrFail()) { return to_route('bo.pickup-exceptions.edit', $pickupException) ->with('success', trans('crud.messages.has_been_updated', [ 'model' => Str::ucfirst(trans_choice('models.classes.pickup-exceptions', 1)), ])); } return to_route('bo.pickup-exceptions.edit', $pickupException) ->with('error', trans('crud.messages.cannot_be_updated', [ 'model' => Str::ucfirst(trans_choice('models.classes.pickup-exceptions', 1)), ])); }); } public function destroy(PickupException $pickupException): RedirectResponse { $this->authorize('delete', $pickupException); return DB::transaction(function () use ($pickupException) { if ($pickupException->deleteOrFail()) { return to_route('bo.pickup-exceptions.index') ->with('warning', trans('crud.messages.has_been_deleted', [ 'model' => Str::ucfirst(trans_choice('models.classes.pickup-exceptions', 1)), ])); } return to_route('bo.pickup-exceptions.edit', $pickupException) ->with('error', trans('crud.messages.cannot_be_deleted', [ 'model' => Str::ucfirst(trans_choice('models.classes.pickup-exceptions', 1)), ])); }); } }