fix: EMS now keeps information about registration if a user logs out before they complete their transaction.

This commit is contained in:
Doug Bell 2007-04-06 00:55:39 +00:00
parent 108fb76ee6
commit 2d9649dc10
6 changed files with 167 additions and 76 deletions

View file

@ -1,6 +1,9 @@
7.3.15
- fix: modified Form/Textarea.pm to use -min versions of YUI javascript libraries in order to speed up page load times
- fix: fixed an error in the groups/db system where removing a dblink connected to a group would produce a fatal error
- fix: Event Management System -- No longer uses session scratch to save
purchase information, which breaks things when a user logs out before
they complete their transaction.
7.3.14

View file

@ -7,6 +7,27 @@ upgrading from one version to the next, or even between multiple
versions. Be sure to heed the warnings contained herein as they will
save you many hours of grief.
7.3.15
--------------------------------------------------------------------
* The Event Management System now uses an extra table to store
information about events in the user's cart. This fixes a bug
where a user that logs out after adding events to their cart but
before they complete their transaction will be charged for their
events but not registered for them.
Existing sessions affected by this bug are not fixed, so there may still
be errors. This SQL query will get the session IDs of the
sessions affected by this bug:
select distinct(sessionId)
from shoppingCart
where itemId IN (SELECT productId from EventManagementSystem_products)
AND sessionId IN (SELECT distinct(sessionId) FROM userSessionScratch WHERE name LIKE "purchaseId%");
You may want to expire these sessions from the Admin Console >
Active Sessions screen.
7.3.12
--------------------------------------------------------------------

View file

@ -21,6 +21,7 @@ my $quiet; # this line required
my $session = start(); # this line required
# upgrade functions go here
addEmsSessionPurchaseTable($session);
finish($session); # this line required
@ -32,6 +33,21 @@ finish($session); # this line required
# # and here's our code
#}
#----------------------------------------------------------------------------
sub addEmsSessionPurchaseTable {
my $session = shift;
print "\tAdding EMS Session-to-purchase reference table...";
$session->db->write(
"CREATE TABLE IF NOT EXISTS EventManagementSystem_sessionPurchaseRef (
sessionId VARCHAR(22) BINARY,
purchaseId VARCHAR(22) BINARY,
badgeId VARCHAR(22) BINARY,
PRIMARY KEY (sessionId, purchaseId, badgeId)
)"
);
print "OK!\n";
}
# ---- DO NOT EDIT BELOW THIS LINE ----