From 2df5360619a29f5aa96a50fd40fbfcd5aa208c4b Mon Sep 17 00:00:00 2001 From: Matthew Wilson Date: Sat, 13 May 2006 14:11:02 +0000 Subject: [PATCH] who knows.... --- lib/WebGUI/Asset/Wobject/EventManagementSystem.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm index fbc3753de..b8afae23e 100644 --- a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm +++ b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm @@ -2087,7 +2087,19 @@ sub www_addEventsToBadge { } else { my $purchaseCounter = $self->session->form->process('purchaseCounter'); if ($purchaseCounter ne "") { + my $purchaseIdToDelete = $self->session->scratch->get('purchaseId'.$purchaseCounter); + my @eventsToSubtract = $self->session->db->buildArray("select r.productId from EventManagementSystem_registrations as r, EventManagementSystem_purchases as p, where r.purchaseId=? and (p.transactionId='' or p.transactionId is null) and p.purchaseId=r.purchaseId",[$purchaseIdToDelete]); + my $shoppingCart = WebGUI::Commerce::ShoppingCart->new($self->session); + my ($items, $nothing) = $shoppingCart->getItems; + foreach my $event (@eventsToSubtract) { + foreach my $item (@$items) { + if ($item->{item}->{productId} eq $event}) { + $shoppingCart->setQuantity($event,'Event',($item->{item} - 1)); + } + } + } $self->session->scratch->delete('purchaseId'.$purchaseCounter); + } } return $self->www_resetScratchCart();