Files
ppeasy_vg12/app/Http/Controllers/Web/PostLoginDispatchController.php
T
2026-10-09 08:21:06 +02:00

60 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\Web;
use App\Http\Controllers\Controller;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
/**
* Smistamento post-login verso le pagine legacy in base al ruolo.
*
* Sostituisce la rotta "/" (name: dashboard) di Vanguard.
* - Admin -> vede la dashboard nativa di Vanguard (delega al DashboardController originale)
* - Altri -> redirect verso la pagina legacy corrispondente al ruolo
*
* Questo file e' TUO: gli update di Vanguard non lo toccano.
*/
class PostLoginDispatchController extends Controller
{
public function index(Request $request, DashboardController $dashboard)
{
$user = $request->user();
// Admin: resta nella dashboard di gestione utenti di Vanguard.
if ($user->hasRole('Admin')) {
return $dashboard->index($request);
}
// Altri ruoli: redirect alla pagina legacy dedicata.
return $this->redirectByRole($user);
}
private function redirectByRole($user): RedirectResponse
{
if ($user->hasRole('Owner')) {
return redirect()->to('ownerdashboard.php');
}
if ($user->hasRole('User')) {
return redirect()->to('dashboard.php');
}
if ($user->hasRole('Superuser')) {
return redirect()->to('dashboard.php');
}
if ($user->hasRole('Certification')) {
return redirect()->to('cstd.php');
}
if ($user->hasRole('CustomerService')) {
return redirect()->to('cstrf.php');
}
// Fallback di sicurezza: se il ruolo non e' tra quelli previsti,
// manda comunque alla dashboard legacy generica.
return redirect()->to('dashboard.php');
}
}