Files
geo/app/lib/presentation/pages/operations_page.dart
Pierre 0687900564 fix: Récupérer l'opération active depuis la table operations
- Corrige l'erreur SQL 'Unknown column fk_operation in users'
- L'opération active est récupérée depuis operations.chk_active = 1
- Jointure avec users pour filtrer par entité de l'admin créateur
- Query: SELECT o.id FROM operations o INNER JOIN users u ON u.fk_entite = o.fk_entite WHERE u.id = ? AND o.chk_active = 1
2026-01-26 16:57:08 +01:00

36 lines
1.2 KiB
Dart
Executable File

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,
),
);
}
}