File manager - Edit - /var/www/html/portal/app/Http/Controllers/ParqueTecnologico/StartupsController.php
Back
<?php namespace App\Http\Controllers\ParqueTecnologico; use App\Http\Controllers\Controller; use App\Http\Requests\ParqueTecnologico\StartupRequest; use App\Http\Services\ParqueTecnologico\StartupsService; use App\Models\ParqueTecnologico\Startup; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class StartupsController extends Controller { private string $permissao = 'GERENCIADOR_DE_PARQUE_TECNOLOGICO'; public function __construct(private readonly StartupsService $service) { } /** * Formulário de criação. */ public function create(): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } $segmentos = $this->segmentos(); return view('admin.parqueTecnologico.startups.create', compact('segmentos')); } /** * Salva nova startup. */ public function store(StartupRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->store($request->validated(), $request); } /** * Formulário de edição. */ public function edit(Startup $startup): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $segmentos = $this->segmentos(); return view('admin.parqueTecnologico.startups.edit', compact('startup', 'segmentos')); } /** * Atualiza startup. */ public function update(StartupRequest $request, Startup $startup): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->update($startup, $request->validated(), $request); } /** * Remove startup. */ public function destroy(Startup $startup): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } return $this->service->destroy($startup); } /** * Altera status da startup. */ public function status(Startup $startup, Request $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $status = $request->input('status', $startup->status === 'ATIVADO' ? 'DESATIVADO' : 'ATIVADO'); return $this->service->status($startup, $status, $request); } /** * Segmentos disponíveis. */ private function segmentos(): array { return [ 'tecnologia' => __('tecnologia'), 'energia' => __('energia'), 'logistica' => __('logística'), 'sustentabilidade' => __('sustentabilidade'), 'nautica_naval' => __('náutica e naval'), ]; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings