File manager - Edit - /var/www/html/portal/app/Http/Controllers/Cultura/ArteSacra/HistoriaArteController.php
Back
<?php namespace App\Http\Controllers\Cultura\ArteSacra; use App\Http\Controllers\Controller; use App\Models\Cultura\ArteSacra\{ Acervo, HistoriaArte, ComentarioArte, }; use Illuminate\Http\Request; use Illuminate\View\View; use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\DB; class HistoriaArteController extends Controller { private $permissao = "GERENCIADOR_DO_CADASTRO_DE_ARTE_SACRA"; public function index(Acervo $acervo) : View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } $historiaAtual = HistoriaArte::where('acervo_id', $acervo->id)->first(); $solicitacoesPendentes = ComentarioArte::where('acervo_id', $acervo->id) ->where('status', 'pendente') ->get(); $solicitacoesAceitas = ComentarioArte::where('acervo_id', $acervo->id) ->where('status', 'aceita') ->get(); return view('admin.cultura.arteSacra.historiaArte', compact( 'acervo', 'historiaAtual', 'solicitacoesPendentes', 'solicitacoesAceitas' )); } public function aceitaComentario($comentarioId) : RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $comentario = ComentarioArte::find($comentarioId); if (!$comentario || $comentario->status !== 'pendente') { return redirect()->back()->with('error', 'Solicitação inválida.'); } $comentario->status = 'aceita'; $comentario->save(); return redirect()->back()->with('success', 'Comentário aceito com sucesso.'); } public function destroy($solicitacaoId) : RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } $solicitacao = ComentarioArte::find($solicitacaoId); if (!$solicitacao) { return redirect()->back()->with('error', 'Solicitação não encontrada.'); } $solicitacao->delete(); return redirect()->back()->with('success', 'Solicitação de história excluída com sucesso.'); } public function update(Request $request, $acervoId) : RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $request->validate([ 'descricao' => 'required|string', ]); try { DB::beginTransaction(); $historia = HistoriaArte::where('acervo_id', $acervoId)->first(); if ($historia) { $historia->historia_obra = $request->descricao; $historia->save(); } else { HistoriaArte::create([ 'acervo_id' => $acervoId, 'historia_obra' => $request->descricao, ]); } DB::commit(); return redirect()->route('admin.cultura.arteSacra.historiaArte', $acervoId) ->with('success', 'História atualizada com sucesso.'); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.cultura.arteSacra.historiaArte', $acervoId)->with('error', 'Erro ao atualizar história: ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings