File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/AtivosTi/LicencasController.php
Back
<?php namespace App\Http\Controllers\AtivosTi; use App\Http\Controllers\Controller; use App\Http\Requests\AtivosTi\LicencaRequest; use App\Http\Services\AtivosTi\AtivosTiService; use App\Models\AtivosTi\Licenca; use App\Models\UnidadeOrganizacional; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class LicencasController extends Controller { private const PERMISSAO = 'GERENCIADOR_DE_ATIVOS_TI'; public function index(Request $request, AtivosTiService $service): View|RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'visualizar'); if ($response instanceof RedirectResponse) return $response; $licencas = Licenca::with(['unidade', 'usuario', 'equipamento']) ->when($request->filled('busca'), fn($q) => $service->aplicarFiltroBuscaLicenca($q, $request->get('busca'))) ->when($request->filled('tipo'), fn($q) => $q->where('tipo', $request->tipo)) ->when($request->filled('status_lic'), fn($q) => $service->aplicarFiltroVencimento($q, $request->get('status_lic'))) ->orderBy('programa') ->paginate(20)->withQueryString(); $unidades = UnidadeOrganizacional::orderBy('name')->get(['id', 'name', 'abbreviation']); $totalVencendo = $service->contarVencendo(); $totalVencidas = $service->contarVencidas(); return view('admin.ativosTi.licencas.index', compact( 'licencas', 'unidades', 'totalVencendo', 'totalVencidas' )); } public function create(): View|RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'adicionar'); if ($response instanceof RedirectResponse) return $response; $unidades = UnidadeOrganizacional::orderBy('name')->get(['id', 'name', 'abbreviation']); return view('admin.ativosTi.licencas.create', compact('unidades')); } public function store(LicencaRequest $request): RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'adicionar'); if ($response instanceof RedirectResponse) return $response; Licenca::create($request->validated()); return redirect() ->route('admin.ativosTi.index', ['aba' => 'licencas']) ->with('success', 'Licença cadastrada com sucesso.'); } public function show(Licenca $licenca): View|RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'visualizar'); if ($response instanceof RedirectResponse) return $response; $licenca->load(['unidade', 'usuario', 'equipamento.unidade', 'demandas' => fn($q) => $q->with('tiDetalhe')->orderBy('data_abertura', 'desc')]); return view('admin.ativosTi.licencas.show', compact('licenca')); } public function edit(Licenca $licenca): View|RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'editar'); if ($response instanceof RedirectResponse) return $response; $unidades = UnidadeOrganizacional::orderBy('name')->get(['id', 'name', 'abbreviation']); return view('admin.ativosTi.licencas.edit', compact('licenca', 'unidades')); } public function update(LicencaRequest $request, Licenca $licenca): RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'editar'); if ($response instanceof RedirectResponse) return $response; $licenca->update($request->validated()); return redirect() ->route('admin.ativosTi.licencas.show', $licenca) ->with('success', 'Licença atualizada com sucesso.'); } public function destroy(Licenca $licenca): RedirectResponse { $response = $this->checkPermissao(self::PERMISSAO, 'excluir'); if ($response instanceof RedirectResponse) return $response; $licenca->delete(); return redirect() ->route('admin.ativosTi.index', ['aba' => 'licencas']) ->with('success', 'Licença excluída com sucesso.'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings