diff --git a/unionflow-client-quarkus-primefaces-freya/src/main/java/dev/lions/unionflow/client/view/MembreInscriptionBean.java b/unionflow-client-quarkus-primefaces-freya/src/main/java/dev/lions/unionflow/client/view/MembreInscriptionBean.java index 2de1930..4089a79 100644 --- a/unionflow-client-quarkus-primefaces-freya/src/main/java/dev/lions/unionflow/client/view/MembreInscriptionBean.java +++ b/unionflow-client-quarkus-primefaces-freya/src/main/java/dev/lions/unionflow/client/view/MembreInscriptionBean.java @@ -42,6 +42,8 @@ public class MembreInscriptionBean implements Serializable { // Propriétés système private String numeroGenere; + private String membreIdString; // ID du membre en mode modification + private boolean modeModification = false; // Informations personnelles private String prenom; @@ -103,8 +105,10 @@ public class MembreInscriptionBean implements Serializable { @PostConstruct public void init() { - // Générer un numéro de membre automatiquement - this.numeroGenere = "M" + System.currentTimeMillis(); + // Générer un numéro de membre automatiquement (seulement en mode création) + if (!modeModification) { + this.numeroGenere = "M" + System.currentTimeMillis(); + } // Charger les organisations actives try { @@ -116,6 +120,61 @@ public class MembreInscriptionBean implements Serializable { } } + // Getters/Setters pour mode modification + public String getMembreIdString() { + return membreIdString; + } + + public void setMembreIdString(String membreIdString) { + this.membreIdString = membreIdString; + } + + public boolean isModeModification() { + return modeModification; + } + + // Méthode appelée par f:viewAction pour charger le membre en mode modification + public void chargerMembreSiModification() { + if (membreIdString != null && !membreIdString.isEmpty()) { + try { + java.util.UUID id = java.util.UUID.fromString(membreIdString); + MembreDTO membre = membreService.obtenirParId(id); + + if (membre != null) { + modeModification = true; + // Remplir tous les champs avec les données du membre + this.numeroGenere = membre.getNumeroMembre(); + this.prenom = membre.getPrenom(); + this.nom = membre.getNom(); + this.email = membre.getEmail(); + this.telephone = membre.getTelephone(); + this.dateNaissance = membre.getDateNaissance(); + this.adresse = membre.getAdresse(); + this.ville = membre.getVille(); + this.nationalite = membre.getNationalite(); + this.profession = membre.getProfession(); + this.situationMatrimoniale = membre.getStatutMatrimonial(); + this.organisationId = membre.getAssociationId() != null ? membre.getAssociationId().toString() : null; + // TODO: Charger les autres champs si disponibles + + LOGGER.info("Membre chargé pour modification: " + membre.getNomComplet()); + } else { + FacesContext.getCurrentInstance().addMessage(null, + new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", "Membre introuvable")); + } + } catch (IllegalArgumentException e) { + LOGGER.severe("ID invalide: " + membreIdString); + FacesContext.getCurrentInstance().addMessage(null, + new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", "Identifiant de membre invalide")); + } catch (Exception e) { + LOGGER.severe("Erreur lors du chargement du membre: " + e.getMessage()); + FacesContext.getCurrentInstance().addMessage(null, + new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur", + "Impossible de charger le membre: " + e.getMessage())); + } + } + } + // Actions public String inscrire() { try { diff --git a/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/inscription.xhtml b/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/inscription.xhtml index 3fa2267..b3e7934 100644 --- a/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/inscription.xhtml +++ b/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/inscription.xhtml @@ -6,18 +6,24 @@ xmlns:p="http://primefaces.org/ui" template="/templates/main-template.xhtml"> - Inscription Membre - UnionFlow + #{empty param.id ? 'Inscription' : 'Modification'} Membre - UnionFlow + + + + + + - - - + + + Numéro: #{membreInscriptionBean.numeroGenere} - Généré automatiquement + #{empty param.id ? 'Généré automatiquement' : 'Existant'} diff --git a/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/liste.xhtml b/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/liste.xhtml index 14680f7..9141829 100644 --- a/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/liste.xhtml +++ b/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/liste.xhtml @@ -197,7 +197,7 @@ iconOnly="true"/> diff --git a/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/modifier.xhtml b/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/modifier.xhtml deleted file mode 100644 index 96f2b49..0000000 --- a/unionflow-client-quarkus-primefaces-freya/src/main/resources/META-INF/resources/pages/secure/membre/modifier.xhtml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - Modifier le Membre - - - - - - - - - - - - - - - Modifier le Membre - - Modifiez les informations du membre. - - - - - - - - - - - - - - - Informations du Membre - - - - - - - - - - - - - - - - - - - - -