feat: Implement role-based dashboards, user management CRUD, and integration request authorization policies.

This commit is contained in:
jeremy bayse
2026-02-21 21:30:52 +01:00
parent abca346b3e
commit 41caefece3
5 changed files with 14 additions and 10 deletions

View File

@@ -20,7 +20,7 @@ class DashboardController extends Controller
return $this->adminDashboard();
}
if ($user->hasRole('RH')) {
if ($user->can('validate rh')) {
return $this->rhDashboard();
}

View File

@@ -50,7 +50,10 @@ class UserController extends Controller implements \Illuminate\Routing\Controlle
]);
if (isset($validated['roles'])) {
setPermissionsTeamId($user->structure_id);
$user->syncRoles($validated['roles']);
// Restaurer le contexte actuel après
setPermissionsTeamId(config('tenant.structure_id'));
}
return redirect()->route('users.index')->with('success', 'Utilisateur créé avec succès.');
@@ -85,9 +88,10 @@ class UserController extends Controller implements \Illuminate\Routing\Controlle
}
if (isset($validated['roles'])) {
// Prevent removing own admin role if it's the only one left?
// For simplicity, just allow sync.
setPermissionsTeamId($user->structure_id);
$user->syncRoles($validated['roles']);
// Restaurer le contexte actuel après
setPermissionsTeamId(config('tenant.structure_id'));
}
return redirect()->route('users.index')->with('success', 'Utilisateur mis à jour.');