[interchange-cvs] interchange - heins modified lib/Vend/Order.pm

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Tue Nov 25 11:58:37 EST 2003


User:      heins
Date:      2003-11-25 16:58:37 GMT
Modified:  lib/Vend Order.pm
Log:
* Make grouping of items work again. When did this go bye-bye?

Revision  Changes    Path
2.61      +9 -3      interchange/lib/Vend/Order.pm


rev 2.61, prev_rev 2.60
Index: Order.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Order.pm,v
retrieving revision 2.60
retrieving revision 2.61
diff -u -r2.60 -r2.61
--- Order.pm	31 Oct 2003 00:29:24 -0000	2.60
+++ Order.pm	25 Nov 2003 16:58:37 -0000	2.61
@@ -1,6 +1,6 @@
 # Vend::Order - Interchange order routing routines
 #
-# $Id: Order.pm,v 2.60 2003/10/31 00:29:24 jon Exp $
+# $Id: Order.pm,v 2.61 2003/11/25 16:58:37 mheins Exp $
 #
 # Copyright (C) 2002-2003 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -29,7 +29,7 @@
 package Vend::Order;
 require Exporter;
 
-$VERSION = substr(q$Revision: 2.60 $, 10);
+$VERSION = substr(q$Revision: 2.61 $, 10);
 
 @ISA = qw(Exporter);
 
@@ -2338,11 +2338,14 @@
 
 	@group   = split /\0/, (delete $CGI::values{mv_order_group} || '');
 	for( my $i = 0; $i < @group; $i++ ) {
+#::logDebug("processing order group=$group[$i]");
 	   $attr{mv_mi}->[$i] = $group[$i] ? ++$Vend::Session->{pageCount} : 0;
 	}
 
 	$j = 0;
 	my $set;
+	my %group_seen;
+
 	foreach $code (@items) {
 		undef $item;
 		$quantity = defined $quantities[$j] ? $quantities[$j] : 1;
@@ -2409,14 +2412,17 @@
 
 			# Add the master item/sub item ids if appropriate
 			if(@group) {
-				if($attr{mv_mi}->[$j]) {
+#::logDebug("processing order_group");
+				if(! $group_seen{ $group[$j] }++ ) {
 					$item->{mv_mi} = $mv_mi = $attr{mv_mi}->[$j];
+#::logDebug("processing new master item=$mv_mi");
 					$item->{mv_mp} = $mv_mp = $attr{mv_mp}->[$j];
 					$item->{mv_si} = $mv_si = 0;
 				}
 				else {
 					$item->{mv_mi} = $mv_mi;
 					$item->{mv_si} = ++$mv_si;
+#::logDebug("processing sub item=$mv_si");
 					$item->{mv_mp} = $attr{mv_mp}->[$j] || $mv_mp;
 				}
 			}








More information about the interchange-cvs mailing list