Files
geo/app/lib/presentation/pages/field_mode_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

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