[ic] BUG : In Order::route_order

Murray Gibbins Murray@scotweb.ltd.uk
Thu, 15 Feb 2001 13:00:44 +0000


Setup
--------
Apache 1.3.14 ssl php4
RH 7.0
2.2.18
Interchange 4.6.3 rpm
Perl 5.6



Synopsis
---------

if we have ...

Route	shop	reply	shopping@scotweb.ltd.uk
Route	shop	counter	/var/lib/interchange/catalogs/shop/www/pages/ord/order_number
Route	shop	supplant	1
Route	shop	increment	0
Route	shop	receipt	/var/lib/interchange/catalogs/shop/www/pages/ord/receipt.html
Route	shop	report	/var/lib/interchange/catalogs/shop/www/pages/ord/report.html
Route	shop	email	murray@scotweb.ltd.uk

Then there is a difference of 1 on the reporting of the order number between the
recipt.html and the order report emailed out.

Vend::Order:debug: Doing Route for ARRAY(0x8452c2c)
Vend::Order:debug: Order counter : 
Vend::Order:debug: Doing Route for ARRAY(0x8bea93c)
Vend::Order:debug: Order counter : 000011
Vend::Order:debug: Order counter at PROCESS : 000011
Vend::Order:debug: Order counter at PROCESS:counter 1 : 000011
Vend::Order:debug: $route->{counter} =
/var/lib/interchange/catalogs/shop/www/pages/ord/order_number
Vend::Order:debug: Order counter at PROCESS:counter 2 : 000011



Source of problem
------------------

Order.pm
in method route_order()

in block labeled PROCESS

snip--------

elsif($route->{counter}) {
                        $::Values->{mv_order_number} =
counter_number($route->{counter});
                }

-------snip


Fix
----

Change above snip to 

snip ------

elsif($route->{counter}) {
   #::logDebug('Order counter at PROCESS:counter 1 :
'.$::Values->{mv_order_number});
   #::logDebug('$route->{counter} = '.$route->{counter});

# add one to the counter number only if increment is true;

   if($route->{increment}){
     $::Values->{mv_order_number} = counter_number($route->{counter});
   }
   #::logDebug('Order counter at PROCESS:counter 2 :
'.$::Values->{mv_order_number});
}

-------snip

NB : The order number will still increment as expected.

Yours

Murray


-- 
  ____
  \__/    Murray Gibbins             murray@scotweb.ltd.uk
  /  \    Programmer
_ \__/ _  ================================================
\\ || //  Scotweb Limited,             info@scotweb.ltd.uk
 \\||//   13a Albert Terrace,    http://www.scotweb.ltd.uk
  \||/    Edinburgh EH10 5EA   Tel: +44 (0)  131 270 82 33
   ||     Scotland. Europe.    Fax: +44 (0) 7020  93 49 04