From 394fddc29e2d489abe63cc4e3b4cb0932c3fd829 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 31 Oct 2016 19:23:43 +0100 Subject: [PATCH] OO-2336: prevent container with the same names --- .../olat/user/HomePageSettingsController.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/olat/user/HomePageSettingsController.java b/src/main/java/org/olat/user/HomePageSettingsController.java index 000ebc66c38..49b051926a7 100644 --- a/src/main/java/org/olat/user/HomePageSettingsController.java +++ b/src/main/java/org/olat/user/HomePageSettingsController.java @@ -19,7 +19,9 @@ */ package org.olat.user; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -78,10 +80,11 @@ public class HomePageSettingsController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - String currentGroup = null; - FormLayoutContainer groupContainer = null; + boolean firstGroup = true; + List<UserPropertyHandler> homepagePropertyHanders = userManager.getUserPropertyHandlersFor(HomePageConfig.class.getCanonicalName(), isAdministrativeUser); + Map<String, FormLayoutContainer> groupContainerMap = new HashMap<>(); HomePageConfig conf = hpcm.loadConfigFor(identityToModify.getName()); for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) { if (userPropertyHandler == null) { @@ -90,14 +93,18 @@ public class HomePageSettingsController extends FormBasicController { // add spacer if necessary (i.e. when group name changes) String group = userPropertyHandler.getGroup(); - if (!group.equals(currentGroup)) { + FormLayoutContainer groupContainer; + if(groupContainerMap.containsKey(group)) { + groupContainer = groupContainerMap.get(group); + } else { groupContainer = FormLayoutContainer.createDefaultFormLayout("group." + group, getTranslator()); groupContainer.setFormTitle(translate("form.group." + group)); formLayout.add(groupContainer); - if(currentGroup == null) { + groupContainerMap.put(group, groupContainer); + if(firstGroup) { groupContainer.setFormContextHelp("Configuration"); + firstGroup = false; } - currentGroup = group; } if (homepagePropertyHanders.contains(userPropertyHandler)) { -- GitLab