File manager - Edit - /var/www/html/portal/app/Http/Controllers/LegislacaoController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\LegislacaoRequest; use App\Http\Resources\LegislacaoResource; use App\Http\Services\Legislacao\LegislacaoService; use App\Models\Legislacao\Legislacao; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class LegislacaoController 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 ($redirect = $this->checkPermissao($this->permissao, 'visualizar')) { return $redirect; } return view('admin.legislacao.index', $this->legislacaoResource->getAdminIndexViewData($request)); } public function create(): View|RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'adicionar')) { return $redirect; } return view('admin.legislacao.create', $this->legislacaoResource->getFormData()); } public function store(LegislacaoRequest $request): RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'adicionar')) { return $redirect; } $this->legislacaoService->storeLegislacao( $this->payload($request, true), $request->input('categorias', []), $request->input('acoes', []), $request->file('pdf_arquivo') ); return redirect()->route('admin.legislacao.index', $this->legislacaoResource->adminFilterParams($request)) ->with('success', __('* Legislação cadastrada com sucesso!')); } public function edit(Legislacao $legislacao): View|RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'editar')) { return $redirect; } $legislacao->load(['categorias', 'acoes.legislacaoSofreAcao.tipo', 'retificacoes.boletim', 'boletim']); return view('admin.legislacao.edit', $this->legislacaoResource->getFormData($legislacao)); } public function update(LegislacaoRequest $request, Legislacao $legislacao): RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'editar')) { return $redirect; } $this->legislacaoService->updateLegislacao( $legislacao, $this->payload($request, false), $request->input('categorias', []), $this->legislacaoResource->normalizeLegislacaoAcoes($legislacao, $request->input('acoes', [])), $request->file('pdf_arquivo') ); return redirect()->route('admin.legislacao.index', $this->legislacaoResource->adminFilterParams($request)) ->with('success', __('* Legislação atualizada com sucesso!')); } public function destroy(Request $request, Legislacao $legislacao): RedirectResponse { if ($redirect = $this->checkPermissao($this->permissao, 'excluir')) { return $redirect; } $this->legislacaoService->deleteLegislacao($legislacao); return redirect()->route('admin.legislacao.index', $this->legislacaoResource->adminFilterParams($request)) ->with('success', __('* Legislação excluída com sucesso!')); } /** * @return array<string, mixed> */ private function payload(LegislacaoRequest $request, bool $isCreate): array { $data = $request->safe()->except(['categorias', 'acoes', 'acoes_json', 'pdf_arquivo']); $data = array_merge($data, [ 'dt_alteracao' => now(), '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