From 53f460fe3a507e318049a991fdad4e0114b1264a Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 31 Mar 2014 17:27:11 +0200 Subject: [PATCH] no-jira: hardened user import against misconfigured user properties handler --- .../org/olat/admin/user/imp/ImportStep00.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/admin/user/imp/ImportStep00.java b/src/main/java/org/olat/admin/user/imp/ImportStep00.java index abf7a30b7a3..f68ac727d16 100644 --- a/src/main/java/org/olat/admin/user/imp/ImportStep00.java +++ b/src/main/java/org/olat/admin/user/imp/ImportStep00.java @@ -305,15 +305,26 @@ class ImportStep00 extends BasicStep { } boolean isMandatoryField = um.isMandatoryUserProperty(usageIdentifyer, userPropertyHandler); if (isMandatoryField && !StringHelper.containsNonWhitespace(thisValue)) { - textAreaElement.setErrorKey("error.mandatory", new String[] { String.valueOf(i + 1), translate(userPropertyHandler.i18nFormElementLabelKey()) }); + String label = ""; + if(userPropertyHandler.i18nFormElementLabelKey() != null) { + label = translate(userPropertyHandler.i18nFormElementLabelKey()); + } + textAreaElement.setErrorKey("error.mandatory", new String[] { String.valueOf(i + 1), label }); importDataError = true; break; } // used for call-back value depending on PropertyHandler ValidationError validationError = new ValidationError(); if (!userPropertyHandler.isValidValue(null, thisValue, validationError, getLocale())) { - textAreaElement.setErrorKey("error.lengthorformat", new String[] { String.valueOf(i + 1), translate(userPropertyHandler.i18nFormElementLabelKey()), - translate(validationError.getErrorKey(), validationError.getArgs()) }); + String error = "unkown"; + String label = ""; + if(userPropertyHandler.i18nFormElementLabelKey() != null) { + label = translate(userPropertyHandler.i18nFormElementLabelKey()); + } + if(validationError.getErrorKey() != null) { + error = translate(validationError.getErrorKey(), validationError.getArgs()); + } + textAreaElement.setErrorKey("error.lengthorformat", new String[] { String.valueOf(i + 1), label, error}); importDataError = true; break; } -- GitLab