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