From cd4deb2eab80a546f497cd445fda5911373bd923 Mon Sep 17 00:00:00 2001 From: Hiroyuki Wada Date: Thu, 2 Apr 2020 13:01:38 +0900 Subject: [PATCH] MID-6154 Fix error message to be localized in self registration page --- .../midpoint/gui/api/util/WebModelServiceUtils.java | 3 +++ .../midpoint/web/page/login/PageSelfRegistration.java | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebModelServiceUtils.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebModelServiceUtils.java index 84653e2b7f5..694eaffa9cd 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebModelServiceUtils.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebModelServiceUtils.java @@ -547,6 +547,9 @@ public static void save(Collection> deltas, Mo page.getModelService().executeChanges(deltas, options, task, result); } catch (Exception ex) { + if (ex instanceof CommonException) { + subResult.setUserFriendlyMessage(((CommonException) ex).getUserFriendlyMessage()); + } subResult.recordFatalError(ex.getMessage()); LoggingUtils.logUnexpectedException(LOGGER, "Couldn't save object", ex); } finally { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/login/PageSelfRegistration.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/login/PageSelfRegistration.java index d547f74dff9..400e010062e 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/login/PageSelfRegistration.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/login/PageSelfRegistration.java @@ -345,8 +345,14 @@ protected void submitRegistration(AjaxRequestTarget target) { LOGGER.trace("Registration for user {} was successfull.", getUserModel().getObject()); } else { + String message; + if (result.getUserFriendlyMessage() != null) { + message = WebModelServiceUtils.translateMessage(result, this); + } else { + message = result.getMessage(); + } getSession().error( - createStringResource("PageSelfRegistration.registration.error", result.getMessage()) + createStringResource("PageSelfRegistration.registration.error", message) .getString()); // removePassword(target); updateCaptcha(target);