File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/Cultura/ArteSacra/ArteSacraController.php
Back
<?php namespace App\Http\Controllers\Cultura\ArteSacra; use App\Http\Controllers\Controller; use App\Models\Cultura\ArteSacra\{ Acervo, ClasseArte, Designacao, Material, ModoAquisicao, Proprietario, Tecnica, TipoAcervo, Tombamento, }; use App\Http\Requests\Cultura\ArteSacra\AcervoRequest; use App\Http\Resources\Cultura\ArteSacra\ArteSacraResource; use App\Http\Services\Cultura\ArteSacra\ArteSacraService; use Illuminate\Http\Request; use Illuminate\View\View; use Illuminate\Http\RedirectResponse; class ArteSacraController extends Controller { private $permissao = "GERENCIADOR_DO_CADASTRO_DE_ARTE_SACRA"; private $permissaoDiretor = "DIRETOR_DE_ARTE_SACRA"; public function index(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } session()->forget('arte_id'); $ArteSacraService = new ArteSacraService(); $artes = $ArteSacraService->listar($request); return view('admin.cultura.arteSacra.index', ['artes' => $artes, 'busca' => $request->input('busca')]); } public function create(): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } return view('admin.cultura.arteSacra.create', [ 'tipos' => ArteSacraResource::getUniqueByField(TipoAcervo::class, 'tipo'), 'modosAquisicao' => ArteSacraResource::getUniqueByField(ModoAquisicao::class, 'modo_aquisicao'), 'materiais' => ArteSacraResource::getUniqueByField(Material::class, 'material'), 'tecnicas' => ArteSacraResource::getUniqueByField(Tecnica::class, 'tecnica'), 'proprietarios' => ArteSacraResource::getUniqueByField(Proprietario::class, 'proprietario'), 'designacoes' => ArteSacraResource::getUniqueByField(Designacao::class, 'designacao'), 'classes' => ArteSacraResource::getUniqueByField(ClasseArte::class, 'classe'), 'tombamentos' => ArteSacraResource::getUniqueByField(Tombamento::class, 'tombamento'), ]); } public function store(AcervoRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); $array_acervo = [ 'codigo_acervo' => $request->codigo_acervo, 'tipo_id' => $request->tipo_id, 'nome_peca' => $request->nome_peca, 'ano_arte' => $request->ano_arte, 'roca' => $request->roca, 'modo_aquisicao_id' => $request->modo_aquisicao_id, 'periodo_peca' => $request->periodo_peca, 'descricao' => $request->descricao, 'material_id' => $request->material_id, 'tecnica_id' => $request->tecnica_id, 'proprietario_id' => $request->proprietario_id, 'localizacao_id' => $request->localizacao, 'designacao_id' => $request->designacao_id, 'classe_id' => $request->classe_id, 'tombamento_id' => $request->tombamento_id, 'autoria' => $request->autoria, 'dimensao' => $request->dimensao, 'altura' => $request->altura, 'comprimento' => $request->comprimento, 'largura' => $request->largura, 'diametro' => $request->diametro, 'profundidade' => $request->profundidade, 'peso' => $request->peso, 'imagem' => ArteSacraResource::handleFileUpload(request: $request, inputName: 'imagem', folder: 'arte_sacra', oldFile: null, default: 'pmar/assets/img/icons/default.png'), 'data_recebimento' => $request->data_recebimento, 'entregue_por' => $request->entregue_por, 'permitir_exibicao' => $request->permitir_exibicao, ]; $ArteSacraService = new ArteSacraService(); return $ArteSacraService->store($request, $array_acervo); } public function edit(Acervo $acervo): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "visualizar"); if ($response instanceof RedirectResponse) { return $response; } return view('admin.cultura.arteSacra.edit', [ 'arte' => $acervo, 'tipos' => ArteSacraResource::getUniqueByField(TipoAcervo::class, 'tipo'), 'modosAquisicao' => ArteSacraResource::getUniqueByField(ModoAquisicao::class, 'modo_aquisicao'), 'materiais' => ArteSacraResource::getUniqueByField(Material::class, 'material'), 'tecnicas' => ArteSacraResource::getUniqueByField(Tecnica::class, 'tecnica'), 'proprietarios' => ArteSacraResource::getUniqueByField(Proprietario::class, 'proprietario'), 'designacoes' => ArteSacraResource::getUniqueByField(Designacao::class, 'designacao'), 'classes' => ArteSacraResource::getUniqueByField(ClasseArte::class, 'classe'), 'tombamentos' => ArteSacraResource::getUniqueByField(Tombamento::class, 'tombamento'), ]); } public function update(AcervoRequest $request, Acervo $acervo): RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $array_acervo = [ 'codigo_acervo' => $request->codigo_acervo, 'tipo_id' => $request->tipo_id, 'nome_peca' => $request->nome_peca, 'ano_arte' => $request->ano_arte, 'roca' => $request->roca, 'modo_aquisicao_id' => $request->modo_aquisicao_id, 'periodo_peca' => $request->periodo_peca, 'descricao' => $request->descricao, 'material_id' => $request->material_id, 'tecnica_id' => $request->tecnica_id, 'proprietario_id' => $request->proprietario_id, 'localizacao_id' => $request->localizacao_id, 'designacao_id' => $request->designacao_id, 'classe_id' => $request->classe_id, 'tombamento_id' => $request->tombamento_id, 'autoria' => $request->autoria, 'dimensao' => $request->dimensao, 'altura' => $request->altura, 'comprimento' => $request->comprimento, 'largura' => $request->largura, 'diametro' => $request->diametro, 'profundidade' => $request->profundidade, 'peso' => $request->peso, 'data_recebimento' => $request->data_recebimento, 'entregue_por' => $request->entregue_por, 'permitir_exibicao' => $request->permitir_exibicao, 'imagem' => ArteSacraResource::handleFileUpload(request: $request, inputName: 'imagem', folder: 'arte_sacra', oldFile: $acervo->imagem), ]; $ArteSacraService = new ArteSacraService(); return $ArteSacraService->update($request, $acervo, $array_acervo); } public function destroy(Acervo $acervo): RedirectResponse { $response = $this->checkPermissao($this->permissao, "excluir"); if ($response instanceof RedirectResponse) { return $response; } $ArteSacraService = new ArteSacraService(); return $ArteSacraService->destroy($acervo); } public function trash(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissaoDiretor, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } $ArteSacraService = new ArteSacraService(); $artes = $ArteSacraService->listar($request, statusPeca: 1); return view('admin.cultura.arteSacra.trash', [ 'artes' => $artes, 'busca' => $request->input('busca'), 'tipos' => ArteSacraResource::getUniqueByField(TipoAcervo::class, 'tipo'), 'modosAquisicao' => ArteSacraResource::getUniqueByField(ModoAquisicao::class, 'modo_aquisicao'), 'materiais' => ArteSacraResource::getUniqueByField(Material::class, 'material'), 'tecnicas' => ArteSacraResource::getUniqueByField(Tecnica::class, 'tecnica'), 'proprietarios' => ArteSacraResource::getUniqueByField(Proprietario::class, 'proprietario'), 'designacoes' => ArteSacraResource::getUniqueByField(Designacao::class, 'designacao'), 'classes' => ArteSacraResource::getUniqueByField(ClasseArte::class, 'classe'), 'tombamentos' => ArteSacraResource::getUniqueByField(Tombamento::class, 'tombamento'), ]); } public function inativarOuAtivar($id): RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $ArteSacraService = new ArteSacraService(); return $ArteSacraService->inativarOuAtivar($id); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings