- 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
40 lines
1.4 KiB
Dart
Executable File
40 lines
1.4 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_connexions_page.dart';
|
|
import 'package:geosector_app/app.dart';
|
|
|
|
/// Page des connexions et événements utilisant AppScaffold.
|
|
/// Accessible uniquement aux administrateurs (rôle >= 2).
|
|
///
|
|
/// - Admin Amicale (rôle 2) : voit les connexions de son amicale uniquement
|
|
/// - Super Admin (rôle >= 3) : voit les connexions de toutes les amicales
|
|
class ConnexionsPage extends StatelessWidget {
|
|
const ConnexionsPage({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 minimum (admin amicale)
|
|
if (userRole < 2) {
|
|
// Rediriger vers le dashboard user
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
Navigator.of(context).pushReplacementNamed('/user/dashboard');
|
|
});
|
|
return const SizedBox.shrink();
|
|
}
|
|
|
|
return AppScaffold(
|
|
key: const ValueKey('connexions_scaffold_admin'),
|
|
selectedIndex: 6, // Connexions est l'index 6
|
|
pageTitle: 'Connexions',
|
|
body: AdminConnexionsPage(
|
|
userRepository: userRepository,
|
|
amicaleRepository: amicaleRepository,
|
|
),
|
|
);
|
|
}
|
|
}
|