diff --git a/src/main/java/org/olat/user/ProfileFormController.java b/src/main/java/org/olat/user/ProfileFormController.java index 60cd65d77346b1ff746b09a66982e7fccc4717d5..3ef57aa351f8add7510adb85a0fc05165b08c483 100644 --- a/src/main/java/org/olat/user/ProfileFormController.java +++ b/src/main/java/org/olat/user/ProfileFormController.java @@ -151,11 +151,10 @@ public class ProfileFormController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - String currentGroup = null; User user = identityToModify.getUser(); // show a form element for each property handler - FormLayoutContainer groupContainer = null; + boolean first = true; for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) { if (userPropertyHandler == null) { continue; @@ -163,15 +162,17 @@ public class ProfileFormController extends FormBasicController { // add spacer if necessary (i.e. when group name changes) String group = userPropertyHandler.getGroup(); - if (!group.equals(currentGroup)) { - groupContainer = FormLayoutContainer.createDefaultFormLayout("group." + group, getTranslator()); + String formId = "group." + group; + FormLayoutContainer groupContainer = (FormLayoutContainer)formLayout.getFormComponent(formId); + if(groupContainer == null) { + groupContainer = FormLayoutContainer.createDefaultFormLayout(formId, getTranslator()); groupContainer.setFormTitle(translate("form.group." + group)); - formItems.put("group." + group, groupContainer); - formLayout.add(groupContainer); - if(currentGroup == null) { + if(first) { groupContainer.setFormContextHelp("org.olat.user","home-vcard.html","help.hover.vcard"); + first = false; } - currentGroup = group; + formItems.put(formId, groupContainer); + formLayout.add(groupContainer); } // add input field to container @@ -197,7 +198,6 @@ public class ProfileFormController extends FormBasicController { // special case for email field if (userPropertyHandler.getName().equals("email")) { - RegistrationManager rm = RegistrationManager.getInstance(); String key = user.getProperty("emchangeKey", null); TemporaryKeyImpl tempKey = rm.loadTemporaryKeyByRegistrationKey(key); if (tempKey != null) { @@ -210,7 +210,7 @@ public class ProfileFormController extends FormBasicController { } // add the "about me" text field. - groupContainer = FormLayoutContainer.createDefaultFormLayout("group.about", getTranslator()); + FormLayoutContainer groupContainer = FormLayoutContainer.createDefaultFormLayout("group.about", getTranslator()); groupContainer.setFormTitle(translate("form.group.about")); formLayout.add(groupContainer); diff --git a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_fr.properties index adc7ce15b0f8e72271de7c5d77eed78e851c930d..ad3fdf28bc37bcc4e84c44720f9485870e2c2fd9 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_fr.properties @@ -14,7 +14,7 @@ form.group.account=Nom d'utilisateur form.group.address=Adresse form.group.contact=Contact form.group.institute=Institution -form.group.person=personne +form.group.person=Personne form.name.birthDay=Date de naissance form.name.birthDay.error=La date de naissance doit \u00EAtre une date valide ou espace vide form.name.birthDay.error.empty=Le champ "date de naissance" ne doit pas rester vide.