fix: Utiliser membre.opeUserId pour filtre membre (#42)

- Correction : utilise membre.opeUserId (et non membre.id)
- Liste tous les membres ayant un opeUserId != null
- Filtre passages par passage.fkUser == membre.opeUserId
- Retire les debugPrint inutiles
- Affichage : membre.name ou membre.firstName

Relation: MembreModel.opeUserId == PassageModel.fkUser

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-01-26 11:25:42 +01:00
parent 6952417147
commit 3c3a9b90aa

View File

@@ -598,16 +598,11 @@ class _HistoryContentState extends State<HistoryContent> {
/// Construit le dropdown de sélection de membre (admin uniquement)
Widget _buildMemberDropdown() {
// Récupérer les IDs de membres uniques depuis les passages
final memberIdsInPassages = <int>{};
for (final passage in _originalPassages) {
memberIdsInPassages.add(passage.fkUser);
}
// Récupérer les membres depuis la box Hive
// Récupérer tous les membres depuis la box Hive
final membresBox = membreRepository.getMembresBox();
final membres = membresBox.values.where((membre) {
return memberIdsInPassages.contains(membre.id);
// Ne garder que les membres ayant un opeUserId (membres actifs dans une opération)
return membre.opeUserId != null;
}).toList();
// Trier par nom
@@ -632,9 +627,9 @@ class _HistoryContentState extends State<HistoryContent> {
child: Text('Tous'),
),
...membres.map((membre) {
final displayName = membre.name ?? membre.firstName ?? 'Membre #${membre.id}';
final displayName = membre.name ?? membre.firstName ?? 'Membre #${membre.opeUserId}';
return DropdownMenuItem<int?>(
value: membre.id,
value: membre.opeUserId,
child: Text(
displayName,
overflow: TextOverflow.ellipsis,