File manager - Edit - /var/www/html/portal/app/Http/Services/TurisAngra/VisiteAngra/PontoService.php
Back
<?php namespace App\Http\Services\TurisAngra\VisiteAngra; use App\Http\Controllers\Controller; use App\Models\TurisAngra\VisiteAngra\Ponto; use App\Models\TurisAngra\VisiteAngra\Corredor; use App\Models\TurisAngra\VisiteAngra\Categoria; use Illuminate\Database\Eloquent\Collection; use App\Http\Requests\TurisAngra\VisiteAngra\PontoRequest; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; class PontoService extends Controller { protected $Ponto = Ponto::class; protected $Corredor = Corredor::class; protected $Categoria = Categoria::class; public function index(Request $request): LengthAwarePaginator { $paginate = 20; if ($request->filled('q')) { $request->validate([ 'q' => 'nullable|string|max:255', ]); return $this->Ponto::select('pontos.*') ->where(function ($query) use ($request) { $q = trim($request->q); $query->where('pontos.ponto', 'like', "%{$q}%") ->orWhere('pontos.subtitulo', 'like', "%{$q}%") ->orWhere('pontos.categorias', 'like', "%{$q}%") ->orWhere('pontos.descricao', 'like', "%{$q}%"); }) ->orderBy('pontos.ponto', 'asc') ->orderBy('pontos.subtitulo', 'asc') ->paginate($paginate); } return $this->Ponto::orderBy('pontos.ponto', 'asc') ->orderBy('pontos.subtitulo', 'asc') ->paginate($paginate); } public function getCorredores() : Collection { return $this->Corredor::where("status", "ATIVADO") ->orderBy("corredor")->get(); } public function getCategoriaWithTipo($tipo) : Collection { return $this->Categoria::where([ ["status", "ATIVADO"], ["tipo", $tipo], ])->orderBy("categoria")->get(); } public function store(PontoRequest $request, Array $array_ponto): RedirectResponse { try { DB::beginTransaction(); Ponto::create($array_ponto); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/pontos?page={$page}")->with("success", __("* O ponto turístico {$request->ponto} foi cadastrado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar cadastrar este ponto turístico. ' . $e->getMessage()); } } public function update(PontoRequest $request, Ponto $ponto, Array $array_ponto): RedirectResponse { try { DB::beginTransaction(); $ponto->fill($array_ponto); $ponto->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/pontos?page={$page}")->with("success", __("* Ponto turístico atualizado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar atualizar este ponto turístico. ' . $e->getMessage()); } } public function destroy(Request $request, Ponto $ponto): RedirectResponse { try { DB::beginTransaction(); Ponto::destroy($ponto->id); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/pontos?page={$page}")->with("success", __("* O ponto turístico foi excluído com sucesso! Esta ação não pode ser desfeita!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar excluir este ponto turístico. ' . $e->getMessage()); } } public function status(Request $request, Ponto $ponto): RedirectResponse { try { DB::beginTransaction(); $ponto->fill(['status' => $request->checkStatus]); $ponto->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/pontos?page={$page}") ->with("success", __("* O status do ponto turístico foi atualizado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar alterar o status deste corredor. ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings