File manager - Edit - /var/www/html/portal/app/Http/Controllers/DefesaCivil/BoletimMeteorologicoController.php
Back
<?php namespace App\Http\Controllers\DefesaCivil; use App\Http\Controllers\Controller; use App\Http\Requests\DefesaCivil\BoletimMeteorologicoRequest; use App\Http\Resources\DefesaCivil\BoletimMeteorologicoResource; use App\Http\Resources\DefesaCivil\SobreavisoCemadenResource; use App\Models\DefesaCivil\BoletimMeteorologico; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class BoletimMeteorologicoController extends Controller { private string $permissao = 'GERENCIADOR_DE_BOLETINS_METEOROLOGICOS'; public function __construct( private readonly BoletimMeteorologicoResource $boletimResource, private readonly SobreavisoCemadenResource $sobreavisoResource ) { } public function index(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } $boletins = $this->boletimResource->paginateAdmin($request->only(['q', 'status'])); return view('admin.defesaCivil.boletim_meteorologico.index', compact('boletins')); } public function create(): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } $sobreavisos = $this->sobreavisoResource->listAll(); $options = $this->boletimResource->formOptions(); return view('admin.defesaCivil.boletim_meteorologico.create', compact('sobreavisos', 'options')) ->with('boletim', null); } public function store(BoletimMeteorologicoRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } $this->boletimResource->store($request->validated()); return redirect()->route('admin.boletim.meteorologico.index') ->with('success', __('Boletim criado com sucesso!')); } public function edit(BoletimMeteorologico $boletim): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $sobreavisos = $this->sobreavisoResource->listAll(); $options = $this->boletimResource->formOptions(); return view('admin.defesaCivil.boletim_meteorologico.edit', compact('boletim', 'sobreavisos', 'options')); } public function update(BoletimMeteorologicoRequest $request, BoletimMeteorologico $boletim): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $this->boletimResource->update($boletim, $request->validated()); return redirect()->route('admin.boletim.meteorologico.index') ->with('success', __('Boletim atualizado com sucesso!')); } public function destroy(BoletimMeteorologico $boletim): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } $this->boletimResource->delete($boletim); return redirect()->route('admin.boletim.meteorologico.index') ->with('success', __('Boletim removido com sucesso!')); } public function toggleStatus(Request $request): JsonResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $validated = $request->validate([ 'boletim_id' => 'required|uuid|exists:mysql_defesacivil.boletim_meteorologicos,id', 'status' => 'required|in:ATIVO,INATIVO', ]); $boletim = $this->boletimResource->toggleStatus($validated['boletim_id'], $validated['status']); return response()->json([ 'success' => true, 'message' => __('Status atualizado com sucesso!'), 'new_status' => $boletim->status, ]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings