[interchange-cvs] interchange - heins modified 2 files
interchange-core@interchange.redhat.com
interchange-core@interchange.redhat.com
Thu Jul 4 19:12:00 2002
User: heins
Date: 2002-07-04 23:11:13 GMT
Modified: lib/Vend Order.pm UserDB.pm
Log:
* Add ability to use SQL sequence as order number counter, defined
with "sql_counter" key in route.
* Add ability for Accounting modules to *not* assign a customer number
if needed, by setting "Accounting tag assign_username 0" to settings.
* Prevent incrementing counter for assign_username unless it will
actually be used.
Revision Changes Path
2.26 +16 -10 interchange/lib/Vend/Order.pm
rev 2.26, prev_rev 2.25
Index: Order.pm
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /anon_cvs/repository/interchange/lib/Vend/Order.pm,v
retrieving revision 2.25
retrieving revision 2.26
diff -u -r2.25 -r2.26
--- Order.pm 27 Jun 2002 22:24:10 -0000 2.25
+++ Order.pm 4 Jul 2002 23:11:13 -0000 2.26
@@ -1,6 +1,6 @@
# Vend::Order - Interchange order routing routines
#
-# $Id: Order.pm,v 2.25 2002/06/27 22:24:10 jon Exp $
+# $Id: Order.pm,v 2.26 2002/07/04 23:11:13 mheins Exp $
#
# Copyright (C) 1996-2001 Red Hat, Inc. <interchange@redhat.com>
#
@@ -28,7 +28,7 @@
package Vend::Order;
require Exporter;
=20
-$VERSION =3D substr(q$Revision: 2.25 $, 10);
+$VERSION =3D substr(q$Revision: 2.26 $, 10);
=20
@ISA =3D qw(Exporter);
=20
@@ -1241,10 +1241,9 @@
=20
sub counter_number {
my $file =3D shift || $Vend::Cfg->{OrderCounter};
- $Vend::CounterFile::DEFAULT_DIR =3D $Vend::Cfg->{VendRoot}
- unless $file =3D~ m!^/!;
- my $c =3D new Vend::CounterFile $file, "000000";
- return $c->inc;
+ my $sql =3D shift;
+ my $start =3D shift || '000000';
+ return Vend::Interpolate::tag_counter($file, { sql =3D> $sql, start =3D> =
$start });
}
=20
sub update_order_number {
@@ -1370,9 +1369,12 @@
=20
# Careful! If you set it on one order and not on another,
# you must delete in between.
- if(! $check_only) {
- $::Values->{mv_order_number} =3D counter_number($main->{counter})
- unless $Vend::Session->{mv_order_number};
+ if(! $check_only and ! $Vend::Session->{mv_order_number}) {
+ $::Values->{mv_order_number} =3D counter_number(
+ $main->{counter},
+ $main->{sql_counter},
+ $main->{first_order_number},
+ );
}
=20
my $value_save =3D { %{$::Values} };
@@ -1533,7 +1535,11 @@
$::Values->{mv_order_number} =3D $Vend::Session->{mv_order_number};
}
elsif($route->{counter}) {
- $::Values->{mv_order_number} =3D counter_number($route->{counter});
+ $::Values->{mv_order_number} =3D counter_number(
+ $route->{counter},
+ $route->{sql_counter},
+ $route->{first_order_number},
+ );
}
elsif($route->{increment}) {
$::Values->{mv_order_number} =3D counter_number();
2.8 +11 -8 interchange/lib/Vend/UserDB.pm
rev 2.8, prev_rev 2.7
Index: UserDB.pm
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /anon_cvs/repository/interchange/lib/Vend/UserDB.pm,v
retrieving revision 2.7
retrieving revision 2.8
diff -u -r2.7 -r2.8
--- UserDB.pm 4 Jul 2002 17:19:48 -0000 2.7
+++ UserDB.pm 4 Jul 2002 23:11:13 -0000 2.8
@@ -1,6 +1,6 @@
# Vend::UserDB - Interchange user database functions
#
-# $Id: UserDB.pm,v 2.7 2002/07/04 17:19:48 mheins Exp $
+# $Id: UserDB.pm,v 2.8 2002/07/04 23:11:13 mheins Exp $
#
# Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
#
@@ -16,7 +16,7 @@
=20
package Vend::UserDB;
=20
-$VERSION =3D substr(q$Revision: 2.7 $, 10);
+$VERSION =3D substr(q$Revision: 2.8 $, 10);
=20
use vars qw!
$VERSION
@@ -1311,19 +1311,21 @@
my $start =3D $self->{OPTIONS}{username} || 'U00000';
$file =3D './etc/username.counter' if ! $file;
=20
- my $custno =3D Vend::Interpolate::tag_counter(
- $file,
- { sql =3D> $self->{OPTIONS}{sql_counter} },
- );
+ my $o =3D { start =3D> $start, sql =3D> $self->{OPTIONS}{sql_counter} };
+
+ my $custno;
=20
if(my $l =3D $Vend::Cfg->{Accounting}) {
=20
my $class =3D $l->{Class};
=20
+ my $assign =3D defined $l->{assign_username} ? $l->{assign_username} : 1;
+
+ if($assign) {
#::logDebug("Accounting class is $class");
my $obj;
eval {
- $obj =3D $class->new;;
+ $obj =3D $class->new;
};
#::logDebug("Accounting object is $obj");
=20
@@ -1334,10 +1336,11 @@
);
}
$custno =3D $obj->assign_customer_number();
+ }
#::logDebug("assigned new customer number $custno");
}
=20
- return $custno;
+ return $custno || Vend::Interpolate::tag_counter($file, $o);
}
=20
sub new_account {