feat(#131): fiche AM éditable en 3 onglets et widgets admin partagés.
Modale admin AM (identité, dossier pro, enfants), API front avec repli, note back affiliation, et extraction gélule statut / liste enfants pour la fiche parent. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:p_tits_pas/models/assistante_maternelle_model.dart';
|
||||
import 'package:p_tits_pas/utils/phone_utils.dart';
|
||||
import 'package:p_tits_pas/services/user_service.dart';
|
||||
import 'package:p_tits_pas/widgets/admin/common/admin_detail_modal.dart';
|
||||
import 'package:p_tits_pas/widgets/admin/common/admin_am_edit_modal.dart';
|
||||
import 'package:p_tits_pas/widgets/admin/common/admin_user_card.dart';
|
||||
import 'package:p_tits_pas/widgets/admin/common/user_list.dart';
|
||||
|
||||
@@ -102,55 +101,10 @@ class _AssistanteMaternelleManagementWidgetState
|
||||
void _openAssistanteDetails(AssistanteMaternelleModel assistante) {
|
||||
showDialog<void>(
|
||||
context: context,
|
||||
builder: (context) => AdminDetailModal(
|
||||
title: assistante.user.fullName.isEmpty
|
||||
? 'Assistante maternelle'
|
||||
: assistante.user.fullName,
|
||||
subtitle: assistante.user.email,
|
||||
fields: [
|
||||
AdminDetailField(label: 'ID', value: _v(assistante.user.id)),
|
||||
AdminDetailField(
|
||||
label: 'Numero agrement',
|
||||
value: _v(assistante.approvalNumber),
|
||||
),
|
||||
AdminDetailField(
|
||||
label: 'Ville residence',
|
||||
value: _v(assistante.residenceCity),
|
||||
),
|
||||
AdminDetailField(
|
||||
label: 'Capacite max',
|
||||
value: assistante.maxChildren?.toString() ?? '-',
|
||||
),
|
||||
AdminDetailField(
|
||||
label: 'Places disponibles',
|
||||
value: assistante.placesAvailable?.toString() ?? '-',
|
||||
),
|
||||
AdminDetailField(
|
||||
label: 'Telephone',
|
||||
value: _v(assistante.user.telephone) != '–' ? formatPhoneForDisplay(_v(assistante.user.telephone)) : '–',
|
||||
),
|
||||
AdminDetailField(label: 'Adresse', value: _v(assistante.user.adresse)),
|
||||
AdminDetailField(label: 'Ville', value: _v(assistante.user.ville)),
|
||||
AdminDetailField(
|
||||
label: 'Code postal',
|
||||
value: _v(assistante.user.codePostal),
|
||||
),
|
||||
],
|
||||
onEdit: () {
|
||||
Navigator.of(context).pop();
|
||||
ScaffoldMessenger.of(this.context).showSnackBar(
|
||||
const SnackBar(content: Text('Action Modifier a implementer')),
|
||||
);
|
||||
},
|
||||
onDelete: () {
|
||||
Navigator.of(context).pop();
|
||||
ScaffoldMessenger.of(this.context).showSnackBar(
|
||||
const SnackBar(content: Text('Action Supprimer a implementer')),
|
||||
);
|
||||
},
|
||||
builder: (context) => AdminAmEditModal(
|
||||
assistante: assistante,
|
||||
onSaved: _loadAssistantes,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
String _v(String? value) => (value == null || value.isEmpty) ? '-' : value;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user