File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/AtaController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\AtaIndexRequest; use App\Http\Requests\AtaSearchLicitacaoRequest; use App\Http\Requests\AtaPublicFilterRequest; use App\Http\Requests\AtaRequest; use App\Http\Resources\AtaResource; use App\Http\Services\AtaService; use App\Models\Ata; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; class AtaController extends Controller { private string $permissao = 'GERENCIADOR_DE_ATAS'; public function __construct( private readonly AtaService $service, private readonly AtaResource $resource ) { $this->middleware('atas'); } /** * Exibe a listagem paginada de atas com filtros. */ public function index(AtaIndexRequest $request): View|RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'visualizar')) { return $redirect; } $atas = $this->service->filtrar($request); $secretarias = $this->service->getSecretarias(); return view('admin.atas.index', compact('atas', 'secretarias')); } /** * Exibe o formulário de criação de uma nova Ata. */ public function create(): View|RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'adicionar')) { return $redirect; } return view('admin.atas.create', [ 'boletins' => $this->service->getBoletins(), 'secretarias' => $this->service->getSecretarias(), 'secretariasSelecionadas' => old('id_secretaria_ata', []), 'licitacaoSelecionada' => $this->resource->getLicitacaoSelecionada( old('licitacao_procedimento_id') ), 'filterParams' => $this->resource->adminFilterParams(request()), ]); } /** * Persiste uma nova Ata no banco de dados. */ public function store(AtaRequest $request): RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'adicionar')) { return $redirect; } $request->validated(); return $this->resource->store($request); } /** * Exibe o formulário de edição de uma Ata existente. */ public function edit(Ata $ata): View|RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'editar')) { return $redirect; } return view('admin.atas.edit', [ 'ata' => $ata, 'boletins' => $this->service->getBoletins(), 'secretarias' => $this->service->getSecretarias(), 'secretariasSelecionadas' => old('id_secretaria_ata', $this->resource->getSelectedSecretarias($ata)), 'licitacaoSelecionada' => $this->resource->getLicitacaoSelecionada( old('licitacao_procedimento_id', $ata->licitacao_procedimento_id) ), 'filterParams' => $this->resource->adminFilterParams(request()), ]); } /** * Atualiza uma Ata existente no banco de dados. */ public function update(AtaRequest $request, Ata $ata): RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'editar')) { return $redirect; } $request->validated(); return $this->resource->update($request, $ata); } /** * Exclui uma Ata e seu arquivo PDF do storage. */ public function destroy(Ata $ata): RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'excluir')) { return $redirect; } return $this->resource->destroy(request(), $ata); } /** * Pesquisa licitações para autocomplete no formulário de ata. */ public function searchLicitacoes(AtaSearchLicitacaoRequest $request): JsonResponse|RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'visualizar')) { return $redirect; } $term = trim((string) $request->input('q', '')); if (mb_strlen($term) < 2) { return response()->json(['data' => []]); } return response()->json([ 'data' => $this->resource->searchLicitacoes($term), ]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings