File manager - Edit - /var/www/html/portal/app/Http/Controllers/LegislacaoPortariaController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\LegislacaoPortariaRequest; use App\Http\Resources\LegislacaoResource; use App\Http\Services\Legislacao\LegislacaoService; use App\Models\Legislacao\LegislacaoPortaria; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class LegislacaoPortariaController extends Controller { private string $permissao = 'GERENCIADOR_DE_LEGISLACAO'; public function __construct( private readonly LegislacaoService $legislacaoService, private readonly LegislacaoResource $legislacaoResource ) { $this->middleware('legislacao'); } public function index(Request $request): View|RedirectResponse { if ($r = $this->checkPermissao($this->permissao, 'visualizar')) { return $r; } return view('admin.legislacao.portarias.index', $this->legislacaoResource->getPortariaIndexViewData($request)); } public function create(): View|RedirectResponse { if ($r = $this->checkPermissao($this->permissao, 'adicionar')) { return $r; } return $this->formView('admin.legislacao.portarias.create'); } public function store(LegislacaoPortariaRequest $request): RedirectResponse { if ($r = $this->checkPermissao($this->permissao, 'adicionar')) { return $r; } $data = $this->payload($request, true); $this->legislacaoService->storePortaria($data, $request->input('acoes', [])); return redirect()->route('admin.legislacao.portarias.index', $this->legislacaoResource->portariaFilterParams($request)) ->with('success', __('* Portaria cadastrada com sucesso!')); } public function edit(LegislacaoPortaria $portaria): View|RedirectResponse { if ($r = $this->checkPermissao($this->permissao, 'editar')) { return $r; } $portaria->load(['acoes.portariaSofreAcao', 'retificacoes.boletim', 'boletim']); return $this->formView('admin.legislacao.portarias.edit', $portaria); } public function update(LegislacaoPortariaRequest $request, LegislacaoPortaria $portaria): RedirectResponse { if ($r = $this->checkPermissao($this->permissao, 'editar')) { return $r; } $this->legislacaoService->updatePortaria( $portaria, $this->payload($request, false), $this->legislacaoResource->normalizePortariaAcoes($portaria, $request->input('acoes', [])) ); return redirect()->route('admin.legislacao.portarias.index', $this->legislacaoResource->portariaFilterParams($request)) ->with('success', __('* Portaria atualizada com sucesso!')); } public function destroy(Request $request, LegislacaoPortaria $portaria): RedirectResponse { if ($r = $this->checkPermissao($this->permissao, 'excluir')) { return $r; } $this->legislacaoService->deletePortaria($portaria); return redirect()->route('admin.legislacao.portarias.index', $this->legislacaoResource->portariaFilterParams($request)) ->with('success', __('* Portaria excluĂda com sucesso!')); } private function formView(string $view, ?LegislacaoPortaria $portaria = null): View { $portariasVinculo = LegislacaoPortaria::query()->orderByDesc('dt_ato')->orderByDesc('nr_portaria')->get(); return view($view, compact('portaria', 'portariasVinculo')); } /** * @return array<string, mixed> */ private function payload(LegislacaoPortariaRequest $request, bool $isCreate): array { $data = $request->safe()->except(['acoes', 'acoes_json']); $data['dt_alteracao'] = now(); $data['id_usuario_alteracao'] = (int) auth()->id(); if ($isCreate) { $data['dt_cadastro'] = now(); $data['id_usuario_cadastro'] = (int) auth()->id(); } return $data; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.13 |
proxy
|
phpinfo
|
Settings