From 180b8c584d4ba0ecb9ddded853afd2f4895105d4 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Mon, 31 Aug 2020 07:05:32 +0200 Subject: [PATCH] no-jira: more user properties variables in lifecycle management --- .../lifecycle/UserLifecycleManagerImpl.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) 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 59f35b3db41..9de869f6a52 100644 --- a/src/main/java/org/olat/user/manager/lifecycle/UserLifecycleManagerImpl.java +++ b/src/main/java/org/olat/user/manager/lifecycle/UserLifecycleManagerImpl.java @@ -45,6 +45,7 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DB; import org.olat.core.gui.translator.Translator; 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.Util; @@ -57,6 +58,7 @@ import org.olat.core.util.session.UserSessionManager; import org.olat.repository.RepositoryDeletionModule; import org.olat.user.UserDataDeletable; import org.olat.user.UserLifecycleManager; +import org.olat.user.UserManager; import org.olat.user.UserModule; import org.olat.user.ui.admin.lifecycle.UserAdminLifecycleConfigurationController; import org.springframework.beans.factory.annotation.Autowired; @@ -84,6 +86,8 @@ public class UserLifecycleManagerImpl implements UserLifecycleManager { @Autowired private MailManager mailManager; @Autowired + private UserManager userManager; + @Autowired private BaseSecurity securityManager; @Autowired private UserSessionManager userSessionManager; @@ -331,7 +335,7 @@ public class UserLifecycleManagerImpl implements UserLifecycleManager { String subject = translator.translate(subjectI18nKey); String body = translator.translate(bodyI18nKey); - LifecycleMailTemplate template = new LifecycleMailTemplate(subject, body); + LifecycleMailTemplate template = new LifecycleMailTemplate(subject, body, locale); sendUserEmailTo(identity, template, type); } @@ -356,15 +360,31 @@ public class UserLifecycleManagerImpl implements UserLifecycleManager { return CalendarUtils.startOfDay(date); } - private static final class LifecycleMailTemplate extends MailTemplate { + private final class LifecycleMailTemplate extends MailTemplate { + + private final Locale locale; - public LifecycleMailTemplate(String subject, String body) { + public LifecycleMailTemplate(String subject, String body, Locale locale) { super(subject, body, null); + this.locale = locale; } @Override public void putVariablesInMailContext(VelocityContext vContext, Identity recipient) { - // + if(recipient != null) { + User user = recipient.getUser(); + + vContext.put("firstname", user.getProperty(UserConstants.FIRSTNAME, null)); + vContext.put(UserConstants.FIRSTNAME, user.getProperty(UserConstants.FIRSTNAME, null)); + vContext.put("lastname", user.getProperty(UserConstants.LASTNAME, null)); + vContext.put(UserConstants.LASTNAME, user.getProperty(UserConstants.LASTNAME, null)); + String fullName = userManager.getUserDisplayName(recipient); + vContext.put("fullname", fullName); + vContext.put("fullName", fullName); + vContext.put("mail", userManager.getUserDisplayEmail(user, locale)); + vContext.put("email", userManager.getUserDisplayEmail(user, locale)); + vContext.put("username", recipient.getName()); + } } } -- GitLab