File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/TurisAngra/Guias/GuiasController.php
Back
<?php namespace App\Http\Controllers\TurisAngra\Guias; use App\Enums\StatusPermission; use App\Http\Controllers\Controller; use App\Http\Requests\TurisAngra\Guias\GuiaRequest; use App\Http\Services\TurisAngra\Guias\GuiaService; use App\Models\TurisAngra\Guias\Guia; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Illuminate\View\View; class GuiasController extends Controller { private string $permissao = StatusPermission::GERENCIADOR_DE_GUIAS_TURISTICOS->name; public function index(Request $request): View|LengthAwarePaginator|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } $service = new GuiaService(); $guias = $service->index($request); return view('admin.guias.index', compact('guias')); } public function verify(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } if ($request->isMethod('post')) { $request->validate( [ 'cpf' => 'required|string|max:14|regex:/^\d{3}\.\d{3}\.\d{3}-\d{2}$/', ], [ 'cpf.required' => __('* O CPF é obrigatório!'), 'cpf.string' => __('* Formato de CPF inválido!'), 'cpf.max' => __('* O CPF deve possuir 14 caracteres (com pontos e traço)!'), 'cpf.regex' => __('* O CPF deve estar no formato xxx.xxx.xxx-xx!'), ] ); $service = new GuiaService(); return $service->verify($request); } return view('admin.guias.verify'); } public function create(): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.guias.create'); } public function store(GuiaRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } $fullname = $this->resolveFullname($request->fullName); $permissao_array = [ 'user_id' => null, 'permissao' => $this->setPermissions('GUEST'), 'visualizar' => true, 'adicionar' => true, 'editar' => true, 'excluir' => true, 'status' => $request->status, ]; $user_array = [ 'structure_id' => null, 'firstName' => $fullname['firstName'], 'lastName' => $fullname['lastName'], 'cpf' => $this->clearCPF($request->cpf), 'phoneNumber' => $request->phoneNumber, 'email' => $request->email, 'photo' => $this->getPathImageUser($request), 'password' => Hash::make($request->password), 'isPasswordDefault' => 1, 'status' => $request->status, ]; $endereco_array = [ 'user_id' => Auth::user()->id, 'owner_id' => null, 'domicilio' => 'OUTROS', 'cep' => $request->cep, 'logradouro' => $request->logradouro, 'numero' => $request->numero, 'complemento' => $request->complemento ?? null, 'cidade' => $request->cidade, 'bairro' => $request->bairro, 'uf' => $request->uf, 'status' => $request->status, 'latitude' => $request->latitude, 'longitude' => $request->longitude, 'comprovante' => $this->getPathImageComprovanteResidencia($request), ]; if ($request->categoria !== 'OUTROS') { $request->merge([ 'categoriaOutros' => '', ]); } $guia_array = [ 'owner_id' => null, 'cadastur' => $request->cadastur, 'categoria' => $request->categoria, 'categoriaOutros' => $request->categoriaOutros, 'status' => $request->status, ]; $service = new GuiaService(); return $service->store($request, $user_array, $permissao_array, $endereco_array, $guia_array); } public function edit(Guia $guia): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.guias.edit', [ 'guia' => $guia, ]); } public function update(GuiaRequest $request, Guia $guia): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $fullname = $this->resolveFullname($request->fullName); $user_array = [ 'firstName' => $fullname['firstName'], 'lastName' => $fullname['lastName'], 'phoneNumber' => $request->phoneNumber, 'email' => $request->email, 'photo' => $this->getPathImageUser($request, $guia->user), ]; $resetPasswordCheckbox = $request->resetPasswordCheckbox ??= 'off'; if ($resetPasswordCheckbox === 'on') { $user_array['password'] = bcrypt($request->password); $user_array['isPasswordDefault'] = 1; } $endereco_array = [ 'domicilio' => $request->domicilio, 'cep' => $request->cep, 'logradouro' => $request->logradouro, 'numero' => $request->numero, 'complemento' => $request->complemento ?? null, 'cidade' => $request->cidade, 'bairro' => $request->bairro, 'uf' => $request->uf, 'status' => $request->status, 'latitude' => $request->latitude, 'longitude' => $request->longitude, 'comprovante' => $this->getPathImageComprovanteResidencia($request, $guia->endereco), ]; if ($request->categoria !== 'OUTROS') { $request->merge([ 'categoriaOutros' => '', ]); } $guia_array = [ 'cadastur' => $request->cadastur, 'categoria' => $request->categoria, 'categoriaOutros' => $request->categoriaOutros, 'status' => $request->status, ]; $service = new GuiaService(); return $service->update($request, $guia, $guia_array, $endereco_array, $user_array); } public function destroy(Request $request, Guia $guia): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } $service = new GuiaService(); return $service->destroy($request, $guia); } public function status(Request $request, Guia $guia): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $service = new GuiaService(); return $service->status($request, $guia); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings