File manager - Edit - /var/www/html/portal/app/Http/Controllers/TurisAngra/EmpresasDeTurismo/EmpresasTurismoController.php
Back
<?php namespace App\Http\Controllers\TurisAngra\EmpresasDeTurismo; use App\Enums\StatusPermission; use App\Http\Controllers\Controller; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmbarcacaoRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresaTurismoEnderecoRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresaTurismoPrepostoRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresaTurismoProprietarioRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresaTurismoRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresaTurismoUpdateRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresaTurismoVerifyRequest; use App\Http\Requests\TurisAngra\EmpresasDeTurismo\EmpresasTurismoClipBoardRequest; use App\Http\Resources\TurisAngra\EmpresasDeTurismo\EmpresaTurismoResource; use App\Http\Services\TurisAngra\EmpresasDeTurismo\EmpresaTurismoService; use App\Models\Endereco; use App\Models\TurisAngra\EmpresasDeTurismo\Embarcacao; use App\Models\TurisAngra\EmpresasDeTurismo\EmpresaTurismo; use App\Models\User; use Barryvdh\DomPDF\Facade\Pdf; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Str; use Illuminate\View\View; class EmpresasTurismoController extends Controller { private string $permissao = StatusPermission::GERENCIADOR_DE_EMPRESAS_DE_TURISMO->name; public function __construct( private readonly EmpresaTurismoResource $resource, private readonly EmpresaTurismoService $service, ) { $this->middleware('empresasDeTurismo'); } public function index(Request $request): View|LengthAwarePaginator|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.turisAngra.empresasDeTurismo.index', [ 'empresasTurismo' => $this->resource->index($request), 'filterParams' => EmpresaTurismoResource::listFilterParamsFromRequest($request), ]); } public function verify(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } if ($request->isMethod('post')) { $verifyRequest = EmpresaTurismoVerifyRequest::createFrom($request); $verifyRequest->setContainer(app()); $verifyRequest->validateResolved(); return $this->resource->verify($request); } return view('admin.turisAngra.empresasDeTurismo.verify'); } public function create(): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->createView(); } public function store(EmpresaTurismoRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->store($request); } public function edit(EmpresaTurismo $empresaTurismo): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->editView($empresaTurismo); } public function update(EmpresaTurismoUpdateRequest $request, EmpresaTurismo $empresaTurismo): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->update($request, $empresaTurismo); } public function destroy(Request $request, EmpresaTurismo $empresaTurismo): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->destroy($request, $empresaTurismo); } public function status(Request $request, EmpresaTurismo $empresaTurismo): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->status($request, $empresaTurismo); } public function gerarFichaComprovacaoPdf(EmpresaTurismo $empresaTurismo): Response|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } if (!$empresaTurismo->companhia) { return redirect() ->route('admin.empresasDeTurismo.index') ->with('error', __('Empresa não encontrada.')); } $data = $this->resource->prepareFichaComprovacaoPdfData($empresaTurismo); $pdf = Pdf::loadView('admin.turisAngra.empresasDeTurismo.relatorios.fichaComprovacaoPdf', $data); $pdf->getDomPDF()->set_option('isRemoteEnabled', true); $nomeBase = $data['empresa']->nomeFantasia ?? $data['empresa']->razaoSocial ?? 'empresa'; $nomeArquivo = 'ficha_comprovacao_' . Str::slug($nomeBase) . '.pdf'; return $pdf->stream($nomeArquivo); } public function clipboard(EmpresaTurismo $empresaTurismo): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->clipboardView($empresaTurismo); } public function clipboardUpdate(EmpresasTurismoClipBoardRequest $request, EmpresaTurismo $empresaTurismo): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->updateClipboard($request, $empresaTurismo); } public function endereco(EmpresaTurismo $empresaTurismo, Endereco $endereco): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->enderecoView($empresaTurismo, $endereco); } public function enderecoUpdate( EmpresaTurismoEnderecoRequest $request, EmpresaTurismo $empresaTurismo, Endereco $endereco ): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->updateEndereco($request, $empresaTurismo, $endereco); } public function proprietario(EmpresaTurismo $empresaTurismo, User $user): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->proprietarioView($empresaTurismo, $user); } public function proprietarioUpdate( EmpresaTurismoProprietarioRequest $request, EmpresaTurismo $empresaTurismo, User $user ): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } if (!$this->validaCPF($request->cpf)) { return redirect() ->back() ->withInput() ->withErrors(['cpf' => __('O número de CPF informado não é válido!')]) ->with('error', __('O número de CPF informado não é válido!')); } return $this->resource->updateProprietario($request, $empresaTurismo, $user); } public function preposto(EmpresaTurismo $empresaTurismo): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->prepostoView($empresaTurismo); } public function prepostoUpdate(EmpresaTurismoPrepostoRequest $request, EmpresaTurismo $empresaTurismo): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->updatePreposto($request, $empresaTurismo); } public function prepostoRemove( EmpresaTurismoPrepostoRequest $request, EmpresaTurismo $empresaTurismo, User $user ): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } return $this->resource->removePreposto($request, $empresaTurismo); } public function embarcacoesIndex(Request $request, EmpresaTurismo $empresaTurismo): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.turisAngra.empresasDeTurismo.embarcacoes.index', [ 'empresaTurismo' => $empresaTurismo, 'embarcacoes' => $this->service->embarcacoesIndex($request, $empresaTurismo), ]); } public function embarcacoesCreate(EmpresaTurismo $empresaTurismo): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.turisAngra.empresasDeTurismo.embarcacoes.create', [ 'empresaTurismo' => $empresaTurismo, ]); } public function embarcacoesStore(EmbarcacaoRequest $request, EmpresaTurismo $empresaTurismo): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->storeEmbarcacao($request, $empresaTurismo); } public function embarcacoesEdit(EmpresaTurismo $empresaTurismo, Embarcacao $embarcacao): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.turisAngra.empresasDeTurismo.embarcacoes.edit', [ 'empresaTurismo' => $empresaTurismo, 'embarcacao' => $embarcacao, ]); } public function embarcacoesUpdate( EmbarcacaoRequest $request, EmpresaTurismo $empresaTurismo, Embarcacao $embarcacao ): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->updateEmbarcacao($request, $empresaTurismo, $embarcacao); } public function embarcacoesDestroy( Request $request, EmpresaTurismo $empresaTurismo, Embarcacao $embarcacao ): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->destroyEmbarcacao($request, $empresaTurismo, $embarcacao); } public function embarcacoesStatus( Request $request, EmpresaTurismo $empresaTurismo, Embarcacao $embarcacao ): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->statusEmbarcacao($request, $empresaTurismo, $embarcacao); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings