- 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
32 lines
1.3 KiB
Dart
Executable File
32 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/user/user_field_mode_page.dart';
|
|
import 'package:geosector_app/core/services/current_user_service.dart';
|
|
|
|
/// Page de mode terrain unifiée utilisant AppScaffold (users seulement)
|
|
class FieldModePage extends StatelessWidget {
|
|
const FieldModePage({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
// Déterminer le mode d'affichage (prend en compte le mode choisi à la connexion)
|
|
final isAdmin = CurrentUserService.instance.shouldShowAdminUI;
|
|
|
|
// Rediriger les admins vers le dashboard
|
|
if (isAdmin) {
|
|
// Les admins ne devraient pas avoir accès à cette page
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
Navigator.of(context).pushReplacementNamed('/admin');
|
|
});
|
|
return const SizedBox.shrink();
|
|
}
|
|
|
|
return AppScaffold(
|
|
key: const ValueKey('field_mode_scaffold_user'),
|
|
selectedIndex: 4, // Field mode est l'index 4 pour les users (après Dashboard, Historique, Messages, Carte)
|
|
pageTitle: 'Mode Terrain',
|
|
showBackground: false, // Pas de fond inutile, le mode terrain a son propre fond
|
|
body: const UserFieldModePage(), // Réutiliser la page existante
|
|
);
|
|
}
|
|
} |