From 2f907376b206b712489ed0441d8ce5fd855a69b8 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Fri, 2 May 2014 08:53:15 +0200 Subject: [PATCH] OO-1080: double check the key to select the single choice element to prevent RS --- .../user/propertyhandlers/GenderPropertyHandler.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java index a48a2a79c65..5e8ad584062 100644 --- a/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/GenderPropertyHandler.java @@ -28,6 +28,7 @@ import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormUIFactory; import org.olat.core.gui.translator.Translator; import org.olat.core.id.User; +import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.i18n.I18nModule; import org.olat.user.AbstractUserPropertyHandler; @@ -120,8 +121,12 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler { org.olat.core.gui.components.form.flexible.elements.SingleSelection genderElem = null; //genderElem = FormUIFactory.getInstance().addDropdownSingleselect(getName(), i18nFormElementLabelKey(), formItemContainer, keys, getTranslatedValues(locale), null); genderElem = FormUIFactory.getInstance().addRadiosVertical(getName(), i18nFormElementLabelKey(), formItemContainer, keys, getTranslatedValues(locale)); - - genderElem.select(user == null ? "-" : this.getInternalValue(user), true); + String key = user == null ? "-" : getInternalValue(user); + for(int i=keys.length; i-->0; ) { + if(keys[i].equals(key)) { + genderElem.select(keys[i], true); + } + } UserManager um = UserManager.getInstance(); if ( um.isUserViewReadOnly(usageIdentifyer, this) && ! isAdministrativeUser) { @@ -139,7 +144,7 @@ public class GenderPropertyHandler extends AbstractUserPropertyHandler { @Override public String getInternalValue(User user) { String value = super.getInternalValue(user); - return (value == null ? "-" : value); // default + return (StringHelper.containsNonWhitespace(value) ? value : "-"); // default } /** -- GitLab