Skip to content

Commit

Permalink
#100 #110 #111: remove additional services while removing event
Browse files Browse the repository at this point in the history
  • Loading branch information
cbellone committed May 30, 2016
1 parent 3d20152 commit 80ff7d5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 13 deletions.
10 changes: 8 additions & 2 deletions src/main/java/alfio/manager/EventManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -662,9 +662,15 @@ public void deleteEvent(int eventId) {

eventDeleterRepository.deleteTicketFieldValue(eventId);
eventDeleterRepository.deleteFieldDescription(eventId);

eventDeleterRepository.deleteAdditionalServiceFieldValue(eventId);
eventDeleterRepository.deleteAdditionalServiceDescriptions(eventId);
eventDeleterRepository.deleteAdditionalServiceItems(eventId);

eventDeleterRepository.deleteTicketFieldConfiguration(eventId);



eventDeleterRepository.deleteAdditionalServices(eventId);

eventDeleterRepository.deleteEventMigration(eventId);
eventDeleterRepository.deleteSponsorScan(eventId);
eventDeleterRepository.deleteTicket(eventId);
Expand Down
16 changes: 14 additions & 2 deletions src/main/java/alfio/repository/EventDeleterRepository.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,24 @@ public interface EventDeleterRepository {
@Query("delete from email_message where event_id = :eventId")
int deleteEmailMessage(@Bind("eventId") int eventId);

@Query("delete from ticket_field_value where ticket_field_configuration_id_fk in (select id from ticket_field_configuration where event_id_fk = :eventId)")
@Query("delete from ticket_field_value where ticket_field_configuration_id_fk in (select id from ticket_field_configuration where event_id_fk = :eventId and context = 'ATTENDEE')")
int deleteTicketFieldValue(@Bind("eventId") int eventId);

@Query("delete from ticket_field_description where ticket_field_configuration_id_fk in (select id from ticket_field_configuration where event_id_fk = :eventId)")
int deleteFieldDescription(@Bind("eventId") int eventId);


@Query("delete from additional_service_field_value where ticket_field_configuration_id_fk in (select id from ticket_field_configuration where event_id_fk = :eventId and context = 'ADDITIONAL_SERVICE')")
int deleteAdditionalServiceFieldValue(@Bind("eventId") int eventId);

@Query("delete from additional_service_description where additional_service_id_fk in (select id from additional_service where event_id_fk = :eventId)")
int deleteAdditionalServiceDescriptions(@Bind("eventId") int eventId);

@Query("delete from additional_service_item where additional_service_id_fk in (select id from additional_service where event_id_fk = :eventId)")
int deleteAdditionalServiceItems(@Bind("eventId") int eventId);

@Query("delete from additional_service where event_id_fk = :eventId")
int deleteAdditionalServices(@Bind("eventId") int eventId);

@Query("delete from ticket_field_configuration where event_id_fk= :eventId")
int deleteTicketFieldConfiguration(@Bind("eventId") int eventId);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import alfio.manager.support.PartialTicketPDFGenerator;
import alfio.manager.user.UserManager;
import alfio.model.Event;
import alfio.model.SpecialPrice;
import alfio.model.Ticket;
import alfio.model.TicketReservation;
import alfio.model.modification.*;
Expand All @@ -54,7 +53,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.WebIntegrationTest;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
Expand Down Expand Up @@ -262,9 +260,9 @@ public void testUpdateTicketReservation() {
TicketReservationModification trm = new TicketReservationModification();
trm.setAmount(1);
trm.setTicketCategoryId(eventManager.loadTicketCategories(event).get(0).getId());
TicketReservationWithOptionalCodeModification r = new TicketReservationWithOptionalCodeModification(trm, Optional.<SpecialPrice>empty());
TicketReservationWithOptionalCodeModification r = new TicketReservationWithOptionalCodeModification(trm, Optional.empty());
Date expiration = DateUtils.addDays(new Date(), 1);
String reservationId = ticketReservationManager.createTicketReservation(event.getId(), Collections.singletonList(r), expiration, Optional.<String>empty(), Optional.<String>empty(), Locale.ENGLISH, false);
String reservationId = ticketReservationManager.createTicketReservation(event.getId(), Collections.singletonList(r), expiration, Optional.empty(), Optional.empty(), Locale.ENGLISH, false);
dataMigrator.fillReservationsLanguage();
TicketReservation ticketReservation = ticketReservationManager.findById(reservationId).get();
assertEquals("en", ticketReservation.getUserLanguage());
Expand All @@ -285,10 +283,10 @@ public void testUpdateGender() {
TicketReservationModification trm = new TicketReservationModification();
trm.setAmount(2);
trm.setTicketCategoryId(eventManager.loadTicketCategories(event).get(0).getId());
TicketReservationWithOptionalCodeModification r = new TicketReservationWithOptionalCodeModification(trm, Optional.<SpecialPrice>empty());
TicketReservationWithOptionalCodeModification r = new TicketReservationWithOptionalCodeModification(trm, Optional.empty());
Date expiration = DateUtils.addDays(new Date(), 1);
String reservationId = ticketReservationManager.createTicketReservation(event.getId(), Collections.singletonList(r), expiration, Optional.<String>empty(), Optional.<String>empty(), Locale.ENGLISH, false);
ticketReservationManager.confirm("TOKEN", event, reservationId, "[email protected]", "full name", Locale.ENGLISH, null, new TicketReservationManager.TotalPrice(1000, 10, 0, 0), Optional.<String>empty(), Optional.of(PaymentProxy.ON_SITE), false);
String reservationId = ticketReservationManager.createTicketReservation(event.getId(), Collections.singletonList(r), expiration, Optional.empty(), Optional.empty(), Locale.ENGLISH, false);
ticketReservationManager.confirm("TOKEN", event, reservationId, "[email protected]", "full name", Locale.ENGLISH, null, new TicketReservationManager.TotalPrice(1000, 10, 0, 0), Optional.empty(), Optional.of(PaymentProxy.ON_SITE), false);
List<Ticket> tickets = ticketRepository.findTicketsInReservation(reservationId);
UpdateTicketOwnerForm first = new UpdateTicketOwnerForm();
first.setEmail("[email protected]");
Expand All @@ -300,8 +298,8 @@ public void testUpdateGender() {
second.setEmail("[email protected]");
second.setFullName("Full Name");
PartialTicketPDFGenerator generator = TemplateProcessor.buildPartialPDFTicket(Locale.ITALIAN, event, ticketReservationManager.findById(reservationId).get(), ticketCategoryRepository.getById(tickets.get(0).getCategoryId(), event.getId()), organizationRepository.getById(event.getOrganizationId()), templateManager, fileUploadManager);
ticketReservationManager.updateTicketOwner(tickets.get(0), Locale.ITALIAN, event, first, (t) -> "", (t) -> "", generator::generate, Optional.<UserDetails>empty());
ticketReservationManager.updateTicketOwner(tickets.get(1), Locale.ITALIAN, event, second, (t) -> "", (t) -> "", generator::generate, Optional.<UserDetails>empty());
ticketReservationManager.updateTicketOwner(tickets.get(0), Locale.ITALIAN, event, first, (t) -> "", (t) -> "", generator, Optional.empty());
ticketReservationManager.updateTicketOwner(tickets.get(1), Locale.ITALIAN, event, second, (t) -> "", (t) -> "", generator, Optional.empty());
//FIXME
//dataMigrator.fillTicketsGender();
//ticketRepository.findTicketsInReservation(reservationId).forEach(t -> assertEquals("F", t.getGender()));
Expand Down

0 comments on commit 80ff7d5

Please sign in to comment.