Skip to content

Commit

Permalink
#36 - implement MailChimp plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
cbellone committed Aug 2, 2015
1 parent f67584a commit a8275f3
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/main/java/alfio/manager/plugin/PluginManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ private static <T extends Plugin> Stream<T> filterPlugins(List<Plugin> 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));
}
}
2 changes: 2 additions & 0 deletions src/main/java/alfio/plugin/Plugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
*/
public interface Plugin {

String ENABLED_CONF_NAME = "enabled";

/**
* Returns an unique ID for this
* @return
Expand Down
12 changes: 8 additions & 4 deletions src/main/java/alfio/plugin/mailchimp/MailChimpPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();

This comment has been minimized.

Copy link
@syjer

syjer Aug 6, 2015

Member

logic is quite similar to onTicketAssignment ? Could be refactored ?

This comment has been minimized.

Copy link
@cbellone

cbellone Aug 7, 2015

Author Member

fixed!

Optional<String> listAddress = getListAddress(email, name, language);
Optional<String> apiKey = getApiKey(email, name, language);
if(listAddress.isPresent() && apiKey.isPresent()) {
send(listAddress.get(), apiKey.get(), email, name, language);
}
}

@Override
Expand All @@ -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
Expand Down

0 comments on commit a8275f3

Please sign in to comment.