Search in sources :

Example 1 with ConfigurationKeyValuePathLevel

use of alfio.model.system.ConfigurationKeyValuePathLevel in project alf.io by alfio-event.

the class TicketReservationManagerTest method confirmOfflinePayments.

@Test
void confirmOfflinePayments() {
    initConfirmReservation();
    TicketReservation reservation = mock(TicketReservation.class);
    when(reservation.getConfirmationTimestamp()).thenReturn(ZonedDateTime.now(ClockProvider.clock()));
    when(reservation.getId()).thenReturn(RESERVATION_ID);
    when(reservation.getPaymentMethod()).thenReturn(PaymentProxy.OFFLINE);
    when(reservation.getStatus()).thenReturn(OFFLINE_PAYMENT);
    when(reservation.getUserLanguage()).thenReturn("en");
    when(reservation.getFullName()).thenReturn("Full Name");
    when(reservation.getEmail()).thenReturn("ciccio");
    when(reservation.getValidity()).thenReturn(new Date(Instant.now(ClockProvider.clock()).getEpochSecond()));
    when(reservation.getInvoiceModel()).thenReturn("{\"summary\":[], \"originalTotalPrice\":{\"priceWithVAT\":100}}");
    TicketReservation copy = copy(reservation);
    Event event = copy(this.event);
    when(ticketReservationRepository.findOptionalReservationById(eq(RESERVATION_ID))).thenReturn(Optional.of(copy));
    when(ticketReservationRepository.findReservationByIdForUpdate(eq(RESERVATION_ID))).thenReturn(copy);
    when(ticketRepository.updateTicketsStatusWithReservationId(eq(RESERVATION_ID), eq(TicketStatus.ACQUIRED.toString()))).thenReturn(1);
    when(ticketReservationRepository.updateTicketReservation(eq(RESERVATION_ID), eq(COMPLETE.toString()), anyString(), anyString(), isNull(), isNull(), anyString(), isNull(), any(), eq(PaymentProxy.OFFLINE.toString()), isNull())).thenReturn(1);
    when(configurationManager.getFor(eq(VAT_NR), any())).thenReturn(new MaybeConfiguration(VAT_NR, new ConfigurationKeyValuePathLevel(null, "vatnr", null)));
    when(configurationManager.getFor(eq(BANKING_KEY), any())).thenReturn(BANKING_INFO);
    when(configurationManager.getFor(eq(ENABLE_TICKET_TRANSFER), any())).thenReturn(new MaybeConfiguration(ENABLE_TICKET_TRANSFER));
    when(configurationManager.getFor(eq(PLATFORM_MODE_ENABLED), any())).thenReturn(new MaybeConfiguration(PLATFORM_MODE_ENABLED));
    when(ticketRepository.findTicketsInReservation(eq(RESERVATION_ID))).thenReturn(Collections.emptyList());
    when(eventRepository.findByReservationId(eq(RESERVATION_ID))).thenReturn(event);
    when(reservation.getUserLanguage()).thenReturn("en");
    when(reservation.getPromoCodeDiscountId()).thenReturn(null);
    when(organizationRepository.getById(eq(ORGANIZATION_ID))).thenReturn(new Organization(1, "", "", "", null, null));
    // when(configurationManager.getBooleanConfigValue(eq(Configuration.from(event).apply(ENABLE_TICKET_TRANSFER)), eq(true))).thenReturn(true);
    when(billingDocumentRepository.insert(anyInt(), anyString(), anyString(), any(BillingDocument.Type.class), anyString(), any(ZonedDateTime.class), anyInt())).thenReturn(new AffectedRowCountAndKey<>(1, 1L));
    when(billingDocumentRepository.findByIdAndReservationId(anyLong(), anyString())).thenReturn(Optional.of(new BillingDocument(1, 1, "1", "42", BillingDocument.Type.INVOICE, "{}", ZonedDateTime.now(ClockProvider.clock()), BillingDocument.Status.VALID, null)));
    when(json.fromJsonString(anyString(), eq(OrderSummary.class))).thenReturn(mock(OrderSummary.class));
    when(json.asJsonString(any())).thenReturn("{}");
    when(configurationManager.getFor(eq(EnumSet.of(DEFERRED_BANK_TRANSFER_ENABLED, DEFERRED_BANK_TRANSFER_SEND_CONFIRMATION_EMAIL)), any())).thenReturn(Map.of(DEFERRED_BANK_TRANSFER_ENABLED, new MaybeConfiguration(DEFERRED_BANK_TRANSFER_ENABLED)));
    trm.confirmOfflinePayment(event, RESERVATION_ID, "username");
    verify(ticketReservationRepository, atLeastOnce()).findOptionalReservationById(RESERVATION_ID);
    verify(ticketReservationRepository, atLeastOnce()).findReservationById(RESERVATION_ID);
    verify(ticketReservationRepository).lockReservationForUpdate(eq(RESERVATION_ID));
    verify(ticketReservationRepository).confirmOfflinePayment(eq(RESERVATION_ID), eq(COMPLETE.toString()), any(ZonedDateTime.class));
    verify(ticketRepository).updateTicketsStatusWithReservationId(eq(RESERVATION_ID), eq(TicketStatus.ACQUIRED.toString()));
    verify(ticketReservationRepository).updateTicketReservation(eq(RESERVATION_ID), eq(TicketReservationStatus.COMPLETE.toString()), anyString(), anyString(), isNull(), isNull(), anyString(), isNull(), any(), eq(PaymentProxy.OFFLINE.toString()), isNull());
    verify(waitingQueueManager).fireReservationConfirmed(eq(RESERVATION_ID));
    verify(ticketRepository, atLeastOnce()).findTicketsInReservation(RESERVATION_ID);
    verify(specialPriceRepository).updateStatusForReservation(eq(singletonList(RESERVATION_ID)), eq(SpecialPrice.Status.TAKEN.toString()));
    verify(configurationManager, atLeastOnce()).getShortReservationID(eq(event), any(TicketReservation.class));
    verify(ticketRepository).countTicketsInReservation(eq(RESERVATION_ID));
    verify(configurationManager).getFor(eq(PLATFORM_MODE_ENABLED), any());
}
Also used : Organization(alfio.model.user.Organization) ConfigurationKeyValuePathLevel(alfio.model.system.ConfigurationKeyValuePathLevel) MaybeConfiguration(alfio.manager.system.ConfigurationManager.MaybeConfiguration) Test(org.junit.jupiter.api.Test)

Example 2 with ConfigurationKeyValuePathLevel

use of alfio.model.system.ConfigurationKeyValuePathLevel in project alf.io by alfio-event.

the class TicketReservationManagerTest method init.

@BeforeEach
void init() {
    notificationManager = mock(NotificationManager.class);
    messageSource = mock(MessageSource.class);
    messageSourceManager = mock(MessageSourceManager.class);
    ticketReservationRepository = mock(TicketReservationRepository.class);
    ticketFieldRepository = mock(TicketFieldRepository.class);
    configurationManager = mock(ConfigurationManager.class);
    eventRepository = mock(EventRepository.class);
    organizationRepository = mock(OrganizationRepository.class);
    ticketRepository = mock(TicketRepository.class);
    ticketCategoryRepository = mock(TicketCategoryRepository.class);
    ticketCategoryDescriptionRepository = mock(TicketCategoryDescriptionRepository.class);
    paymentManager = mock(PaymentManager.class);
    promoCodeDiscountRepository = mock(PromoCodeDiscountRepository.class);
    specialPriceRepository = mock(SpecialPriceRepository.class);
    transactionRepository = mock(TransactionRepository.class);
    TemplateManager templateManager = mock(TemplateManager.class);
    PlatformTransactionManager transactionManager = mock(PlatformTransactionManager.class);
    waitingQueueManager = mock(WaitingQueueManager.class);
    AdditionalServiceRepository additionalServiceRepository = mock(AdditionalServiceRepository.class);
    AdditionalServiceTextRepository additionalServiceTextRepository = mock(AdditionalServiceTextRepository.class);
    AdditionalServiceItemRepository additionalServiceItemRepository = mock(AdditionalServiceItemRepository.class);
    auditingRepository = mock(AuditingRepository.class);
    event = mock(Event.class);
    specialPrice = mock(SpecialPrice.class);
    ticketCategory = mock(TicketCategory.class);
    ticket = mock(Ticket.class);
    when(ticket.getCurrencyCode()).thenReturn("CHF");
    when(ticket.getVatStatus()).thenReturn(PriceContainer.VatStatus.NOT_INCLUDED);
    when(ticket.getCategoryId()).thenReturn(TICKET_CATEGORY_ID);
    jdbcTemplate = mock(NamedParameterJdbcTemplate.class);
    json = mock(Json.class);
    reservationModification = mock(TicketReservationWithOptionalCodeModification.class);
    ticketReservation = mock(TicketReservation.class);
    when(ticketReservation.getStatus()).thenReturn(PENDING);
    when(ticketReservation.getUserLanguage()).thenReturn("en");
    when(ticketReservation.getId()).thenReturn(RESERVATION_ID);
    when(ticketReservation.getSrcPriceCts()).thenReturn(100);
    when(ticketReservation.getFinalPriceCts()).thenReturn(100);
    when(ticketReservation.getVatCts()).thenReturn(0);
    when(ticketReservation.getDiscountCts()).thenReturn(0);
    when(ticketReservation.getCurrencyCode()).thenReturn(EVENT_CURRENCY);
    when(ticketReservationRepository.findReservationByIdForUpdate(RESERVATION_ID)).thenReturn(ticketReservation);
    when(ticketReservationRepository.findReservationById(RESERVATION_ID)).thenReturn(ticketReservation);
    when(ticketReservationRepository.getAdditionalInfo(any())).thenReturn(mock(TicketReservationAdditionalInfo.class));
    organization = new Organization(ORGANIZATION_ID, "org", "desc", ORG_EMAIL, null, null);
    TicketSearchRepository ticketSearchRepository = mock(TicketSearchRepository.class);
    GroupManager groupManager = mock(GroupManager.class);
    userRepository = mock(UserRepository.class);
    ExtensionManager extensionManager = mock(ExtensionManager.class);
    billingDocumentRepository = mock(BillingDocumentRepository.class);
    when(ticketCategoryRepository.getByIdAndActive(anyInt(), eq(EVENT_ID))).thenReturn(ticketCategory);
    when(ticketCategoryRepository.getByIdsAndActive(anyCollection(), eq(EVENT_ID))).thenReturn(List.of(ticketCategory));
    when(ticketCategory.getName()).thenReturn("Category Name");
    when(ticketCategory.getCurrencyCode()).thenReturn(CATEGORY_CURRENCY);
    when(configurationManager.getFor(eq(VAT_NR), any())).thenReturn(new MaybeConfiguration(VAT_NR));
    when(messageSourceManager.getMessageSourceFor(any())).thenReturn(messageSource);
    when(messageSourceManager.getRootMessageSource()).thenReturn(messageSource);
    MaybeConfiguration configuration = mock(MaybeConfiguration.class);
    when(configurationManager.getFor(eq(SEND_TICKETS_AUTOMATICALLY), any())).thenReturn(configuration);
    when(configuration.getValueAsBooleanOrDefault()).thenReturn(true);
    purchaseContextManager = mock(PurchaseContextManager.class);
    when(purchaseContextManager.findByReservationId(anyString())).thenReturn(Optional.of(event));
    billingDocumentManager = mock(BillingDocumentManager.class);
    trm = new TicketReservationManager(eventRepository, organizationRepository, ticketRepository, ticketReservationRepository, ticketCategoryRepository, ticketCategoryDescriptionRepository, configurationManager, paymentManager, promoCodeDiscountRepository, specialPriceRepository, transactionRepository, notificationManager, messageSourceManager, templateManager, transactionManager, waitingQueueManager, ticketFieldRepository, additionalServiceRepository, additionalServiceItemRepository, additionalServiceTextRepository, auditingRepository, userRepository, extensionManager, ticketSearchRepository, groupManager, billingDocumentRepository, jdbcTemplate, json, billingDocumentManager, TestUtil.clockProvider(), purchaseContextManager, mock(SubscriptionRepository.class), mock(UserManager.class));
    when(event.getId()).thenReturn(EVENT_ID);
    when(event.getOrganizationId()).thenReturn(ORGANIZATION_ID);
    when(event.mustUseFirstAndLastName()).thenReturn(false);
    when(event.getCurrency()).thenReturn(EVENT_CURRENCY);
    when(event.now(any(ClockProvider.class))).thenReturn(ZonedDateTime.now(ClockProvider.clock()));
    when(event.now(any(Clock.class))).thenReturn(ZonedDateTime.now(ClockProvider.clock()));
    when(event.event()).thenReturn(Optional.of(event));
    when(event.getType()).thenReturn(PurchaseContext.PurchaseContextType.event);
    when(event.ofType(eq(PurchaseContext.PurchaseContextType.event))).thenReturn(true);
    when(ticketCategoryRepository.getByIdAndActive(eq(TICKET_CATEGORY_ID), eq(EVENT_ID))).thenReturn(ticketCategory);
    when(specialPrice.getCode()).thenReturn(SPECIAL_PRICE_CODE);
    when(specialPrice.getId()).thenReturn(SPECIAL_PRICE_ID);
    when(eventRepository.findByReservationId(eq(RESERVATION_ID))).thenReturn(event);
    when(eventRepository.findAll()).thenReturn(Collections.singletonList(event));
    var baseUrlConf = new MaybeConfiguration(ConfigurationKeys.BASE_URL, new ConfigurationKeyValuePathLevel(null, BASE_URL, null));
    when(configurationManager.baseUrl(any())).thenReturn(StringUtils.removeEnd(BASE_URL, "/"));
    when(configurationManager.getForSystem(ConfigurationKeys.BASE_URL)).thenReturn(baseUrlConf);
    when(configurationManager.getFor(eq(ConfigurationKeys.BASE_URL), any())).thenReturn(baseUrlConf);
    when(configurationManager.hasAllConfigurationsForInvoice(eq(event))).thenReturn(false);
    when(ticketReservationRepository.findReservationByIdForUpdate(RESERVATION_ID)).thenReturn(ticketReservation);
    when(ticket.getId()).thenReturn(TICKET_ID);
    when(ticket.getSrcPriceCts()).thenReturn(10);
    when(ticketCategory.getId()).thenReturn(TICKET_CATEGORY_ID);
    when(organizationRepository.getById(eq(ORGANIZATION_ID))).thenReturn(organization);
    when(event.getZoneId()).thenReturn(ClockProvider.clock().getZone());
    when(event.getBegin()).thenReturn(ZonedDateTime.now(ClockProvider.clock()).plusDays(1));
    when(event.getVatStatus()).thenReturn(PriceContainer.VatStatus.NOT_INCLUDED);
    when(userRepository.findIdByUserName(anyString())).thenReturn(Optional.empty());
    when(extensionManager.handleInvoiceGeneration(any(), any(), any(), anyMap())).thenReturn(Optional.empty());
    when(messageSource.getMessage(eq("ticket-has-changed-owner-subject"), any(), any())).thenReturn("subject");
    when(messageSource.getMessage(eq("reminder.ticket-not-assigned.subject"), any(), any())).thenReturn("subject");
    when(billingDocumentRepository.insert(anyInt(), anyString(), anyString(), any(), anyString(), any(), anyInt())).thenReturn(new AffectedRowCountAndKey<>(1, 1L));
    totalPrice = mock(TotalPrice.class);
}
Also used : Organization(alfio.model.user.Organization) NamedParameterJdbcTemplate(org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate) OrganizationRepository(alfio.repository.user.OrganizationRepository) ConfigurationKeyValuePathLevel(alfio.model.system.ConfigurationKeyValuePathLevel) MaybeConfiguration(alfio.manager.system.ConfigurationManager.MaybeConfiguration) UserRepository(alfio.repository.user.UserRepository) ConfigurationManager(alfio.manager.system.ConfigurationManager) MessageSource(org.springframework.context.MessageSource) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) TicketReservationWithOptionalCodeModification(alfio.model.modification.TicketReservationWithOptionalCodeModification) MessageSourceManager(alfio.manager.i18n.MessageSourceManager) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 3 with ConfigurationKeyValuePathLevel

use of alfio.model.system.ConfigurationKeyValuePathLevel in project alf.io by alfio-event.

the class TicketReservationManagerTest method testPaidReservation.

private void testPaidReservation(boolean enableTicketTransfer, boolean expectSuccess, boolean expectCompleteReservation) {
    initConfirmReservation();
    when(configurationManager.getFor(eq(ENABLE_TICKET_TRANSFER), any())).thenReturn(new MaybeConfiguration(ENABLE_TICKET_TRANSFER, new ConfigurationKeyValuePathLevel(null, Boolean.toString(enableTicketTransfer), null)));
    when(ticketReservationRepository.updateTicketReservation(eq(RESERVATION_ID), eq(TicketReservationStatus.COMPLETE.toString()), anyString(), anyString(), isNull(), isNull(), anyString(), anyString(), any(), eq(PaymentProxy.STRIPE.toString()), isNull())).thenReturn(1);
    when(ticketRepository.updateTicketsStatusWithReservationId(eq(RESERVATION_ID), eq(TicketStatus.ACQUIRED.toString()))).thenReturn(1);
    when(ticketReservation.getPromoCodeDiscountId()).thenReturn(null);
    when(ticketReservationRepository.findOptionalReservationById(eq(RESERVATION_ID))).thenReturn(Optional.of(ticketReservation));
    when(ticketReservationRepository.updateTicketReservation(eq(RESERVATION_ID), eq(IN_PAYMENT.toString()), anyString(), anyString(), isNull(), isNull(), anyString(), anyString(), isNull(), eq(PaymentProxy.STRIPE.toString()), isNull())).thenReturn(1);
    when(ticketRepository.findTicketsInReservation(eq(RESERVATION_ID))).thenReturn(List.of(ticket));
    when(ticket.getFullName()).thenReturn("Giuseppe Garibaldi");
    when(ticket.getUserLanguage()).thenReturn("en");
    StripeCreditCardManager stripeCreditCardManager = mock(StripeCreditCardManager.class);
    when(stripeCreditCardManager.accept(eq(PaymentMethod.CREDIT_CARD), any(), any())).thenReturn(true);
    when(paymentManager.streamActiveProvidersByProxy(eq(PaymentProxy.STRIPE), any())).thenReturn(Stream.of(stripeCreditCardManager));
    when(stripeCreditCardManager.getTokenAndPay(any())).thenReturn(PaymentResult.successful(TRANSACTION_ID));
    PaymentSpecification spec = new PaymentSpecification(RESERVATION_ID, new StripeCreditCardToken(GATEWAY_TOKEN), 100, event, "test@email", new CustomerName("Full Name", null, null, event.mustUseFirstAndLastName()), "", null, Locale.ENGLISH, true, false, null, "IT", "123456", PriceContainer.VatStatus.INCLUDED, true, false);
    when(ticketReservation.getStatus()).thenReturn(IN_PAYMENT);
    when(configurationManager.getBlacklistedMethodsForReservation(eq(event), any())).thenReturn(List.of());
    PaymentResult result = trm.performPayment(spec, new TotalPrice(100, 0, 0, 0, "CHF"), PaymentProxy.STRIPE, PaymentMethod.CREDIT_CARD, null);
    if (expectSuccess) {
        Assertions.assertTrue(result.isSuccessful());
        Assertions.assertEquals(Optional.of(TRANSACTION_ID), result.getGatewayId());
        verify(ticketReservationRepository).findReservationByIdForUpdate(eq(RESERVATION_ID));
        verify(ticketReservationRepository, atLeastOnce()).findReservationById(RESERVATION_ID);
        verify(ticketReservationRepository).updateBillingData(eq(PriceContainer.VatStatus.INCLUDED), eq(100), eq(100), eq(0), eq(0), eq(EVENT_CURRENCY), eq("123456"), eq("IT"), eq(true), eq(RESERVATION_ID));
        verify(ticketRepository, expectCompleteReservation ? atLeastOnce() : times(1)).findTicketsInReservation(anyString());
        var verificationMode = expectCompleteReservation ? times(1) : never();
        verify(ticketReservationRepository, verificationMode).updateTicketReservation(eq(RESERVATION_ID), eq(TicketReservationStatus.IN_PAYMENT.toString()), anyString(), anyString(), isNull(), isNull(), anyString(), anyString(), any(), eq(PaymentProxy.STRIPE.toString()), isNull());
        verify(ticketRepository, verificationMode).updateTicketsStatusWithReservationId(eq(RESERVATION_ID), eq(TicketStatus.ACQUIRED.toString()));
        verify(specialPriceRepository, verificationMode).updateStatusForReservation(eq(singletonList(RESERVATION_ID)), eq(SpecialPrice.Status.TAKEN.toString()));
        verify(ticketReservationRepository, verificationMode).updateTicketReservation(eq(RESERVATION_ID), eq(TicketReservationStatus.COMPLETE.toString()), anyString(), anyString(), isNull(), isNull(), anyString(), anyString(), any(), eq(PaymentProxy.STRIPE.toString()), isNull());
        verify(waitingQueueManager, verificationMode).fireReservationConfirmed(eq(RESERVATION_ID));
        verify(billingDocumentManager, verificationMode).generateInvoiceNumber(eq(spec), any());
        verify(ticketReservationRepository, never()).setInvoiceNumber(eq(RESERVATION_ID), any());
    } else {
        Assertions.assertFalse(result.isSuccessful());
        Assertions.assertTrue(result.isFailed());
    }
}
Also used : PaymentResult(alfio.manager.support.PaymentResult) StripeCreditCardToken(alfio.model.transaction.token.StripeCreditCardToken) ConfigurationKeyValuePathLevel(alfio.model.system.ConfigurationKeyValuePathLevel) MaybeConfiguration(alfio.manager.system.ConfigurationManager.MaybeConfiguration)

Example 4 with ConfigurationKeyValuePathLevel

use of alfio.model.system.ConfigurationKeyValuePathLevel in project alf.io by alfio-event.

the class CheckInManagerTest method getStatistics.

@Test
void getStatistics() {
    when(configurationManager.getFor(eq(CHECK_IN_STATS), any(ConfigurationLevel.class))).thenReturn(new ConfigurationManager.MaybeConfiguration(CHECK_IN_STATS, new ConfigurationKeyValuePathLevel(null, "true", null)));
    CheckInStatistics statistics = checkInManager.getStatistics(EVENT_NAME, USERNAME);
    assertNotNull(statistics);
    verify(eventRepository).retrieveCheckInStatisticsForEvent(EVENT_ID);
}
Also used : ConfigurationLevel(alfio.manager.system.ConfigurationLevel) CheckInStatistics(alfio.manager.support.CheckInStatistics) ConfigurationManager(alfio.manager.system.ConfigurationManager) ConfigurationKeyValuePathLevel(alfio.model.system.ConfigurationKeyValuePathLevel) Test(org.junit.jupiter.api.Test)

Example 5 with ConfigurationKeyValuePathLevel

use of alfio.model.system.ConfigurationKeyValuePathLevel in project alf.io by alfio-event.

the class TicketReservationManagerTest method confirmPaidReservationButDoNotSendEmail.

@Test
void confirmPaidReservationButDoNotSendEmail() {
    when(ticketReservationRepository.findOptionalStatusAndValidationById(eq(RESERVATION_ID))).thenReturn(Optional.of(new TicketReservationStatusAndValidation(PENDING, true)));
    when(configurationManager.getFor(eq(ENABLE_TICKET_TRANSFER), any())).thenReturn(new MaybeConfiguration(ENABLE_TICKET_TRANSFER));
    when(configurationManager.getFor(eq(SEND_TICKETS_AUTOMATICALLY), any())).thenReturn(new MaybeConfiguration(SEND_TICKETS_AUTOMATICALLY, new ConfigurationKeyValuePathLevel(null, "false", null)));
    when(configurationManager.getFor(eq(BANKING_KEY), any())).thenReturn(BANKING_INFO);
    mockBillingDocument();
    testPaidReservation(true, true);
    verify(notificationManager, never()).sendTicketByEmail(any(), any(), any(), any(), any(), any(), any());
}
Also used : ConfigurationKeyValuePathLevel(alfio.model.system.ConfigurationKeyValuePathLevel) MaybeConfiguration(alfio.manager.system.ConfigurationManager.MaybeConfiguration) Test(org.junit.jupiter.api.Test)

Aggregations

ConfigurationKeyValuePathLevel (alfio.model.system.ConfigurationKeyValuePathLevel)14 Test (org.junit.jupiter.api.Test)9 MaybeConfiguration (alfio.manager.system.ConfigurationManager.MaybeConfiguration)7 ConfigurationManager (alfio.manager.system.ConfigurationManager)6 BeforeEach (org.junit.jupiter.api.BeforeEach)3 CheckInStatistics (alfio.manager.support.CheckInStatistics)2 ConfigurationLevel (alfio.manager.system.ConfigurationLevel)2 EventAndOrganizationId (alfio.model.EventAndOrganizationId)2 Organization (alfio.model.user.Organization)2 MessageSourceManager (alfio.manager.i18n.MessageSourceManager)1 AdminOpenIdAuthenticationManager (alfio.manager.openid.AdminOpenIdAuthenticationManager)1 PaymentResult (alfio.manager.support.PaymentResult)1 TemplateGenerator (alfio.manager.support.TemplateGenerator)1 Ticket (alfio.model.Ticket)1 WaitingQueueSubscription (alfio.model.WaitingQueueSubscription)1 TicketReservationWithOptionalCodeModification (alfio.model.modification.TicketReservationWithOptionalCodeModification)1 StripeCreditCardToken (alfio.model.transaction.token.StripeCreditCardToken)1 OrganizationRepository (alfio.repository.user.OrganizationRepository)1 UserRepository (alfio.repository.user.UserRepository)1 Json (alfio.util.Json)1