[ic] Possible bug in Order.pm of IC Version 4.6.5

Joachim Leidinger interchange-users@interchange.redhat.com
Thu Oct 18 11:24:01 2001


Hi List,

If you have in your catalog.cfg a line like 

OrderLineLimit  25

and you order more than 25 items, you will get a page with the messages

Sorry, there was an error in processing this form action. Please report
the error or try again later. (Undefined subroutine
&Vend::Order::do_lockout called at /home/ic/lib/Vend/Order.pm line 1889.
)

Looking into the Order.pm, I see the lines

------ snip ---------
	if($Vend::Cfg->{OrderLineLimit} and $#$cart >=
$Vend::Cfg->{OrderLineLimit}) {
		@$cart = ();
		my $msg = <<EOF;
WARNING:
Possible bad robot. Cart limit of $Vend::Cfg->{OrderLineLimit}
exceeded.  Cart emptied.
EOF
		do_lockout($msg);
	}
	Vend::Cart::toss_cart($cart);
------ snip ---------

You can prevent this behavior by increasing the OrderLineLimit! But if
you want to limit the OrderLine, you have to add a line

use autouse 'Vend::Error' => qw/do_lockout/;

at the top of the Order.pm file like

------- snip --------
package Vend::Order;
require Exporter;

use autouse 'Vend::Error' => qw/do_lockout/;

$VERSION = substr(q$Revision: 1.20 $, 10);
------- snip --------

Am I right?

Any comments?

Thanks!

Joachim



-- 
Hans-Joachim Leidinger | Dipl.-Phys.Ing. Entwicklung eCommerce
[Hans-Joachim.leidinger@bpanet.de]
Black Point Arts Internet Solutions GmbH
http://www.bpanet.de