diff --git a/src/main/java/alfio/manager/plugin/PluginManager.java b/src/main/java/alfio/manager/plugin/PluginManager.java index 71366e8381..fb57fb8212 100644 --- a/src/main/java/alfio/manager/plugin/PluginManager.java +++ b/src/main/java/alfio/manager/plugin/PluginManager.java @@ -67,7 +67,7 @@ private static Stream filterPlugins(List plugins, @Override public void onApplicationEvent(ContextRefreshedEvent event) { plugins.stream() - .filter(p -> !pluginConfigurationRepository.loadSingleOption(p.getId(), "enabled").isPresent()) - .forEach(p -> pluginConfigurationRepository.insert(p.getId(), "enabled", "false", "Enabled", ComponentType.BOOLEAN)); + .filter(p -> !pluginConfigurationRepository.loadSingleOption(p.getId(), Plugin.ENABLED_CONF_NAME).isPresent()) + .forEach(p -> pluginConfigurationRepository.insert(p.getId(), Plugin.ENABLED_CONF_NAME, "false", "Enabled", ComponentType.BOOLEAN)); } } diff --git a/src/main/java/alfio/plugin/Plugin.java b/src/main/java/alfio/plugin/Plugin.java index 2d29164fe7..4168a6313c 100644 --- a/src/main/java/alfio/plugin/Plugin.java +++ b/src/main/java/alfio/plugin/Plugin.java @@ -26,6 +26,8 @@ */ public interface Plugin { + String ENABLED_CONF_NAME = "enabled"; + /** * Returns an unique ID for this * @return diff --git a/src/main/java/alfio/plugin/mailchimp/MailChimpPlugin.java b/src/main/java/alfio/plugin/mailchimp/MailChimpPlugin.java index 58c544108d..653ef1a68e 100644 --- a/src/main/java/alfio/plugin/mailchimp/MailChimpPlugin.java +++ b/src/main/java/alfio/plugin/mailchimp/MailChimpPlugin.java @@ -18,14 +18,13 @@ import alfio.model.Ticket; import alfio.model.TicketReservation; -import alfio.model.system.ComponentType; import alfio.model.plugin.PluginConfigOption; +import alfio.model.system.ComponentType; import alfio.plugin.PluginDataStorageProvider; import alfio.plugin.PluginDataStorageProvider.PluginDataStorage; import alfio.plugin.ReservationConfirmationPlugin; import alfio.plugin.TicketAssignmentPlugin; import com.squareup.okhttp.*; -import org.springframework.beans.factory.annotation.Autowired; import java.io.IOException; import java.util.Arrays; @@ -65,7 +64,12 @@ public void onTicketAssignment(Ticket ticket) { public void onReservationConfirmation(TicketReservation ticketReservation) { String email = ticketReservation.getEmail(); String name = ticketReservation.getFullName(); - //String language = + String language = ticketReservation.getUserLanguage(); + Optional listAddress = getListAddress(email, name, language); + Optional apiKey = getApiKey(email, name, language); + if(listAddress.isPresent() && apiKey.isPresent()) { + send(listAddress.get(), apiKey.get(), email, name, language); + } } @Override @@ -80,7 +84,7 @@ public String getName() { @Override public boolean isEnabled() { - return false; + return pluginDataStorage.getConfigValue(ENABLED_CONF_NAME).map(Boolean::getBoolean).orElse(false); } @Override