fix(client): Conversion manuelle String vers UUID dans MembreListeBean

- Changement membreSelectionneId (UUID) vers membreSelectionneIdString (String)
- Conversion manuelle avec UUID.fromString() dans chargerMembreSelectionne()
- Gestion erreur IllegalArgumentException pour ID invalide
- Suppression du converter JSF qui n existe pas par defaut

Solution simple et robuste sans creer de converter personnalise.
Le bouton Modifier fonctionne maintenant!
This commit is contained in:
dahoud
2025-11-29 22:51:36 +00:00
parent 9fa914e1a3
commit 6096ce6e07
2 changed files with 14 additions and 10 deletions

View File

@@ -196,15 +196,15 @@ public class MembreListeBean implements Serializable {
} }
// Propriétés pour la page de modification // Propriétés pour la page de modification
private UUID membreSelectionneId; private String membreSelectionneIdString;
private MembreDTO membreSelectionne; private MembreDTO membreSelectionne;
public UUID getMembreSelectionneId() { public String getMembreSelectionneIdString() {
return membreSelectionneId; return membreSelectionneIdString;
} }
public void setMembreSelectionneId(UUID membreSelectionneId) { public void setMembreSelectionneIdString(String membreSelectionneIdString) {
this.membreSelectionneId = membreSelectionneId; this.membreSelectionneIdString = membreSelectionneIdString;
} }
public MembreDTO getMembreSelectionne() { public MembreDTO getMembreSelectionne() {
@@ -216,10 +216,16 @@ public class MembreListeBean implements Serializable {
} }
public void chargerMembreSelectionne() { public void chargerMembreSelectionne() {
if (membreSelectionneId != null) { if (membreSelectionneIdString != null && !membreSelectionneIdString.isEmpty()) {
try { try {
membreSelectionne = membreService.obtenirParId(membreSelectionneId); UUID id = UUID.fromString(membreSelectionneIdString);
membreSelectionne = membreService.obtenirParId(id);
LOGGER.info("Membre chargé pour modification: " + membreSelectionne.getNomComplet()); LOGGER.info("Membre chargé pour modification: " + membreSelectionne.getNomComplet());
} catch (IllegalArgumentException e) {
LOGGER.severe("ID invalide: " + membreSelectionneIdString);
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erreur",
"Identifiant de membre invalide"));
} catch (Exception e) { } catch (Exception e) {
LOGGER.severe("Erreur lors du chargement du membre: " + e.getMessage()); LOGGER.severe("Erreur lors du chargement du membre: " + e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, FacesContext.getCurrentInstance().addMessage(null,

View File

@@ -11,9 +11,7 @@
<ui:define name="content"> <ui:define name="content">
<!-- Charger le membre à modifier --> <!-- Charger le membre à modifier -->
<f:metadata> <f:metadata>
<f:viewParam name="id" value="#{membreListeBean.membreSelectionneId}"> <f:viewParam name="id" value="#{membreListeBean.membreSelectionneIdString}" />
<f:converter converterId="jakarta.faces.UUID" />
</f:viewParam>
<f:viewAction action="#{membreListeBean.chargerMembreSelectionne}" /> <f:viewAction action="#{membreListeBean.chargerMembreSelectionne}" />
</f:metadata> </f:metadata>