[interchange-cvs] interchange - racke modified 2 files

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Fri Dec 5 15:31:49 UTC 2008


User:      racke
Date:      2008-12-05 15:31:49 GMT
Modified:  .        WHATSNEW-5.7
Modified:  lib/Vend Order.pm
Log:
SpecialSub order_missing added (#221).

Revision  Changes    Path
2.20                 interchange/WHATSNEW-5.7


rev 2.20, prev_rev 2.19
Index: WHATSNEW-5.7
===================================================================
RCS file: /var/cvs/interchange/WHATSNEW-5.7,v
retrieving revision 2.19
retrieving revision 2.20
diff -u -r2.19 -r2.20
--- WHATSNEW-5.7	26 Nov 2008 10:02:46 -0000	2.19
+++ WHATSNEW-5.7	5 Dec 2008 15:31:49 -0000	2.20
@@ -14,6 +14,7 @@
 
 * Enable catalog usertags within dispatch routines.
 
+* SpecialSub order_missing added (#221).
 
 ------------------------------------------------------------------------------
 



2.104                interchange/lib/Vend/Order.pm


rev 2.104, prev_rev 2.103
Index: Order.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Order.pm,v
retrieving revision 2.103
retrieving revision 2.104
diff -u -r2.103 -r2.104
--- Order.pm	24 Oct 2008 10:11:35 -0000	2.103
+++ Order.pm	5 Dec 2008 15:31:49 -0000	2.104
@@ -1,6 +1,6 @@
 # Vend::Order - Interchange order routing routines
 #
-# $Id: Order.pm,v 2.103 2008-10-24 10:11:35 pajamian Exp $
+# $Id: Order.pm,v 2.104 2008-12-05 15:31:49 racke Exp $
 #
 # Copyright (C) 2002-2008 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -29,7 +29,7 @@
 package Vend::Order;
 require Exporter;
 
-$VERSION = substr(q$Revision: 2.103 $, 10);
+$VERSION = substr(q$Revision: 2.104 $, 10);
 
 @ISA = qw(Exporter);
 
@@ -2375,7 +2375,23 @@
 			}
 		}
 		if (! $base ) {
-			logError( "Attempt to order missing product code: %s", $code);
+			my ($subname, $sub, $ret);
+			
+			if ($subname = $Vend::Cfg->{SpecialSub}{order_missing}) {
+				$sub = $Vend::Cfg->{Sub}{$subname} || $Global::GlobalSub->{$subname};
+				eval {
+					$ret = $sub->($code, $quantity);
+				};
+
+				if ($@) {
+					::logError("Error running %s subroutine %s: %s", 'order_missing', $subname, $@);
+				}
+			}
+
+			unless ($ret) {
+				logError( "Attempt to order missing product code: %s", $code);
+			}
+
 			next;
 		}
 







More information about the interchange-cvs mailing list