Modifications des permissions, ajout Presta OK, vue calendrier ok

This commit is contained in:
2025-05-24 23:50:07 +02:00
parent 249a6d6074
commit 851b891a8a
18 changed files with 1077 additions and 304 deletions

View File

@ -5,7 +5,7 @@ import 'package:em2rp/providers/local_user_provider.dart';
class PermissionGate extends StatelessWidget {
final Widget child;
final List<Permission> requiredPermissions;
final List<String> requiredPermissions;
final bool requireAll;
final Widget? fallback;
@ -26,10 +26,9 @@ class PermissionGate extends StatelessWidget {
return fallback ?? const SizedBox.shrink();
}
final userRole = Roles.fromString(currentUser.role);
final hasPermission = requireAll
? userRole.hasAllPermissions(requiredPermissions)
: userRole.hasAnyPermission(requiredPermissions);
? hasAllPermissions(localUserProvider, requiredPermissions)
: hasAnyPermission(localUserProvider, requiredPermissions);
if (hasPermission) {
return child;
@ -39,4 +38,18 @@ class PermissionGate extends StatelessWidget {
},
);
}
bool hasAllPermissions(LocalUserProvider provider, List<String> permissions) {
for (final perm in permissions) {
if (!provider.hasPermission(perm)) return false;
}
return true;
}
bool hasAnyPermission(LocalUserProvider provider, List<String> permissions) {
for (final perm in permissions) {
if (provider.hasPermission(perm)) return true;
}
return false;
}
}