[wellwell-devel] [wellwell] Store order number in coupon_log table.
Stefan Hornburg
wellwell-devel at rt.icdevgroup.org
Thu Jul 22 10:42:37 UTC 2010
commit a7533b058880ded35584c6eddfe71d87c58fbcb2
Author: Stefan Hornburg (Racke) <racke at linuxia.de>
Date: Thu Jul 22 12:42:15 2010 +0200
Store order number in coupon_log table.
lib/WellWell/Coupon.pm | 1 +
plugins/coupons/code/coupons_order_cleanup.sub | 16 ++++++++++++++++
plugins/coupons/database/mysql/coupon_log.sql | 1 +
3 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/lib/WellWell/Coupon.pm b/lib/WellWell/Coupon.pm
index 8241d4f..9fa36ed 100644
--- a/lib/WellWell/Coupon.pm
+++ b/lib/WellWell/Coupon.pm
@@ -241,6 +241,7 @@ sub log {
push (@{$Vend::Session->{coupons}->[0]}, $self->{coupon_number});
$Vend::Session->{coupons}->[1]->{$self->{coupon_number}} = {code => $self->{code},
+ log_code => $code,
valid_to => $self->{valid_to}};
return $code;
diff --git a/plugins/coupons/code/coupons_order_cleanup.sub b/plugins/coupons/code/coupons_order_cleanup.sub
index 47aca01..e831498 100644
--- a/plugins/coupons/code/coupons_order_cleanup.sub
+++ b/plugins/coupons/code/coupons_order_cleanup.sub
@@ -1,5 +1,21 @@
Sub coupons_order_cleanup <<EOS
sub {
+ $Tag->perl({tables => 'coupon_log'});
+
+ # store order number in coupon_log table
+ if (exists $Session->{coupons}) {
+ for my $coupon_number (keys %{$Session->{coupons}->[1]}) {
+ my $repo = $Session->{coupons}->[1]->{$coupon_number};
+
+ if ($repo->{log_code}) {
+ $Db{coupon_log}->set_field($repo->{log_code}, 'order_number', $Values->{mv_order_number});
+ }
+ else {
+ Log("coupon_log code missing for coupon $coupon_number and order $Values->{mv_order_number}");
+ }
+ }
+ }
+
delete $Session->{coupons};
# reset discount
diff --git a/plugins/coupons/database/mysql/coupon_log.sql b/plugins/coupons/database/mysql/coupon_log.sql
index b417084..6b7c836 100644
--- a/plugins/coupons/database/mysql/coupon_log.sql
+++ b/plugins/coupons/database/mysql/coupon_log.sql
@@ -4,6 +4,7 @@ CREATE TABLE coupon_log (
uid int unsigned NOT NULL default 0,
session_id char(8) NOT NULL default '',
entered datetime NOT NULL,
+ order_number varchar(14) NOT NULL default '',
PRIMARY KEY(code),
KEY(coupon_code)
);
More information about the wellwell-devel
mailing list