File manager - Edit - /var/www/html/portalHomolog/app/Http/Services/TurisAngra/Guias/GuiaService.php
Back
<?php namespace App\Http\Services\TurisAngra\Guias; use App\Models\TurisAngra\Guias\Guia; use App\Models\Endereco; use App\Models\User; use App\Models\Permissao; use App\Http\Controllers\Controller; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use App\Http\Requests\TurisAngra\GuiaRequest; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Session; class GuiaService extends Controller { protected $Endereco = Endereco::class; protected $Guia = Guia::class; protected $User = User::class; protected $Permissao = Permissao::class; public function index(Request $request): LengthAwarePaginator { $paginate = 20; if ($request->filled('q')) { $request->validate([ 'q' => 'nullable|string|max:255', ]); $users = $this->User::select("id") ->where(function ($query) use ($request) { $q = trim($request->q); $query->where('firstName', 'like', "%{$q}%") ->orWhere('lastName', 'like', "%{$q}%") ->orWhere('matriculation', 'like', "%{$q}%") ->orWhere('email', 'like', "%{$q}%") ->orWhere('cpf', 'like', "%" . $this->clearCpfCnpj($q) . "%"); }) ->pluck('id'); return $this->Guia::whereIn('owner_id', $users) ->orderByDesc('created_at') ->paginate($paginate); } return $this->Guia::orderByDesc('created_at')->paginate($paginate); } public function verify(Request $request): RedirectResponse { if (!$this->validaCPF($request->cpf)) { return redirect()->back()->withInput()->with('error', '* CPF inválido!'); } $cpf = preg_replace('/[^0-9]/', '', $request->cpf); $user = $this->User::where('cpf', $cpf)->first(); if ($user) { $guia = $this->Guia::firstOrCreate([ 'owner_id' => $user->id, 'cadastur' => '', 'categoria' => '', ]); return redirect()->route('admin.guias.edit', $guia->id) ->with('success', 'Usuário encontrado. Você pode editar os dados do guia.'); } Session::put('cpfTmp', $request->cpf); return redirect()->route('admin.guias.create') ->with('info', 'Usuário não encontrado. Você pode cadastrar um novo guia.'); } public function store(GuiaRequest $request, Array $user_array, Array $permissao_array, Array $endereco_array, Array $guia_array): RedirectResponse { try { DB::beginTransaction(); $user = $this->User::create($user_array); $permissao_array["user_id"] = $user->id; $this->Permissao::create($permissao_array); $endereco_array["owner_id"] = $user->id; $this->Endereco::create($endereco_array); $guia_array["owner_id"] = $user->id; $this->Guia::create($guia_array); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/guias?page={$page}")->with("success", __("* O guia turístico {$request->firstName} {$request->firstName} foi criado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar criar este guia turístico. ' . $e->getMessage()); } } public function show(Guia $guia): Guia { return $guia; } public function update(GuiaRequest $request, Guia $guia, Array $guia_array, Array $endereco_array, Array $user_array): RedirectResponse { try { DB::beginTransaction(); $guia->fill($guia_array); $guia->save(); $endereco = $this->Endereco::where("id", $guia->endereco->id)->first(); $endereco->fill($endereco_array); $endereco->save(); $guia->user->fill($user_array); $guia->user->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/guias?page={$page}")->with("success", "* O guia turístico {$guia->user->firstName} foi atualizado com sucesso!"); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar atualizar este guia turístico. ' . $e->getMessage()); } } public function destroy(Request $request, Guia $guia): RedirectResponse { try { DB::beginTransaction(); $this->Guia::destroy($guia->id); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/guias?page={$page}")->with("success", __("* O guia turístico {$guia->user->firstName} 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 guia turístico. ' . $e->getMessage()); } } public function status(Request $request, Guia $guia): RedirectResponse { try { DB::beginTransaction(); $guia->fill([ 'status' => $request->checkStatus ]); $guia->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/guias?page={$page}")->with("success", __("* O status do guia turístico {$guia->user->firstName} foi alterado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar alterar o status deste guia turístico. ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings