Mise en place du permission gate sur les pages de data managment
This commit is contained in:
		| @@ -4,6 +4,7 @@ import 'package:em2rp/views/widgets/data_management/event_types_management.dart' | ||||
| import 'package:em2rp/views/widgets/data_management/options_management.dart'; | ||||
| import 'package:em2rp/views/widgets/nav/main_drawer.dart'; | ||||
| import 'package:em2rp/views/widgets/nav/custom_app_bar.dart'; | ||||
| import 'package:em2rp/utils/permission_gate.dart'; | ||||
| class DataManagementPage extends StatefulWidget { | ||||
|   const DataManagementPage({super.key}); | ||||
|  | ||||
| @@ -31,15 +32,44 @@ class _DataManagementPageState extends State<DataManagementPage> { | ||||
|   Widget build(BuildContext context) { | ||||
|     final isMobile = MediaQuery.of(context).size.width < 800; | ||||
|  | ||||
|     return Scaffold( | ||||
|     return PermissionGate( | ||||
|       requiredPermissions: const ['view_all_users'], | ||||
|       fallback: const Scaffold( | ||||
|         appBar: CustomAppBar( | ||||
|           title: 'Accès refusé', | ||||
|         ), | ||||
|         body: Center( | ||||
|           child: Text( | ||||
|             'Vous n\'avez pas les permissions nécessaires pour accéder à cette page.', | ||||
|             textAlign: TextAlign.center, | ||||
|             style: TextStyle(fontSize: 16), | ||||
|           ), | ||||
|         ), | ||||
|       ), | ||||
|       child: Scaffold( | ||||
|       appBar: CustomAppBar(title: 'Gestion des données'), | ||||
|       drawer: const MainDrawer(currentPage: '/data_management'), // Ajout du drawer | ||||
|       body: isMobile ? _buildMobileLayout() : _buildDesktopLayout(), | ||||
|     ), | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   Widget _buildMobileLayout() { | ||||
|     return Column( | ||||
|     return PermissionGate( | ||||
|       requiredPermissions: const ['view_all_users'], | ||||
|       fallback: const Scaffold( | ||||
|         appBar: CustomAppBar( | ||||
|           title: 'Accès refusé', | ||||
|         ), | ||||
|         body: Center( | ||||
|           child: Text( | ||||
|             'Vous n\'avez pas les permissions nécessaires pour accéder à cette page.', | ||||
|             textAlign: TextAlign.center, | ||||
|             style: TextStyle(fontSize: 16), | ||||
|           ), | ||||
|         ), | ||||
|       ), | ||||
|       child: Column( | ||||
|       children: [ | ||||
|         // Menu horizontal en mobile | ||||
|         Container( | ||||
| @@ -86,6 +116,7 @@ class _DataManagementPageState extends State<DataManagementPage> { | ||||
|           child: _categories[_selectedIndex].widget, | ||||
|         ), | ||||
|       ], | ||||
|       ) | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ElPoyo
					ElPoyo