package fi.otavanopisto.muikku.plugins.communicator; import java.util.Locale; import javax.enterprise.inject.Default; import javax.inject.Inject; import fi.otavanopisto.muikku.i18n.LocaleController; import fi.otavanopisto.muikku.mail.MailType; import fi.otavanopisto.muikku.notifier.NotifierAction; import fi.otavanopisto.muikku.notifier.NotifierContext; import fi.otavanopisto.muikku.plugins.notifier.email.NotifierEmailContent; import fi.otavanopisto.muikku.plugins.notifier.email.NotifierEmailMessageComposer; @Default @NotifierEmailContent(CommunicatorNewInboxMessageNotification.NAME) public class CommunicatorNewInboxMessageNotification implements NotifierAction, NotifierEmailMessageComposer { @Inject private LocaleController localeController; public static final String NAME = "communicator-inbox-new"; @Override public String getEmailSubject(NotifierContext context) { Locale locale = (Locale) context.getParameter("locale"); return locale == null ? "Uusi viesti Muikussa" : localeController.getText(locale, "plugin.communicator.notification.newmessage.mail.subject"); } @Override public String getEmailContent(NotifierContext context) { String messageSender = (String) context.getParameter("sender"); String messageSubject = (String) context.getParameter("subject"); String messageContent = (String) context.getParameter("content"); String messageUrl = (String) context.getParameter("url"); Locale locale = (Locale) context.getParameter("locale"); if (messageSender == null || messageSubject == null || messageContent == null || messageUrl == null || locale == null) { return "Uusi viesti Muikussa"; } return localeController.getText( locale, "plugin.communicator.notification.newmessage.mail.content", new String[] { messageUrl, messageSender, messageSubject, messageContent }); } @Override public MailType getEmailMimeType(NotifierContext context) { return MailType.HTML; } @Override public String getName() { return NAME; } @Override public String getDisplayName() { return "Viestin - Uusi viesti"; } }