Skip to content

Commit

Permalink
#346 add feature: disable email sending
Browse files Browse the repository at this point in the history
  • Loading branch information
syjer committed Oct 2, 2017
1 parent 102647a commit a33b649
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/main/java/alfio/manager/system/DefaultMailer.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import static alfio.model.system.ConfigurationKeys.MAILER_TYPE;

@Component
@Profile(Initializer.PROFILE_LIVE)
public class DefaultMailer implements Mailer {

private final ConfigurationManager configurationManager;
Expand All @@ -46,6 +45,7 @@ public DefaultMailer(ConfigurationManager configurationManager, Environment envi
mailers.put("smtp", defaultMailer);
mailers.put("mailgun", new MailgunMailer(configurationManager));
mailers.put("mailjet", new MailjetMailer(configurationManager));
mailers.put("disabled", new MockMailer(configurationManager, environment));
}

@Override
Expand All @@ -54,7 +54,7 @@ public void send(Event event, String to, List<String> cc, String subject, String

subject = decorateSubjectIfDemo(subject, environment);

String mailerType = configurationManager.getStringConfigValue(Configuration.from(event.getOrganizationId(), event.getId(), MAILER_TYPE), "smtp").toLowerCase(Locale.ENGLISH);
String mailerType = configurationManager.getStringConfigValue(Configuration.from(event.getOrganizationId(), event.getId(), MAILER_TYPE), "disabled").toLowerCase(Locale.ENGLISH);

mailers.getOrDefault(mailerType, defaultMailer)
.send(event, to, cc, subject, text, html, attachments);
Expand Down
6 changes: 0 additions & 6 deletions src/main/java/alfio/manager/system/MockMailer.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,11 @@
*/
package alfio.manager.system;

import alfio.config.Initializer;
import alfio.model.Event;
import alfio.model.system.Configuration;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.Collections;
Expand All @@ -35,8 +31,6 @@
import static alfio.model.system.ConfigurationKeys.MAIL_REPLY_TO;

@Log4j2
@Component
@Profile(Initializer.PROFILE_DEV)
@AllArgsConstructor
public class MockMailer implements Mailer {

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/alfio/model/system/ConfigurationKeys.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public enum ConfigurationKeys {
RESERVATION_TIMEOUT("The amount of time, in MINUTES, that the user have to complete the reservation process (default: 25 min)", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM, ORGANIZATION, EVENT), true),

//
MAILER_TYPE("Mailer type (if not set, default will be smtp)", false, SettingCategory.MAIL, ComponentType.TEXT, true, EnumSet.of(SYSTEM), true),//valid values: smtp | mailgun
MAILER_TYPE("Mailer type (if not set, default will be disabled)", false, SettingCategory.MAIL, ComponentType.TEXT, true, EnumSet.of(SYSTEM), true),//valid values: smtp | mailgun
//

MAX_EMAIL_PER_CYCLE("How many e-mail should be managed within 5 sec.", false, SettingCategory.MAIL, ComponentType.TEXT, false, EnumSet.of(SYSTEM), true),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ <h2>E-Mail</h2>
Mailjet.com
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="mailer.type" data-ng-model="ctrl.mail.type.value" data-ng-value="'disabled'">
Disabled
</label>
</div>
<div data-ng-repeat="setting in ctrl.mail.settings | mailSettingsFilter:ctrl.mail.type.value">
<setting data-obj="setting" data-display-delete-if-needed="false"></setting>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ <h4>E-Mail</h4>
Mailjet.com
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="mailer.type" data-ng-model="categoryConf.mail.type.value" data-ng-value="'disabled'">
Disable
</label>
</div>
<div data-ng-repeat="setting in categoryConf.mail.settings | mailSettingsFilter:categoryConf.mail.type.value">
<setting data-obj="setting" data-display-delete-if-needed="true" data-delete-handler="categoryConf.delete(config)"></setting>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ <h2>E-Mail</h2>
Mailjet.com
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="mailer.type" data-ng-model="eventConf.mail.type.value" data-ng-value="'disabled'">
Disable
</label>
</div>
<div data-ng-repeat="setting in eventConf.mail.settings | mailSettingsFilter:eventConf.mail.type.value" >
<setting data-obj="setting" data-display-delete-if-needed="true" data-delete-handler="eventConf.delete(config)" display-system-badge="true"></setting>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,12 @@ <h2>E-Mail</h2>
Mailjet.com
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="mailer.type" data-ng-model="organizationConf.mail.type.value" data-ng-value="'disabled'">
Disable
</label>
</div>
<div data-ng-repeat="setting in organizationConf.mail.settings | mailSettingsFilter:organizationConf.mail.type.value" >
<setting data-obj="setting" data-display-delete-if-needed="true" data-delete-handler="organizationConf.delete(config)"></setting>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ <h2>E-Mail</h2>
Mailjet.com
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="mailer.type" data-ng-model="systemConf.mail.type.value" data-ng-value="'disabled'">
Disable
</label>
</div>
<div data-ng-repeat="setting in systemConf.mail.settings | mailSettingsFilter:systemConf.mail.type.value">
<setting data-obj="setting" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)"></setting>
</div>
Expand Down

0 comments on commit a33b649

Please sign in to comment.