From cf81f0fd619845f25355b52e648529bc5bcadde6 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Mon, 31 Aug 2020 07:16:30 +0200 Subject: [PATCH] OO-4882: show the login name in specific mail templates --- .../org/olat/course/nodes/co/CourseMailTemplate.java | 9 ++++++++- .../modules/reminder/manager/ReminderServiceImpl.java | 3 +++ .../user/manager/lifecycle/UserLifecycleManagerImpl.java | 7 ++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/co/CourseMailTemplate.java b/src/main/java/org/olat/course/nodes/co/CourseMailTemplate.java index e1bc6a0432e..d13f6f942fa 100644 --- a/src/main/java/org/olat/course/nodes/co/CourseMailTemplate.java +++ b/src/main/java/org/olat/course/nodes/co/CourseMailTemplate.java @@ -22,11 +22,13 @@ package org.olat.course.nodes.co; import java.util.Locale; import org.apache.velocity.VelocityContext; +import org.olat.basesecurity.BaseSecurity; import org.olat.core.CoreSpringFactory; import org.olat.core.helpers.Settings; import org.olat.core.id.Identity; import org.olat.core.id.User; import org.olat.core.id.UserConstants; +import org.olat.core.util.StringHelper; import org.olat.core.util.mail.MailTemplate; import org.olat.repository.RepositoryEntry; import org.olat.user.UserManager; @@ -61,6 +63,7 @@ public class CourseMailTemplate extends MailTemplate { if(sender != null) { User user = sender.getUser(); UserManager userManager = CoreSpringFactory.getImpl(UserManager.class); + BaseSecurity securityManager = CoreSpringFactory.getImpl(BaseSecurity.class); vContext.put("firstname", user.getProperty(UserConstants.FIRSTNAME, null)); vContext.put(UserConstants.FIRSTNAME, user.getProperty(UserConstants.FIRSTNAME, null)); @@ -71,7 +74,11 @@ public class CourseMailTemplate extends MailTemplate { vContext.put("fullName", fullName); vContext.put("mail", userManager.getUserDisplayEmail(user, locale)); vContext.put("email", userManager.getUserDisplayEmail(user, locale)); - vContext.put("username", sender.getName()); + String loginName = securityManager.findAuthenticationName(recipient); + if(!StringHelper.containsNonWhitespace(loginName)) { + loginName = recipient.getName(); + } + vContext.put("username", loginName); } } } diff --git a/src/main/java/org/olat/modules/reminder/manager/ReminderServiceImpl.java b/src/main/java/org/olat/modules/reminder/manager/ReminderServiceImpl.java index 45a9b5bc4e8..2616bd58ccf 100644 --- a/src/main/java/org/olat/modules/reminder/manager/ReminderServiceImpl.java +++ b/src/main/java/org/olat/modules/reminder/manager/ReminderServiceImpl.java @@ -298,6 +298,9 @@ public class ReminderServiceImpl implements ReminderService { vContext.put("mail", email); vContext.put("email", email); String loginName = securityManager.findAuthenticationName(recipient); + if(!StringHelper.containsNonWhitespace(loginName)) { + loginName = recipient.getName(); + } vContext.put("username", loginName); // Put variables from greater context if(entry != null) { diff --git a/src/main/java/org/olat/user/manager/lifecycle/UserLifecycleManagerImpl.java b/src/main/java/org/olat/user/manager/lifecycle/UserLifecycleManagerImpl.java index 9de869f6a52..765e70c0c60 100644 --- a/src/main/java/org/olat/user/manager/lifecycle/UserLifecycleManagerImpl.java +++ b/src/main/java/org/olat/user/manager/lifecycle/UserLifecycleManagerImpl.java @@ -48,6 +48,7 @@ import org.olat.core.id.Identity; import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.logging.Tracing; +import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.i18n.I18nManager; import org.olat.core.util.mail.MailBundle; @@ -383,7 +384,11 @@ public class UserLifecycleManagerImpl implements UserLifecycleManager { vContext.put("fullName", fullName); vContext.put("mail", userManager.getUserDisplayEmail(user, locale)); vContext.put("email", userManager.getUserDisplayEmail(user, locale)); - vContext.put("username", recipient.getName()); + String loginName = securityManager.findAuthenticationName(recipient); + if(!StringHelper.containsNonWhitespace(loginName)) { + loginName = recipient.getName(); + } + vContext.put("username", loginName); } } } -- GitLab