[interchange-cvs] interchange - jon modified lib/Vend/Order.pm
interchange-core@interchange.redhat.com
interchange-core@interchange.redhat.com
Thu May 16 11:07:00 2002
User: jon
Date: 2002-05-16 15:06:25 GMT
Modified: lib/Vend Tag: STABLE_4_8-branch Order.pm
Log:
Fix bug that kept &calc, &return, etc. from ever failing (because no
variable name was associated with them). This appears to have been
broken since the Minivend days, so that there was no difference between
these two:
&calc=$Scratch->{blahblah} = "something"; return 1;
and
&calc=$Scratch->{blahblah} = "something"; return 0;
This fix is already in Interchange 4.9.
Revision Changes Path
No revision
No revision
2.6.2.7 +31 -31 interchange/lib/Vend/Order.pm
rev 2.6.2.7, prev_rev 2.6.2.6
Index: Order.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Order.pm,v
retrieving revision 2.6.2.6
retrieving revision 2.6.2.7
diff -u -u -r2.6.2.6 -r2.6.2.7
--- Order.pm 27 Mar 2002 16:50:03 -0000 2.6.2.6
+++ Order.pm 16 May 2002 15:06:25 -0000 2.6.2.7
@@ -1,6 +1,6 @@
# Vend::Order - Interchange order routing routines
#
-# $Id: Order.pm,v 2.6.2.6 2002/03/27 16:50:03 racke Exp $
+# $Id: Order.pm,v 2.6.2.7 2002/05/16 15:06:25 jon Exp $
#
# Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
#
@@ -28,7 +28,7 @@
package Vend::Order;
require Exporter;
-$VERSION = substr(q$Revision: 2.6.2.6 $, 10);
+$VERSION = substr(q$Revision: 2.6.2.7 $, 10);
@ISA = qw(Exporter);
@@ -843,7 +843,8 @@
sub check_order {
my ($profile, $vref) = @_;
- my($codere) = '[-\w_#/.]+';
+ $Vend::Session->{errors} = {}
+ unless ref $Vend::Session->{errors} eq 'HASH';
my $params;
$Profile = $profile;
if(defined $Vend::Cfg->{OrderProfileName}->{$profile}) {
@@ -862,7 +863,6 @@
}
return undef unless $params;
- my $ref = \%CGI::values;
$params = interpolate_html($params);
$params =~ s/\\\n//g;
@Errors = ();
@@ -903,7 +903,7 @@
s/^\s+//;
s/\s+$//;
($val, $var, $message) = do_check($_, $vref);
- next if ! defined $var;
+#::logDebug("param=$_|val=$val|var=$var|message=$message");
if(defined $And) {
if($And) {
$val = ($last_one && $val);
@@ -914,36 +914,36 @@
undef $And;
}
$last_one = $val;
- if ($val) {
- $::Values->{"mv_status_$var"} = $message
- if defined $message and $message;
- delete $Vend::Session->{errors}{$var};
- delete $::Values->{"mv_error_$var"};
- }
- else {
- $status = 0;
+ $status = 0 unless $val;
+ if ($var) {
+ if ($val) {
+ $::Values->{"mv_status_$var"} = $message
+ if defined $message and $message;
+ delete $Vend::Session->{errors}{$var};
+ delete $::Values->{"mv_error_$var"};
+ }
+ else {
# LEGACY
- $::Values->{"mv_error_$var"} = $message;
+ $::Values->{"mv_error_$var"} = $message;
# END LEGACY
- $Vend::Session->{errors} = {}
- if ! $Vend::Session->{errors};
- if( $No_error ) {
- # do nothing
- }
- elsif( $Vend::Session->{errors}{$var} ) {
- if ($message and $Vend::Session->{errors}{$var} !~ /\Q$message/) {
- $Vend::Session->{errors}{$var} = errmsg(
- '%s and %s',
- $Vend::Session->{errors}{$var},
- $message
- );
+ if( $No_error ) {
+ # do nothing
}
+ elsif( $Vend::Session->{errors}{$var} ) {
+ if ($message and $Vend::Session->{errors}{$var} !~ /\Q$message/) {
+ $Vend::Session->{errors}{$var} = errmsg(
+ '%s and %s',
+ $Vend::Session->{errors}{$var},
+ $message
+ );
+ }
+ }
+ else {
+ $Vend::Session->{errors}{$var} = $message ||
+ errmsg('%s: failed check', $var);
+ }
+ push @Errors, "$var: $message";
}
- else {
- $Vend::Session->{errors}{$var} = $message ||
- errmsg('%s: failed check', $var);
- }
- push @Errors, "$var: $message";
}
if (defined $Success) {
$status = $Success;