File manager - Edit - /var/www/html/portal/app/Http/Controllers/Observatorio/MapaTemaController.php
Back
<?php namespace App\Http\Controllers\Observatorio; use App\Enums\StatusPermission; use App\Http\Controllers\Controller; use App\Http\Requests\Observatorio\MapaTemaRequest; use App\Http\Services\Observatorio\MapaService; use App\Http\Services\Observatorio\ObservatorioPublicCacheService; use App\Models\Observatorio\MapaTema; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Validation\ValidationException; use Illuminate\View\View; class MapaTemaController extends Controller { private const FILTER_KEYS = ['q', 'page']; public function __construct(private readonly MapaService $service) { $this->middleware('observatorio'); } public function index(Request $request): View|RedirectResponse { if ($response = $this->checkPermissao(StatusPermission::GERENCIADOR_DO_OBSERVATORIO, 'visualizar')) { return $response; } return view('admin.observatorio.mapa-temas.index', [ 'registros' => $this->service->listTemas($request), ]); } public function create(): View|RedirectResponse { if ($response = $this->checkPermissao(StatusPermission::GERENCIADOR_DO_OBSERVATORIO, 'adicionar')) { return $response; } return view('admin.observatorio.mapa-temas.create'); } public function store(MapaTemaRequest $request): RedirectResponse { if ($response = $this->checkPermissao(StatusPermission::GERENCIADOR_DO_OBSERVATORIO, 'adicionar')) { return $response; } try { $this->service->createTema($request->validated(), $request->file('icone_arquivo')); ObservatorioPublicCacheService::clear(); return redirect() ->route('admin.observatorio.mapaTemas.index', $request->only(self::FILTER_KEYS)) ->with('success', __('* Tema de mapa criado com sucesso!')); } catch (ValidationException $e) { throw $e; } catch (\Throwable $e) { Log::error('Erro ao criar tema de mapa do Observatório.', [ 'user_id' => auth()->id(), 'exception' => $e::class, ]); return redirect()->back()->withInput()->with('error', __('Erro ao criar o tema de mapa. Tente novamente.')); } } public function edit(MapaTema $mapaTema): View|RedirectResponse { if ($response = $this->checkPermissao(StatusPermission::GERENCIADOR_DO_OBSERVATORIO, 'editar')) { return $response; } return view('admin.observatorio.mapa-temas.edit', ['registro' => $mapaTema]); } public function update(MapaTemaRequest $request, MapaTema $mapaTema): RedirectResponse { if ($response = $this->checkPermissao(StatusPermission::GERENCIADOR_DO_OBSERVATORIO, 'editar')) { return $response; } try { $this->service->updateTema($mapaTema, $request->validated(), $request->file('icone_arquivo')); ObservatorioPublicCacheService::clear(); return redirect() ->route('admin.observatorio.mapaTemas.index', $request->only(self::FILTER_KEYS)) ->with('success', __('* Tema de mapa atualizado com sucesso!')); } catch (ValidationException $e) { throw $e; } catch (\Throwable $e) { Log::error('Erro ao atualizar tema de mapa do Observatório.', [ 'user_id' => auth()->id(), 'mapa_tema_id' => $mapaTema->id, 'exception' => $e::class, ]); return redirect()->back()->withInput()->with('error', __('Erro ao atualizar o tema de mapa. Tente novamente.')); } } public function destroy(Request $request, MapaTema $mapaTema): RedirectResponse { if ($response = $this->checkPermissao(StatusPermission::GERENCIADOR_DO_OBSERVATORIO, 'excluir')) { return $response; } try { $this->service->deleteTema($mapaTema); ObservatorioPublicCacheService::clear(); return redirect() ->route('admin.observatorio.mapaTemas.index', $request->only(self::FILTER_KEYS)) ->with('success', __('* Tema de mapa excluído com sucesso!')); } catch (\Throwable $e) { Log::error('Erro ao excluir tema de mapa do Observatório.', [ 'user_id' => auth()->id(), 'mapa_tema_id' => $mapaTema->id, 'exception' => $e::class, ]); return redirect()->back()->with('error', __('Erro ao excluir o tema de mapa. Tente novamente.')); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings