From 0bd829bc5e63c0316b9ef27575bc68fb5c75e4a6 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Wed, 1 Apr 2020 20:42:08 +0200
Subject: [PATCH] OO-4614: prefer mail to user name for some change password
 emails

Prefer the email of the user to its user name for the change password
email if the user name is a number and email is allowed for login
---
 .../java/org/olat/registration/PwChangeController.java    | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/registration/PwChangeController.java b/src/main/java/org/olat/registration/PwChangeController.java
index b33d0b8d8a6..be08efa826f 100644
--- a/src/main/java/org/olat/registration/PwChangeController.java
+++ b/src/main/java/org/olat/registration/PwChangeController.java
@@ -267,19 +267,23 @@ public class PwChangeController extends BasicController {
 		String today = DateFormat.getDateInstance(DateFormat.LONG, ureq.getLocale()).format(new Date());
 		// mailer configuration
 		String serverpath = Settings.getServerContextPathURI();
+		String userName = identity.getName();
+		if(StringHelper.isLong(userName) && loginModule.isAllowLoginUsingEmail()) {
+			userName = emailAdress;
+		}
 		
 		TemporaryKey tk = rm.createAndDeleteOldTemporaryKey(identity.getKey(), emailAdress, ip,
 				RegistrationManager.PW_CHANGE, loginModule.getValidUntilHoursGui());
 
 		myContent.contextPut("pwKey", tk.getRegistrationKey());
-		StringBuilder body = new StringBuilder();
+		StringBuilder body = new StringBuilder(2048);
 		body.append("<style>")
 			.append(".o_footer {background: #FAFAFA; border: 1px solid #eee; border-radius: 5px; padding: 1em; margin: 1em;}")
 			.append(".o_body {background: #FAFAFA; padding: 1em; margin: 1em;}")
 			.append("</style>")
 			.append("<div class='o_body'>")
 			.append(userTrans.translate("pwchange.headline"))
-			.append(userTrans.translate("pwchange.intro", new String[] { identity.getName() }))
+			.append(userTrans.translate("pwchange.intro", new String[] { userName, identity.getName(), emailAdress }))
 		    .append(userTrans.translate("pwchange.body", new String[] { serverpath, tk.getRegistrationKey(), i18nModule.getLocaleKey(ureq.getLocale()) }))
 		    .append(userTrans.translate("pwchange.body.alt", new String[] { serverpath, tk.getRegistrationKey(), i18nModule.getLocaleKey(ureq.getLocale()) }))
 		    .append("</div>")
-- 
GitLab