Search in sources :

Example 11 with User

use of alfio.model.user.User in project alf.io by alfio-event.

the class ConfigurationManager method saveCategoryConfiguration.

public void saveCategoryConfiguration(int categoryId, int eventId, List<ConfigurationModification> list, String username) {
    User user = userManager.findUserByUsername(username);
    EventAndOrganizationId event = eventRepository.findEventAndOrganizationIdById(eventId);
    Validate.notNull(event, "event does not exist");
    Validate.isTrue(userManager.isOwnerOfOrganization(user, event.getOrganizationId()), "Cannot update settings, user is not owner of event");
    list.stream().filter(ConfigurationManager::toBeSaved).forEach(c -> {
        Optional<Configuration> existing = configurationRepository.findByKeyAtCategoryLevel(eventId, event.getOrganizationId(), categoryId, c.getKey());
        Optional<String> value = evaluateValue(c.getKey(), c.getValue());
        if (value.isEmpty()) {
            configurationRepository.deleteCategoryLevelByKey(c.getKey(), eventId, categoryId);
        } else if (existing.isPresent()) {
            configurationRepository.updateCategoryLevel(eventId, event.getOrganizationId(), categoryId, c.getKey(), value.get());
        } else {
            configurationRepository.insertTicketCategoryLevel(event.getOrganizationId(), eventId, categoryId, c.getKey(), value.get(), ConfigurationKeys.fromString(c.getKey()).getDescription());
        }
    });
}
Also used : User(alfio.model.user.User) EventAndOrganizationId(alfio.model.EventAndOrganizationId) AnalyticsConfiguration(alfio.controller.api.v2.model.AnalyticsConfiguration) Configuration(alfio.model.system.Configuration)

Example 12 with User

use of alfio.model.user.User in project alf.io by alfio-event.

the class ConfigurationManager method saveAllEventConfiguration.

public void saveAllEventConfiguration(int eventId, int organizationId, List<ConfigurationModification> list, String username) {
    User user = userManager.findUserByUsername(username);
    Validate.isTrue(userManager.isOwnerOfOrganization(user, organizationId), "Cannot update settings, user is not owner");
    EventAndOrganizationId event = eventRepository.findEventAndOrganizationIdById(eventId);
    Validate.notNull(event, "event does not exist");
    if (organizationId != event.getOrganizationId()) {
        Validate.isTrue(userManager.isOwnerOfOrganization(user, event.getOrganizationId()), "Cannot update settings, user is not owner of event");
    }
    list.stream().filter(ConfigurationManager::toBeSaved).forEach(c -> saveEventConfiguration(eventId, organizationId, c.getKey(), c.getValue()));
}
Also used : User(alfio.model.user.User) EventAndOrganizationId(alfio.model.EventAndOrganizationId)

Aggregations

User (alfio.model.user.User)12 EventAndOrganizationId (alfio.model.EventAndOrganizationId)6 Collectors (java.util.stream.Collectors)4 Collectors.toList (java.util.stream.Collectors.toList)4 Log4j2 (lombok.extern.log4j.Log4j2)4 StringUtils (org.apache.commons.lang3.StringUtils)4 UserManager (alfio.manager.user.UserManager)3 java.util (java.util)3 Pair (org.apache.commons.lang3.tuple.Pair)3 AnalyticsConfiguration (alfio.controller.api.v2.model.AnalyticsConfiguration)2 alfio.model (alfio.model)2 ConfigurationKeys (alfio.model.system.ConfigurationKeys)2 PaymentProxy (alfio.model.transaction.PaymentProxy)2 Organization (alfio.model.user.Organization)2 Role (alfio.model.user.Role)2 EventRepository (alfio.repository.EventRepository)2 UserRepository (alfio.repository.user.UserRepository)2 Function (java.util.function.Function)2 Predicate (java.util.function.Predicate)2 Stream (java.util.stream.Stream)2