private String fromAddress;
@Override
public boolean sendDomainUserAccessRequestEmail(final Long domainUserRequestId) {
boolean emailSent = false;
WebRequest request = WebRequest.getInstance();
if (request != null && sendEmail) {
DomainUserRequest domainUserRequest = domainUserRequestService.get(domainUserRequestId);
if(domainUserRequest == null) {
log.error("No DomainUserRequest found with ID: " + domainUserRequestId);
return true;
}
final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
try {
message.setSubject("Knappsack: Domain Access Request");
Locale locale = LocaleContextHolder.getLocale();
message.setFrom(fromAddress);
if (domainUserRequest != null) {
DomainEntityService domainEntityService = domainEntityServiceFactory.getDomainEntityService(domainUserRequest.getDomain().getDomainType());
Set<User> users = domainEntityService.getDomainRequestUsersForNotification(domainUserRequest.getDomain());
for (User user : users) {
Context ctx = new Context(locale);
ctx.setVariable("name", user.getFullName());
ctx.setVariable("request", domainUserRequest);
ctx.setVariable("url", request.generateURL("/manager"));
if(domainUserRequest.getDomain().getDomainType().equals(DomainType.ORGANIZATION)) {
applyBranding((Organization)domainUserRequest.getDomain(), ctx);
}
// Create the HTML body using Thymeleaf