- Mise à jour VERSION vers 3.3.4 - Optimisations et révisions architecture API (deploy-api.sh, scripts de migration) - Ajout documentation Stripe Tap to Pay complète - Migration vers polices Inter Variable pour Flutter - Optimisations build Android et nettoyage fichiers temporaires - Amélioration système de déploiement avec gestion backups - Ajout scripts CRON et migrations base de données 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
1.2 KiB
Dart
36 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:geosector_app/presentation/widgets/app_scaffold.dart';
|
|
import 'package:geosector_app/presentation/admin/admin_operations_page.dart';
|
|
import 'package:geosector_app/app.dart';
|
|
|
|
/// Page des opérations unifiée utilisant AppScaffold
|
|
/// Accessible uniquement aux administrateurs (rôle 2)
|
|
class OperationsPage extends StatelessWidget {
|
|
const OperationsPage({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
// Vérifier le rôle pour l'accès
|
|
final currentUser = userRepository.getCurrentUser();
|
|
final userRole = currentUser?.role ?? 1;
|
|
|
|
// Vérifier que l'utilisateur a le rôle 2 (admin amicale)
|
|
if (userRole < 2) {
|
|
// Rediriger ou afficher un message d'erreur
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
Navigator.of(context).pushReplacementNamed('/user/dashboard');
|
|
});
|
|
return const SizedBox.shrink();
|
|
}
|
|
|
|
return AppScaffold(
|
|
key: const ValueKey('operations_scaffold_admin'),
|
|
selectedIndex: 5, // Opérations est l'index 5
|
|
pageTitle: 'Opérations',
|
|
body: AdminOperationsPage(
|
|
operationRepository: operationRepository,
|
|
userRepository: userRepository,
|
|
),
|
|
);
|
|
}
|
|
} |