- 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
39 lines
1.3 KiB
Dart
Executable File
39 lines
1.3 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_amicale_page.dart';
|
|
import 'package:geosector_app/app.dart';
|
|
|
|
/// Page de l'amicale unifiée utilisant AppScaffold
|
|
/// Accessible uniquement aux administrateurs (rôle 2)
|
|
class AmicalePage extends StatelessWidget {
|
|
const AmicalePage({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('amicale_scaffold_admin'),
|
|
selectedIndex: 4, // Amicale est l'index 4
|
|
pageTitle: 'Amicale & membres',
|
|
body: AdminAmicalePage(
|
|
userRepository: userRepository,
|
|
amicaleRepository: amicaleRepository,
|
|
membreRepository: membreRepository,
|
|
passageRepository: passageRepository,
|
|
operationRepository: operationRepository,
|
|
),
|
|
);
|
|
}
|
|
} |