forgetCachedPermissions(); // Create permissions $permissions = [ 'create integration', 'validate rh', 'manage dsi tasks', 'manage batiment tasks', 'manage parc auto tasks', 'view dashboard', 'export reports', ]; foreach ($permissions as $permission) { Permission::firstOrCreate(['name' => $permission]); } // Create roles and assign permissions Role::firstOrCreate(['name' => 'Admin'])->givePermissionTo(Permission::all()); Role::firstOrCreate(['name' => 'RH'])->givePermissionTo([ 'create integration', 'validate rh', 'view dashboard', 'export reports', ]); $services = ['DSI', 'Batiment', 'ParcAuto']; foreach ($services as $service) { Role::firstOrCreate(['name' => $service])->givePermissionTo([ 'manage ' . strtolower($service === 'ParcAuto' ? 'parc auto' : $service) . ' tasks', 'view dashboard', ]); } Role::firstOrCreate(['name' => 'Prescripteur'])->givePermissionTo([ 'create integration', 'view dashboard', ]); } }