feat(#95): implémenter la gestion Relais admin et le rattachement gestionnaire
Ajoute la section Paramètres territoriaux avec CRUD Relais, modale de saisie structurée, états visuels harmonisés, et rattachement d'un relais principal aux gestionnaires via l'API. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
class RelaisModel {
|
||||
final String id;
|
||||
final String nom;
|
||||
final String adresse;
|
||||
final Map<String, dynamic>? horairesOuverture;
|
||||
final String? ligneFixe;
|
||||
final bool actif;
|
||||
final String? notes;
|
||||
|
||||
const RelaisModel({
|
||||
required this.id,
|
||||
required this.nom,
|
||||
required this.adresse,
|
||||
this.horairesOuverture,
|
||||
this.ligneFixe,
|
||||
required this.actif,
|
||||
this.notes,
|
||||
});
|
||||
|
||||
factory RelaisModel.fromJson(Map<String, dynamic> json) {
|
||||
return RelaisModel(
|
||||
id: (json['id'] ?? '').toString(),
|
||||
nom: (json['nom'] ?? '').toString(),
|
||||
adresse: (json['adresse'] ?? '').toString(),
|
||||
horairesOuverture: json['horaires_ouverture'] is Map<String, dynamic>
|
||||
? json['horaires_ouverture'] as Map<String, dynamic>
|
||||
: null,
|
||||
ligneFixe: json['ligne_fixe'] as String?,
|
||||
actif: json['actif'] as bool? ?? true,
|
||||
notes: json['notes'] as String?,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,8 @@ class AppUser {
|
||||
final String? adresse;
|
||||
final String? ville;
|
||||
final String? codePostal;
|
||||
final String? relaisId;
|
||||
final String? relaisNom;
|
||||
|
||||
AppUser({
|
||||
required this.id,
|
||||
@@ -29,9 +31,15 @@ class AppUser {
|
||||
this.adresse,
|
||||
this.ville,
|
||||
this.codePostal,
|
||||
this.relaisId,
|
||||
this.relaisNom,
|
||||
});
|
||||
|
||||
factory AppUser.fromJson(Map<String, dynamic> json) {
|
||||
final relaisJson = json['relais'];
|
||||
final relaisMap =
|
||||
relaisJson is Map<String, dynamic> ? relaisJson : <String, dynamic>{};
|
||||
|
||||
return AppUser(
|
||||
id: json['id'] as String,
|
||||
email: json['email'] as String,
|
||||
@@ -56,6 +64,9 @@ class AppUser {
|
||||
adresse: json['adresse'] as String?,
|
||||
ville: json['ville'] as String?,
|
||||
codePostal: json['code_postal'] as String?,
|
||||
relaisId: (json['relaisId'] ?? json['relais_id'] ?? relaisMap['id'])
|
||||
?.toString(),
|
||||
relaisNom: relaisMap['nom']?.toString(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -75,6 +86,8 @@ class AppUser {
|
||||
'adresse': adresse,
|
||||
'ville': ville,
|
||||
'code_postal': codePostal,
|
||||
'relais_id': relaisId,
|
||||
'relais_nom': relaisNom,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user