[interchange-cvs] interchange - heins modified 28 files

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Thu Oct 17 00:47:00 2002


User:      heins
Date:      2002-10-17 04:46:24 GMT
Modified:  .        MANIFEST WHATSNEW configure
Modified:  dist     interchange.cfg.dist
Modified:  dist/foundation/config additional_fields
Modified:  dist/foundation/dbconf/mysql orderline.mysql
Modified:           transactions.mysql
Modified:  dist/foundation/dbconf/oracle transactions.ora
Modified:  dist/foundation/dbconf/pgsql orderline.pgsql
Modified:           transactions.pgsql
Modified:  dist/foundation/etc log_transaction
Modified:  dist/foundation/products mv_metadata.asc transactions.txt
Modified:           variable.txt
Modified:  dist/foundation/templates/sampledata/tools/products
Modified:           transactions.txt
Modified:  dist/lib/UI/pages/admin db_metaconfig.html item.html
Modified:           order.html order_status.html
Modified:  lib/Vend Order.pm Payment.pm
Modified:  lib/Vend/Payment AuthorizeNet.pm TestPayment.pm
Modified:  lib/Vend/Table Editor.pm
Modified:  scripts  makecat.PL
Added:     code/UI_Tag update_order_status.tag
Removed:   dist/foundation/templates/sampledata/reports/products
Removed:            orderline.txt transactions.txt
Log:
* Major update to order status functions in UI. Much of this is funded
  thanks to Gary Norton and Broadgap Technologies.

* Created new update_order_status.tag usertag which does most
  of the functions done previously in admin/order_status.html

* Order status funky page code replaced with [table-editor version].

* Now can "Shipped checked orders". If you check the ship_auto
  check box, it will:

	-- settle CC charge with payment processor if that is needed
	   or wanted
  	-- ship all lines on order
	-- update all status to shipped
	-- archive the order

* Added following fields to transactions:

  auth_code  -- contains authorization code needed for charge settlement
  tracking_number -- separate shipping tracking number from status

  Also updated log_transaction to insert auth_code if available.

* Regularized database types for orderline and transactions

* Removed unnecessary blank "reports" sampledata for orderline and
  transaction

* Added much metadata for orderline, transactions, and payment
  settings

* Fix auto-encryption of credit card number in Vend::Payment even
  if no EncryptKey or credit card number.

* Modified Vend::Payment::TestPayment to allow testing of charge
  settlement.

* Allow setting link-no-blank=3D1 in [table-editor] to prevent addition
  of rows in a linked table for a particular view.

* To test out settlement and batch updates with Vend::Payment::TestPayment

	1. Uncomment "Require" line in interchange.cfg.
	2. Set following payment preferences in Administration->Preferences:

		MV_PAYMENT_MODE    testpayment
		MV_PAYMENT_ID      test
		SETTLE_TRANSACTION 1

	3. Restart, place a new order, and use Order Manager to ship.

Revision  Changes    Path
2.70      +3 -2      interchange/MANIFEST


rev 2.70, prev_rev 2.69
Index: MANIFEST
=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: /var/cvs/interchange/MANIFEST,v
retrieving revision 2.69
retrieving revision 2.70
diff -u -r2.69 -r2.70
--- MANIFEST	11 Oct 2002 18:50:28 -0000	2.69
+++ MANIFEST	17 Oct 2002 04:46:23 -0000	2.70
@@ -15,6 +15,7 @@
 code/ActionMap/foo.am
 code/Filter/date2time.filter
 code/Filter/lc.filter
+code/Filter/next_sequential.filter
 code/SystemTag/accessories.coretag
 code/SystemTag/accounting.coretag
 code/SystemTag/area.coretag
@@ -168,6 +169,7 @@
 code/UI_Tag/table_editor.coretag
 code/UI_Tag/uneval.coretag
 code/UI_Tag/unlink_file.coretag
+code/UI_Tag/update_order_status.tag
 code/UI_Tag/version.coretag
 code/UI_Tag/widget.coretag
 code/UI_Tag/with.coretag
@@ -794,10 +796,8 @@
 dist/foundation/templates/sampledata/reports/products/inventory.txt
 dist/foundation/templates/sampledata/reports/products/merchandising.txt
 dist/foundation/templates/sampledata/reports/products/options.txt
-dist/foundation/templates/sampledata/reports/products/orderline.txt
 dist/foundation/templates/sampledata/reports/products/pricing.txt
 dist/foundation/templates/sampledata/reports/products/products.txt
-dist/foundation/templates/sampledata/reports/products/transactions.txt
 dist/foundation/templates/sampledata/reports/products/userdb.txt
 dist/foundation/templates/sampledata/tools/etc/after.cfg
 dist/foundation/templates/sampledata/tools/etc/before.cfg
@@ -1216,6 +1216,7 @@
 lib/Vend/Session.pm
 lib/Vend/SessionDB.pm
 lib/Vend/SessionFile.pm
+lib/Vend/Swish.pm
 lib/Vend/Table/Common.pm
 lib/Vend/Table/DBI.pm
 lib/Vend/Table/DB_File.pm



2.45      +10 -0     interchange/WHATSNEW


rev 2.45, prev_rev 2.44
Index: WHATSNEW
=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: /var/cvs/interchange/WHATSNEW,v
retrieving revision 2.44
retrieving revision 2.45
diff -u -r2.44 -r2.45
--- WHATSNEW	14 Oct 2002 22:04:57 -0000	2.44
+++ WHATSNEW	17 Oct 2002 04:46:23 -0000	2.45
@@ -156,6 +156,12 @@
   their site's interaction with the Interchange Payment system, without
   actually being connected to a real Payment Services Provider.=20
=20
+* Change AuthorizeNet.pm to more easily enable settlement of orders
+  done via AUTH_ONLY.
+
+* Prevent automatic try at credit card encryption if no EncryptKey
+  is present.
+
 Filters
 -------
=20
@@ -369,6 +375,10 @@
=20
 * Ability to employ database entries in filters supported by profile=20
   "process_filter" now.
+
+* Major update to order status update program. Now can batch ship by
+  checking boxes, sequence ship, settle transactions previously done
+  via auth_only with realtime payment gateway, and more.
=20
 * Many, many, minor bug fixes and improvements.
=20



2.7       +2 -2      interchange/configure


rev 2.7, prev_rev 2.6
Index: configure
=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: /var/cvs/interchange/configure,v
retrieving revision 2.6
retrieving revision 2.7
diff -u -r2.6 -r2.7
--- configure	15 Aug 2002 20:18:48 -0000	2.6
+++ configure	17 Oct 2002 04:46:23 -0000	2.7
@@ -1,6 +1,6 @@
 #!/bin/sh
=20
-# $Id: configure,v 2.6 2002/08/15 20:18:48 mheins Exp $
+# $Id: configure,v 2.7 2002/10/17 04:46:23 mheins Exp $
=20
 cat <<EOF
=20
@@ -102,6 +102,6 @@
 echo
 fi
=20
-$PERL Makefile.PL
+$PERL Makefile.PL $*
 make
 make test && make install



1.1                  interchange/code/UI_Tag/update_order_status.tag


rev 1.1, prev_rev 1.0
Index: update_order_status.tag
=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
UserTag update-order-status Order order_number
UserTag update-order-status addAttr
UserTag update-order-status Version $Id: update_order_status.tag,v 1.1 2002=
/10/17 04:46:23 mheins Exp $
UserTag update-order-status Routine <<EOR
sub {
	my ($on, $opt) =3D @_;
	my $die =3D sub {
		logError(@_);
		return undef;
	};
	my $odb =3D database_exists_ref($opt->{orderline_table} || 'orderline')
		or return $die->("No %s table!", 'orderline');
	my $tdb =3D database_exists_ref($opt->{transactions_table} || 'transaction=
s')
		or return $die->("No %s table!", 'transactions');
	my $udb =3D database_exists_ref($opt->{userdb_table} || 'userdb')
		or return $die->("No %s table!", 'userdb');

	my $trec =3D $tdb->row_hash($on);

	if(! $trec) {
		return $die->("Bad transaction number: %s", $on);
	}

	my $user       =3D $trec->{username};
	my $wants_copy =3D $udb->field($user, 'email_copy');

	for(qw/
			settle_transaction
			status
			archive
			lines_shipped
			send_email
			ship_all
		/)
	{
		$opt->{$_} =3D $CGI::values{$_} if ! defined $opt->{$_};
	}

	$wants_copy =3D $opt->{send_email} if length $opt->{send_email};
#Log("Order number=3D$on username=3D$user wants=3D$wants_copy");
	delete $::Scratch->{ship_notice_username};
	delete $::Scratch->{ship_notice_email};
	if($wants_copy) {
		$::Scratch->{ship_notice_username} =3D $user;
		$::Scratch->{ship_notice_email} =3D $udb->field($user, 'email')
			or delete $::Scratch->{ship_notice_username};
	}

=09=20
	if($opt->{settle_transaction}) {
		my $oid =3D $trec->{order_id};
		my $amount =3D $trec->{total_cost};
		SETTLE: {
			if(! $oid) {
				Vend::Tags->error( {
								name =3D> 'settle_transaction',
								set =3D> "No order ID to settle!",
							});
				return undef;
			}
			elsif($oid =3D~ /\*$/) {
				Vend::Tags->error( {
								name =3D> 'settle_transaction',
								set =3D> "Order ID $oid already settled!",
							});
				return undef;
			}
			else {
#::logDebug("auth-code: $trec->{auth_code} oid=3D$oid");
				my $settled  =3D Vend::Tags->charge( {
									route =3D> $::Variable->{MV_PAYMENT_MODE},
									order_id =3D> $oid,
									amount =3D> $amount,
									auth_code =3D> $trec->{auth_code},
									transaction =3D> 'settle_prior',
								});
				if($settled) {
					$tdb->set_field($on, 'order_id', "$oid*");
					Vend::Tags->warning(
								 errmsg(
								 	"Order ID %s settled with processor.",
									$oid,
								 ),
							);
				}
				else {
					Vend::Tags->error( {
						name =3D> 'settle_transaction',
						set =3D> errmsg(
								"Order ID %s settle operation failed. Reason: %s",
								$oid,
								$Vend::Session->{payment_result}{MErrMsg},
								),
							});
						return undef;
				}

			}
		}
	}

	if($opt->{status} =3D~ /\d\d\d\d/) {
		$tdb->set_field($on, 'status', $opt->{status});
	}
	else {
		$tdb->set_field($on, 'status', 'shipped');
	}

	my @shiplines =3D grep /\S/, split /\0/, $opt->{lines_shipped};
	if(! @shiplines and ! $opt->{ship_all}) {
		my @keys =3D grep /status__1/, keys %CGI::values;
#::logDebug("keys to ship: " . join(',', @keys));
		my %stuff;
		for(@keys) {
			m/^(\d+)_/;
			my $n =3D $1 || 0;
			$n++;
			if($opt->{ship_all} or $CGI::values{$_} eq 'shipped') {
				push @shiplines, $n;
#::logDebug("ship $n");
			}
		}
	}
	else {
		@shiplines =3D map { s/.*\D//; $_; } @shiplines;
	}
	my $to_ship =3D scalar @shiplines;

	my $count_q =3D "select * from orderline where order_number =3D '$on'";
	my $lines_ary =3D  $odb->query($count_q);
	if(! $lines_ary) {
		$::Scratch->{ui_message} =3D "No order lines for order $on";
		return;
	}
	my $total_lines =3D scalar @$lines_ary;
#::logDebug("total_lines=3D$total_lines to_ship=3D$to_ship shiplines=3D" . =
uneval(\@shiplines));

	my $odb_keypos =3D $odb->config('KEY_INDEX');

	# See if some items have already shipped
	my %shipping;
	my %already;

	for(@$lines_ary) {
		my $code =3D $_->[$odb_keypos];
		my $status =3D $odb->field($code, 'status');
		my $line =3D $code;
		$line =3D~ s/.*\D//;
		$line =3D~ s/^0+//;
		if($status eq 'shipped') {
			$already{$line} =3D 1;
		}
		elsif($opt->{ship_all}) {
			$shipping{$line} =3D 1;
		}
	}
=09
	my $ship_mesg;
	my $g_status;

	@shiplines =3D grep ! $already{$_}, @shiplines;
	@shipping{@shiplines} =3D @shiplines;

	if($total_lines =3D=3D $to_ship) {
		$ship_mesg =3D "Order $on complete, $total_lines lines set shipped.";
		$::Scratch->{ship_notice_complete} =3D $ship_mesg;
		$g_status =3D 'shipped';
	}
	else {
		$ship_mesg =3D "Order $on partially shipped ($to_ship of $total_lines lin=
es).";
		delete $::Scratch->{ship_notice_complete};
		$g_status =3D 'partial';
	}

	my $minor_mesg =3D '';

	my $email_mesg =3D $::Scratch->{ship_notice_username}
					? "Email copy sent to $::Scratch->{ship_notice_email}."
					: "No email copy sent as per user preference.";

	# Actually update the orderline database
	for(@$lines_ary) {
		my $code =3D $_->[$odb_keypos];
		my $line =3D $code;
		$line =3D~ s/.*\D//;
		next if $already{$line};
		my $status =3D $shipping{$line} ? 'shipped' : 'backorder';
		$odb->set_field($code, 'status', $status)
			or do {
				$::Scratch->{ui_message} =3D "Orderline $code ship status update failed=
";
				return;
			};

	}

	for(keys %already) {
		$shipping{$_} =3D $_;
	}

	my $total_shipped_now =3D scalar keys %shipping;=20

	delete $::Scratch->{ship_now_complete};
	if (
		$total_lines !=3D scalar @shiplines
			and
		$total_shipped_now =3D=3D $total_lines=20
	  )
	{
		$g_status =3D 'shipped';
		$::Scratch->{ship_now_complete} =3D 1
			if $total_shipped_now =3D=3D $total_lines;
		$ship_mesg =3D "Order $on now complete (all $total_lines lines).";
	}

	$tdb->set_field($on, 'status', $g_status);
	$tdb->set_field($on, 'archived', 1)
		if $opt->{archive} and $g_status =3D 'shipped';

	Vend::Tags->warning("$ship_mesg $email_mesg");
	delete $::Scratch->{ship_notice_username};
	delete $::Scratch->{ship_notice_email};
	if($wants_copy) {
		$::Scratch->{ship_notice_username} =3D $user;
		$::Scratch->{ship_notice_email} =3D $trec->{email}
			or delete $::Scratch->{ship_notice_username};
	}
	return;
}
EOR



2.3       +7 -0      interchange/dist/interchange.cfg.dist


rev 2.3, prev_rev 2.2
Index: interchange.cfg.dist
=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: /var/cvs/interchange/dist/interchange.cfg.dist,v
retrieving revision 2.2
retrieving revision 2.3
diff -u -r2.2 -r2.3
--- interchange.cfg.dist	28 Nov 2001 02:41:42 -0000	2.2
+++ interchange.cfg.dist	17 Oct 2002 04:46:23 -0000	2.3
@@ -27,6 +27,13 @@
=20
 #=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=3D=3D=3D=3D=3D#
=20
+# Require an external module
+
+# This one tests the realtime payment gateway code, uncomment to test.
+## Require module Vend::Payment::TestPayment
+
+#=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=3D=3D=3D=3D=3D#
+
 # Disable old C-style meta-directives like #ifdef, #endif, and #include.
 ConfigParseComments No
=20



2.3       +1 -1      interchange/dist/foundation/config/additional_fields


rev 2.3, prev_rev 2.2
Index: additional_fields
=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: /var/cvs/interchange/dist/foundation/config/additional_fields,v
retrieving revision 2.2
retrieving revision 2.3
diff -u -r2.2 -r2.3
--- additional_fields	16 Aug 2002 21:44:51 -0000	2.2
+++ additional_fields	17 Oct 2002 04:46:23 -0000	2.3
@@ -247,5 +247,5 @@
=20
 DEMOMODE
 Set to 1 to display demo helper features in your store
-	1	0
+__MVC_DEMOMODE__	1	0
=20



2.1       +18 -17    interchange/dist/foundation/dbconf/mysql/orderline.mys=
ql


rev 2.1, prev_rev 2.0
Index: orderline.mysql
=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: /var/cvs/interchange/dist/foundation/dbconf/mysql/orderline.mysql=
,v
retrieving revision 2.0
retrieving revision 2.1
diff -u -r2.0 -r2.1
--- orderline.mysql	18 Jul 2001 02:20:53 -0000	2.0
+++ orderline.mysql	17 Oct 2002 04:46:23 -0000	2.1
@@ -5,24 +5,25 @@
 ifdef SQLPASS
 Database  orderline  PASS         __SQLPASS__
 endif
+Database  orderline  DEFAULT_TYPE varchar(128)
 Database  orderline  COLUMN_DEF   "code=3Dchar(14) NOT NULL PRIMARY KEY"
-Database  orderline  COLUMN_DEF   "store_id=3DCHAR(9) DEFAULT '' NOT NULL"
-Database  orderline  COLUMN_DEF   "order_number=3DCHAR(14) NOT NULL"
-Database  orderline  COLUMN_DEF   "session=3DCHAR(32) NOT NULL"
-Database  orderline  COLUMN_DEF   "username=3DCHAR(20) default '' NOT NULL"
-Database  orderline  COLUMN_DEF   "shipmode=3DCHAR(32) default '' NOT NULL"
-Database  orderline  COLUMN_DEF   "sku=3DCHAR(64) NOT NULL"
-Database  orderline  COLUMN_DEF   "quantity=3DCHAR(9) NOT NULL"
-Database  orderline  COLUMN_DEF   "price=3DCHAR(12) NOT NULL"
-Database  orderline  COLUMN_DEF   "subtotal=3DCHAR(12) NOT NULL"
-Database  orderline  COLUMN_DEF   "shipping=3DCHAR(12)"
-Database  orderline  COLUMN_DEF   "taxable=3DCHAR(3)"
-Database  orderline  COLUMN_DEF   "mv_mi=3DVARCHAR(64)"
-Database  orderline  COLUMN_DEF   "mv_si=3DVARCHAR(3)"
-Database  orderline  COLUMN_DEF   "mv_mp=3DVARCHAR(3)"
-Database  orderline  COLUMN_DEF   "options=3DVARCHAR(255)"
+Database  orderline  COLUMN_DEF   "store_id=3Dvarchar(9) DEFAULT '' NOT NU=
LL"
+Database  orderline  COLUMN_DEF   "order_number=3Dvarchar(14) NOT NULL"
+Database  orderline  COLUMN_DEF   "session=3Dvarchar(32) NOT NULL"
+Database  orderline  COLUMN_DEF   "username=3Dvarchar(20) default '' NOT N=
ULL"
+Database  orderline  COLUMN_DEF   "shipmode=3Dvarchar(32) default '' NOT N=
ULL"
+Database  orderline  COLUMN_DEF   "sku=3Dvarchar(64) NOT NULL"
+Database  orderline  COLUMN_DEF   "quantity=3Dvarchar(9) NOT NULL"
+Database  orderline  COLUMN_DEF   "price=3Dvarchar(12) NOT NULL"
+Database  orderline  COLUMN_DEF   "subtotal=3Dvarchar(12) NOT NULL"
+Database  orderline  COLUMN_DEF   "shipping=3Dvarchar(12)"
+Database  orderline  COLUMN_DEF   "taxable=3Dvarchar(3)"
+Database  orderline  COLUMN_DEF   "mv_mi=3Dvarchar(64)"
+Database  orderline  COLUMN_DEF   "mv_si=3Dvarchar(3)"
+Database  orderline  COLUMN_DEF   "mv_mp=3Dvarchar(3)"
+Database  orderline  COLUMN_DEF   "options=3Dvarchar(255)"
 Database  orderline  COLUMN_DEF   "order_date=3Dvarchar(32) NOT NULL"
 Database  orderline  COLUMN_DEF   "update_date=3Dtimestamp"
-Database  orderline  COLUMN_DEF   "status=3DVARCHAR(32)"
-Database  orderline  COLUMN_DEF   "parent=3DCHAR(9)"
+Database  orderline  COLUMN_DEF   "status=3Dvarchar(32)"
+Database  orderline  COLUMN_DEF   "parent=3Dvarchar(9)"
 Database  orderline  INDEX         store_id order_number



2.3       +43 -41    interchange/dist/foundation/dbconf/mysql/transactions.=
mysql


rev 2.3, prev_rev 2.2
Index: transactions.mysql
=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: /var/cvs/interchange/dist/foundation/dbconf/mysql/transactions.my=
sql,v
retrieving revision 2.2
retrieving revision 2.3
diff -u -r2.2 -r2.3
--- transactions.mysql	28 Jun 2002 18:53:50 -0000	2.2
+++ transactions.mysql	17 Oct 2002 04:46:23 -0000	2.3
@@ -5,53 +5,55 @@
 ifdef SQLPASS
 Database  transactions  PASS         __SQLPASS__
 endif
-Database  transactions  transactions.raw  SQL
+Database  transactions  DEFAULT_TYPE varchar(128)
 Database  transactions  COLUMN_DEF   "code=3Dchar(14) NOT NULL PRIMARY KEY"
-Database  transactions  COLUMN_DEF   "store_id=3DCHAR(9) DEFAULT '' NOT NU=
LL"
+Database  transactions  COLUMN_DEF   "store_id=3Dvarchar(9) DEFAULT '' NOT=
 NULL"
 Database  transactions  INDEX         store_id
-Database  transactions  COLUMN_DEF   "order_number=3DCHAR(14) NOT NULL"
+Database  transactions  COLUMN_DEF   "order_number=3Dvarchar(14) NOT NULL"
 Database  transactions  INDEX         order_number
-Database  transactions  COLUMN_DEF   "session=3DCHAR(32) NOT NULL"
-Database  transactions  COLUMN_DEF   "username=3DCHAR(20) default '' NOT N=
ULL"
-Database  transactions  COLUMN_DEF   "shipmode=3DCHAR(32) NOT NULL"
-Database  transactions  COLUMN_DEF   "nitems=3DCHAR(9) NOT NULL"
-Database  transactions  COLUMN_DEF   "subtotal=3DCHAR(12) NOT NULL"
-Database  transactions  COLUMN_DEF   "shipping=3DCHAR(12) NOT NULL"
-Database  transactions  COLUMN_DEF   "handling=3DCHAR(12)"
-Database  transactions  COLUMN_DEF   "salestax=3DCHAR(12)"
-Database  transactions  COLUMN_DEF   "total_cost=3DCHAR(16) NOT NULL"
-Database  transactions  COLUMN_DEF   "fname=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "lname=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "company=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "address1=3DVARCHAR(64)"
-Database  transactions  COLUMN_DEF   "address2=3DVARCHAR(64)"
-Database  transactions  COLUMN_DEF   "city=3DVARCHAR(30) NOT NULL"
-Database  transactions  COLUMN_DEF   "state=3DVARCHAR(10)"
-Database  transactions  COLUMN_DEF   "zip=3DCHAR(10) DEFAULT '00000' NOT N=
ULL"
-Database  transactions  COLUMN_DEF   "country=3DCHAR(10) DEFAULT '' NOT NU=
LL"
-Database  transactions  COLUMN_DEF   "phone_day=3DVARCHAR(20)"
-Database  transactions  COLUMN_DEF   "phone_night=3DVARCHAR(20)"
-Database  transactions  COLUMN_DEF   "fax=3DVARCHAR(20)"
-Database  transactions  COLUMN_DEF   "email=3DVARCHAR(42)"
-Database  transactions  COLUMN_DEF   "b_fname=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "b_lname=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "b_company=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "b_address1=3DVARCHAR(64)"
-Database  transactions  COLUMN_DEF   "b_address2=3DVARCHAR(64)"
-Database  transactions  COLUMN_DEF   "b_city=3DVARCHAR(30)"
-Database  transactions  COLUMN_DEF   "b_state=3DVARCHAR(10)"
-Database  transactions  COLUMN_DEF   "b_zip=3DCHAR(10) DEFAULT '00000' NOT=
 NULL"
-Database  transactions  COLUMN_DEF   "b_country=3DCHAR(10) DEFAULT '' NOT =
NULL"
-Database  transactions  COLUMN_DEF   "b_phone=3DVARCHAR(20)"
+Database  transactions  COLUMN_DEF   "session=3Dvarchar(32) NOT NULL"
+Database  transactions  COLUMN_DEF   "username=3Dvarchar(20) default '' NO=
T NULL"
+Database  transactions  COLUMN_DEF   "shipmode=3Dvarchar(32) NOT NULL"
+Database  transactions  COLUMN_DEF   "nitems=3Dvarchar(9) NOT NULL"
+Database  transactions  COLUMN_DEF   "subtotal=3Dvarchar(12) NOT NULL"
+Database  transactions  COLUMN_DEF   "shipping=3Dvarchar(12) NOT NULL"
+Database  transactions  COLUMN_DEF   "handling=3Dvarchar(12)"
+Database  transactions  COLUMN_DEF   "salestax=3Dvarchar(12)"
+Database  transactions  COLUMN_DEF   "total_cost=3Dvarchar(16) NOT NULL"
+Database  transactions  COLUMN_DEF   "fname=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "lname=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "company=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "address1=3Dvarchar(64)"
+Database  transactions  COLUMN_DEF   "address2=3Dvarchar(64)"
+Database  transactions  COLUMN_DEF   "city=3Dvarchar(30) NOT NULL"
+Database  transactions  COLUMN_DEF   "state=3Dvarchar(10)"
+Database  transactions  COLUMN_DEF   "zip=3Dvarchar(10) DEFAULT '00000' NO=
T NULL"
+Database  transactions  COLUMN_DEF   "country=3Dvarchar(10) DEFAULT '' NOT=
 NULL"
+Database  transactions  COLUMN_DEF   "phone_day=3Dvarchar(20)"
+Database  transactions  COLUMN_DEF   "phone_night=3Dvarchar(20)"
+Database  transactions  COLUMN_DEF   "fax=3Dvarchar(20)"
+Database  transactions  COLUMN_DEF   "email=3Dvarchar(42)"
+Database  transactions  COLUMN_DEF   "b_fname=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "b_lname=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "b_company=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "b_address1=3Dvarchar(64)"
+Database  transactions  COLUMN_DEF   "b_address2=3Dvarchar(64)"
+Database  transactions  COLUMN_DEF   "b_city=3Dvarchar(30)"
+Database  transactions  COLUMN_DEF   "b_state=3Dvarchar(10)"
+Database  transactions  COLUMN_DEF   "b_zip=3Dvarchar(10) DEFAULT '00000' =
NOT NULL"
+Database  transactions  COLUMN_DEF   "b_country=3Dvarchar(10) DEFAULT '' N=
OT NULL"
+Database  transactions  COLUMN_DEF   "b_phone=3Dvarchar(20)"
 Database  transactions  COLUMN_DEF   "payment_method=3Dvarchar(128)"
 Database  transactions  COLUMN_DEF   "avs=3Dvarchar(32)"
-Database  transactions  COLUMN_DEF   "order_id=3Dvarchar(32)"
 Database  transactions  COLUMN_DEF   "order_date=3Dvarchar(32) NOT NULL"
 Database  transactions  COLUMN_DEF   "update_date=3Dtimestamp"
-Database  transactions  COLUMN_DEF   "status=3DVARCHAR(32)"
-Database  transactions  COLUMN_DEF   "parent=3DCHAR(9)"
-Database  transactions  COLUMN_DEF   "archived=3DCHAR(1) DEFAULT ''"
-Database  transactions  COLUMN_DEF   "deleted=3DCHAR(1) DEFAULT ''"
-Database  transactions  COLUMN_DEF   "complete=3DCHAR(1) DEFAULT ''"
+Database  transactions  COLUMN_DEF   "order_id=3Dvarchar(32)"
+Database  transactions  COLUMN_DEF   "auth_code=3Dvarchar(32)"
+Database  transactions  COLUMN_DEF   "tracking_number=3Dvarchar(64)"
+Database  transactions  COLUMN_DEF   "status=3Dvarchar(32)"
+Database  transactions  COLUMN_DEF   "parent=3Dvarchar(9)"
+Database  transactions  COLUMN_DEF   "archived=3Dvarchar(1) DEFAULT ''"
+Database  transactions  COLUMN_DEF   "deleted=3Dvarchar(1) DEFAULT ''"
+Database  transactions  COLUMN_DEF   "complete=3Dvarchar(1) DEFAULT ''"
 Database  transactions  COLUMN_DEF   "comments=3Dtext"
 Database  transactions  COLUMN_DEF   "currency_locale=3Dvarchar(32)"



2.3       +3 -2      interchange/dist/foundation/dbconf/oracle/transactions=
ora


rev 2.3, prev_rev 2.2
Index: transactions.ora
=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: /var/cvs/interchange/dist/foundation/dbconf/oracle/transactions.o=
ra,v
retrieving revision 2.2
retrieving revision 2.3
diff -u -r2.2 -r2.3
--- transactions.ora	28 Jun 2002 18:53:50 -0000	2.2
+++ transactions.ora	17 Oct 2002 04:46:23 -0000	2.3
@@ -6,7 +6,6 @@
 ifdef SQLPASS
 Database  transactions  PASS         __SQLPASS__
 endif
-Database  transactions  transactions.raw  SQL
 Database  transactions  DEFAULT_TYPE VARCHAR2(128)
 Database  transactions  COLUMN_DEF   "code=3DVARCHAR2(14) PRIMARY KEY"
 Database  transactions  COLUMN_DEF   "store_id=3DVARCHAR2(9) DEFAULT ''"
@@ -48,6 +47,8 @@
 Database  transactions  COLUMN_DEF   "payment_method=3DVARCHAR2(128)"
 Database  transactions  COLUMN_DEF   "avs=3DVARCHAR2(32)"
 Database  transactions  COLUMN_DEF   "order_id=3DVARCHAR2(32)"
+Database  transactions  COLUMN_DEF   "auth_code=3DVARCHAR2(32)"
+Database  transactions  COLUMN_DEF   "tracking_number=3DVARCHAR2(64)"
 Database  transactions  COLUMN_DEF   "order_date=3DVARCHAR2(32)"
 Database  transactions  COLUMN_DEF   "update_date=3DDATE DEFAULT SYSDATE"
 Database  transactions  COLUMN_DEF   "status=3DVARCHAR2(32)"
@@ -56,4 +57,4 @@
 Database  transactions  COLUMN_DEF   "deleted=3DVARCHAR2(1) DEFAULT ''"
 Database  transactions  COLUMN_DEF   "complete=3DVARCHAR2(1) DEFAULT ''"
 Database  transactions  COLUMN_DEF   "comments=3DVARCHAR2(2000)"
-Database  transactions  COLUMN_DEF   "currency_locale=3Dvarchar2(32)"
+Database  transactions  COLUMN_DEF   "currency_locale=3DVARCHAR2(32)"



2.1       +18 -17    interchange/dist/foundation/dbconf/pgsql/orderline.pgs=
ql


rev 2.1, prev_rev 2.0
Index: orderline.pgsql
=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: /var/cvs/interchange/dist/foundation/dbconf/pgsql/orderline.pgsql=
,v
retrieving revision 2.0
retrieving revision 2.1
diff -u -r2.0 -r2.1
--- orderline.pgsql	18 Jul 2001 02:20:57 -0000	2.0
+++ orderline.pgsql	17 Oct 2002 04:46:23 -0000	2.1
@@ -5,23 +5,24 @@
 ifdef SQLPASS
 Database  orderline  PASS         __SQLPASS__
 endif
-Database  orderline  COLUMN_DEF   "code=3DVARCHAR(14) NOT NULL PRIMARY KEY"
-Database  orderline  COLUMN_DEF   "store_id=3DVARCHAR(9)"
-Database  orderline  COLUMN_DEF   "order_number=3DVARCHAR(14) NOT NULL"
-Database  orderline  COLUMN_DEF   "session=3DVARCHAR(32) NOT NULL"
-Database  orderline  COLUMN_DEF   "username=3DVARCHAR(20)"
-Database  orderline  COLUMN_DEF   "shipmode=3DVARCHAR(32)"
-Database  orderline  COLUMN_DEF   "sku=3DVARCHAR(64) NOT NULL"
-Database  orderline  COLUMN_DEF   "quantity=3DVARCHAR(9) NOT NULL"
-Database  orderline  COLUMN_DEF   "price=3DVARCHAR(12) NOT NULL"
-Database  orderline  COLUMN_DEF   "subtotal=3DVARCHAR(12) NOT NULL"
-Database  orderline  COLUMN_DEF   "shipping=3DVARCHAR(12)"
-Database  orderline  COLUMN_DEF   "taxable=3DVARCHAR(3)"
-Database  orderline  COLUMN_DEF   "size=3DVARCHAR(30)"
-Database  orderline  COLUMN_DEF   "color=3DVARCHAR(30)"
-Database  orderline  COLUMN_DEF   "options=3DVARCHAR(255)"
+Database  orderline  DEFAULT_TYPE varchar(128)
+Database  orderline  COLUMN_DEF   "code=3Dvarchar(14) NOT NULL PRIMARY KEY"
+Database  orderline  COLUMN_DEF   "store_id=3Dvarchar(9)"
+Database  orderline  COLUMN_DEF   "order_number=3Dvarchar(14) NOT NULL"
+Database  orderline  COLUMN_DEF   "session=3Dvarchar(32) NOT NULL"
+Database  orderline  COLUMN_DEF   "username=3Dvarchar(20)"
+Database  orderline  COLUMN_DEF   "shipmode=3Dvarchar(32)"
+Database  orderline  COLUMN_DEF   "sku=3Dvarchar(64) NOT NULL"
+Database  orderline  COLUMN_DEF   "quantity=3Dvarchar(9) NOT NULL"
+Database  orderline  COLUMN_DEF   "price=3Dvarchar(12) NOT NULL"
+Database  orderline  COLUMN_DEF   "subtotal=3Dvarchar(12) NOT NULL"
+Database  orderline  COLUMN_DEF   "shipping=3Dvarchar(12)"
+Database  orderline  COLUMN_DEF   "taxable=3Dvarchar(3)"
+Database  orderline  COLUMN_DEF   "size=3Dvarchar(30)"
+Database  orderline  COLUMN_DEF   "color=3Dvarchar(30)"
+Database  orderline  COLUMN_DEF   "options=3Dvarchar(255)"
 Database  orderline  COLUMN_DEF   "order_date=3Dvarchar(32) NOT NULL"
 Database  orderline  COLUMN_DEF   "update_date=3Dtimestamp"
-Database  orderline  COLUMN_DEF   "status=3DVARCHAR(32)"
-Database  orderline  COLUMN_DEF   "parent=3DVARCHAR(9)"
+Database  orderline  COLUMN_DEF   "status=3Dvarchar(32)"
+Database  orderline  COLUMN_DEF   "parent=3Dvarchar(9)"
 Database  orderline  INDEX         store_id order_number



2.3       +3 -1      interchange/dist/foundation/dbconf/pgsql/transactions.=
pgsql


rev 2.3, prev_rev 2.2
Index: transactions.pgsql
=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: /var/cvs/interchange/dist/foundation/dbconf/pgsql/transactions.pg=
sql,v
retrieving revision 2.2
retrieving revision 2.3
diff -u -r2.2 -r2.3
--- transactions.pgsql	28 Jun 2002 18:53:50 -0000	2.2
+++ transactions.pgsql	17 Oct 2002 04:46:23 -0000	2.3
@@ -5,7 +5,7 @@
 ifdef SQLPASS
 Database  transactions  PASS         __SQLPASS__
 endif
-Database  transactions  transactions.raw  SQL
+Database  transactions  DEFAULT_TYPE varchar(128)
 Database  transactions  COLUMN_DEF   "code=3DVARCHAR(14) NOT NULL PRIMARY =
KEY"
 Database  transactions  COLUMN_DEF   "store_id=3DVARCHAR(9)"
 Database  transactions  COLUMN_DEF   "order_number=3DVARCHAR(14) NOT NULL"
@@ -44,6 +44,8 @@
 Database  transactions  COLUMN_DEF   "payment_method=3Dvarchar(128)"
 Database  transactions  COLUMN_DEF   "avs=3Dvarchar(32)"
 Database  transactions  COLUMN_DEF   "order_id=3Dvarchar(32)"
+Database  transactions  COLUMN_DEF   "auth_code=3Dvarchar(32)"
+Database  transactions  COLUMN_DEF   "tracking_number=3Dvarchar(64)"
 Database  transactions  COLUMN_DEF   "order_date=3Dvarchar(32) NOT NULL"
 Database  transactions  COLUMN_DEF   "update_date=3Dtimestamp"
 Database  transactions  COLUMN_DEF   "archived=3DCHAR(1) DEFAULT ''"



2.5       +2 -1      interchange/dist/foundation/etc/log_transaction


rev 2.5, prev_rev 2.4
Index: log_transaction
=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: /var/cvs/interchange/dist/foundation/etc/log_transaction,v
retrieving revision 2.4
retrieving revision 2.5
diff -u -r2.4 -r2.5
--- log_transaction	18 Aug 2002 14:51:55 -0000	2.4
+++ log_transaction	17 Oct 2002 04:46:23 -0000	2.5
@@ -67,7 +67,7 @@
 	Real-time charge FAILED. Reason: [data session cybercash_error]
 	[calc]
 		die errmsg(
-				"Real-time charge failed. Reason: %s",
+				"Real-time charge failed. Reason: %s\n",
 				errmsg($Session->{cybercash_error}),
 			);
 	[/calc]
@@ -172,6 +172,7 @@
 payment_method: [value mv_payment]
 payment_mode: [data session payment_mode]
 order_id: [data session payment_id]
+auth_code: [calc] ($Session->{payment_result} || {})->{'pop.auth-code'}; [=
/calc]
 order_date: [value name=3Dorder_date set=3D"[tag time]%Y%m%d %H:%M:%S[/tag=
]"]
 order_ymd: [value name=3Dorder_date set=3D"[tag time]%Y%m%d[/tag]"]
 order_wday: [value name=3Dorder_wday set=3D"[tag time]%u[/tag]"]



2.18      +14 -5     interchange/dist/foundation/products/mv_metadata.asc


rev 2.18, prev_rev 2.17
Index: mv_metadata.asc
=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: /var/cvs/interchange/dist/foundation/products/mv_metadata.asc,v
retrieving revision 2.17
retrieving revision 2.18
diff -u -r2.17 -r2.18
--- mv_metadata.asc	13 Oct 2002 03:42:49 -0000	2.17
+++ mv_metadata.asc	17 Oct 2002 04:46:23 -0000	2.18
@@ -101,7 +101,7 @@
 metaconfig::mv_metadata::options	textarea	20	8							Options	Options for S=
ELECT/COMBO types (if lookup, prepended). Entered in the=0Dinterchange opti=
on format:<P>=0D<blockquote>=0Dvalue=3Dlabel*</blockquote>		option_format=
=09=09=09=09=09=09=09=09
 metaconfig::mv_metadata::outboard	text	30								Directory	Select director=
y for image listing widget.=09=09=09=09=09=09=09=09=09=09
 metaconfig::mv_metadata::prepend	textarea	60	5							Prepend HTML	<SMALL>H=
TML to be prepended to the widget.=0DWill substitute in the macros _UI_TABL=
E_, _UI_COLUMN_,=0D_UI_KEY, and _UI_VALUE_, and will resolve relative links=
=0Dwith absolute links.</SMALL>=09=09=09=09=09=09=09=09=09=09
-metaconfig::mv_metadata::type	select							textarea=3DTextarea,=0D=0Dtext=
=3DText entry*,=0Dselect=3DSelect box,=0Dyesno=3DYes/No (Yes=3D1),=0Dnoyes=
=3DNo/Yes (No=3D1),=0Dyesno radio=3DYes/No (radio),=0Dnoyes radio=3DNo/Yes =
(radio),=0Dmultiple=3DMultiple Select,=0Dcombo=3DCombo Select,=0Dreverse_co=
mbo=3DReverse Combo,=0Dmove_combo=3DCombo move,=0Ddisplay=3DText of option,=
=0Dhidden_text=3DHidden (show text),=0Dradio=3DRadio box, =0Dradio_nbsp=3DR=
adio (nbsp),=0Dcheckbox=3DCheckbox,=0Dcheck_nbsp=3DCheckbox (nbsp),=0Dimage=
dir=3DImage listing,=0Dimagehelper=3DImage upload,=0Ddate=3DDate selector,=
=0Dvalue=3DValue,=0Doption_format=3DOption formatter,=0Dshow=3DShow all opt=
ions		Widget type	Select the basic display type for the field.=09=09=09=09=
=09=09=09=09=09=09
+metaconfig::mv_metadata::type	select							text=3DText entry*,=0Dtextarea=
=3DTextarea,=0Dselect=3DSelect box,=0Dyesno=3DYes/No (Yes=3D1),=0Dnoyes=3DN=
o/Yes (No=3D1),=0Dyesno radio=3DYes/No (radio),=0Dnoyes radio=3DNo/Yes (rad=
io),=0Dmultiple=3DMultiple Select,=0Dcombo=3DCombo Select,=0Dreverse_combo=
=3DReverse Combo,=0Dmove_combo=3DCombo move,=0Ddisplay=3DText of option,=0D=
hidden_text=3DHidden (show text),=0Dradio=3DRadio box, =0Dradio_nbsp=3DRadi=
o (nbsp),=0Dcheckbox=3DCheckbox,=0Dcheck_nbsp=3DCheckbox (nbsp),=0Dimagedir=
=3DImage listing,=0Dimagehelper=3DImage upload,=0Ddate=3DDate selector,=0Dv=
alue=3DValue,=0Doption_format=3DOption formatter,=0Dshow=3DShow all options=
		Widget type	Select the basic display type for the field.=09=09=09=09=09=
=09=09=09=09=09
 metaconfig::mv_metadata::width	text	4								Width	SIZE for TEXT<BR>=0DCOL=
S for TEXTAREA<BR>=0DLabel limit for SELECT		digits=09=09=09=09=09=09=09=09
 modular::options	text		20	code=0Do_master=0Dsku=0Do_enable	options	Modular=
 option view		code=0Do_master=0Dsku=0Do_group=0Dphantom=0Do_default=0Do_ena=
ble=0D=0D=3DOrdering information=0D=0Ddescription=0Dprice=0Ddifferential=09=
=09=09=09=09=09=09=09=09=09=09=09=09
 modular::options::differential	text	12								Price offset	Adjustment to o=
ption price when phantom. A positive or negative=0Dnumber.=09=09=09=09=09=
=09=09=09=09=09
@@ -168,8 +168,8 @@
 order_returns::username	text									Username=09=09=09=09=09=09=09=09=09=
=09=09
 order_view::orderline::status	display							pending=3DPending, shipped=3DS=
hipped, backorder=3DBack ordered, credit=3DWaiting for credit check, cancel=
ed=3DCanceled					nullselect=09=09=09=09=09=09=09=09
 order_view::transactions::status	display							pending=3DPending, shipped=
=3DShipped, partial=3DPartially shipped, backorder=3DBack ordered, credit=
=3DWaiting for credit check, canceled=3DCanceled					nullselect=09=09=09=09=
=09=09=09=09
-orderline	text			code,sku,description,price, quantity,subtotal												=
			1=09=09
-orderline::status	combo							pending=3DPending, shipped=3DShipped, backor=
der=3DBack ordered, credit=3DWaiting for credit check, canceled=3DCanceled	=
				nullselect=09=09=09=09=09=09=09=09
+orderline	text			code,sku,description,price, quantity,subtotal												=
			1		{'bottom_buttons' =3D> "",'spread_textarea' =3D> "",'tab_vert_offset'=
 =3D> "",'widget_cell_class' =3D> "",'ui_sort_field' =3D> "",'link_table' =
=3D> "",'ui_show_fields' =3D> "",'link_extra' =3D> "",'break_row_class' =3D=
> "",'label_cell_class' =3D> "",'tab_horiz_offset' =3D> "",'link_before' =
=3D> "",'ui_special_add' =3D> "",'top_buttons' =3D> "",'left_width' =3D> ""=
,'spread_fields' =3D> "code=0Dstatus=0Dsku=0Dquantity=0Dprice",'combo_row_c=
lass' =3D> "",'include_before' =3D> "",'ui_meta_specific' =3D> "",'tab_heig=
ht' =3D> "",'link_view' =3D> "",'link_fields' =3D> "",'spread_meta' =3D> "s=
tatus",'tab_width' =3D> "",'data_row_class' =3D> "",'ui_sort_option' =3D> "=
",'panel_height' =3D> "",'include_form' =3D> "",'help_cell_class' =3D> "",'=
spacer_row_class' =3D> "",'ui_data_fields' =3D> "",'ui_sort_combined' =3D> =
"",'spread_width' =3D> "",'file_upload' =3D> "",'spread_height' =3D> "",'ta=
bbed' =3D> "",'table_width' =3D> "",'spread_textarea_rows' =3D> "",'link_so=
rt' =3D> "",'panel_width' =3D> "",'link_key' =3D> "",'data_cell_class' =3D>=
 "",'link_label' =3D> "",}
+orderline::status	select							pending=3DPending, shipped=3DShipped, backo=
rder=3DBack ordered, credit=3DWaiting for credit check, canceled=3DCanceled=
					nullselect=09=09=09=09=09=09=09=09
 pricing	text					Pricing Settings	2=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
 pricing::price_group	combo				pricing					Discount group		price_group	null=
select=09=09=09=09=09=09=09=09
 pricing::q3	text=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09=
=09
@@ -197,7 +197,11 @@
 state				code=0Dcountry=0Dstate=0Dname=0Dtax=0Dtax_name		State/Province Se=
ttings (tax, etc)=09=09=09=09=09=09=09=09=09=09=09=09=09=09=09
 state::state	text	4											word=09=09=09=09=09=09=09=09
 transactions			100																1		{'bottom_buttons' =3D> "",'tab_vert_o=
ffset' =3D> "",'spread_textarea' =3D> "",'widget_cell_class' =3D> "",'ui_so=
rt_field' =3D> "order_number",'link_table' =3D> "orderline",'ui_show_fields=
' =3D> "code=0Dusername=0Dnitems=0Dtotal_cost",'link_extra' =3D> "",'break_=
row_class' =3D> "",'label_cell_class' =3D> "",'tab_horiz_offset' =3D> "",'l=
ink_before' =3D> "nitems",'ui_special_add' =3D> "",'left_width' =3D> "120",=
'top_buttons' =3D> "",'include_before' =3D> "total_cost",'combo_row_class' =
=3D> "",'spread_fields' =3D> "",'tab_height' =3D> "",'link_view' =3D> "",'l=
ink_fields' =3D> "code order_number sku quantity description price subtotal=
",'spread_meta' =3D> "",'data_row_class' =3D> "",'tab_width' =3D> "",'panel=
_height' =3D> "",'include_form' =3D> "<td class=3Dclabel>=0D               =
         Recompute?=0D                    </td>=0D                    <td c=
lass=3Dcdata>=0D                        <input type=3Dcheckbox name=3Dmv_cl=
eanup value=3Drecompute_transaction> Totals &nbsp;&nbsp; <input type=3Dchec=
kbox name=3Drecompute_tax value=3D1> Tax &nbsp;&nbsp; <B>Warning: this will=
 not work if your prices depend on options and you change them!=0D         =
           </td>=0D",'help_cell_class' =3D> "",'spacer_row_class' =3D> "",'=
ui_data_fields' =3D> "=3DTransaction info=0D=0Dorder_number =0Dorder_date=
=0Dstatus=0Dnitems=0Dsubtotal=0Dsalestax=0Dshipping=0Dhandling=0Dtotal_cost=
=0Dupdate_date=0D=0D=3DGeneral=0D=0Dcode=0Dstore_id=0Dusername=0Dcomments=
=0Dorder_ymd=0Dorder_wday=0Darchived=0Ddeleted=0Dcomplete=0Dshipmode=0Dpaym=
ent_method=0Davs=0Dpo_number=0Dorder_id=0D=0D=3DShipping=0D=0Dfname=0Dlname=
=0Dcompany=0Daddress1=0Daddress2=0Dcity=0Dstate=0Dzip=0Dcountry=0Dphone_day=
=0Dphone_night=0Dfax=0Demail=0D=0D=3DBilling=0D=0Db_fname=0Db_lname=0Db_com=
pany=0Db_address1=0Db_address2=0Db_city=0Db_state=0Db_zip=0Db_country=0Db_p=
hone=0D=0D=3DTracking info=0D=0Daffiliate=0Dcampaign=0Dcurrency_locale=0Dpa=
rent",'file_upload' =3D> "",'spread_width' =3D> "",'tabbed' =3D> "1",'sprea=
d_height' =3D> "",'table_width' =3D> "800",'spread_textarea_rows' =3D> "",'=
link_sort' =3D> "code",'panel_width' =3D> "",'link_key' =3D> "order_number"=
,'data_cell_class' =3D> "",'link_label' =3D> "Ordered Items",}
-transactions::status	combo							pending=3DPending, shipped=3DShipped, par=
tial=3DPartially shipped, backorder=3DBack ordered, credit=3DWaiting for cr=
edit check, canceled=3DCanceled					nullselect=09=09=09=09=09=09=09=09
+transactions::archived	yesno									Archived=09=09=09=09=09=09=09=09=09=
=09=09
+transactions::auth_code	text	16								Authorization=09=09=09=09=09=09=09=
=09=09=09=09
+transactions::deleted	yesno									Deleted=09=09=09=09=09=09=09=09=09=09=
=09
+transactions::order_id	text	32								Order ID=09=09=09=09=09=09=09=09=09=
=09=09
+transactions::status	select							pending=3DPending, shipped=3DShipped, pa=
rtial=3DPartially shipped, backorder=3DBack ordered, credit=3DWaiting for c=
redit check, canceled=3DCanceled					nullselect=09=09=09=09=09=09=09=09
 ui_component::mv_metadata																					{'ui_data_fields' =3D> "=3DM=
ain=0D=0Dcode=0Dlabel=0Ddefault=0Dtype=0Dwidth=0Dheight=0Doptions=0Dfilter=
=0D=0D=3DDatabase lookup=0D=0Dlookup=0Dfield=0Ddb=0D=0D=3DHelp and misc=0D=
=0Dhelp=0Dhelp_url=0Dprepend=0Dappend=0Dpre_filter",'table_width' =3D> "80%=
",'left_width' =3D> "30%",}
 ui_component::mv_metadata::append	textarea	60	5							Append HTML	<SMALL>H=
TML to be appended to the widget.=0DWill substitute in the macros _UI_TABLE=
_, _UI_COLUMN_,=0D_UI_KEY, and _UI_VALUE_, and will resolve relative links=
=0Dwith absolute links.</SMALL>=09=09=09=09=09=09=09=09=09=09
 ui_component::mv_metadata::attribute	text	20								Column name	Do not set=
 this.=09=09=09=09=09=09=09=09=09=09
@@ -265,10 +269,16 @@
 variable::Variable::FORUM_ANON_NAME	text	20								Forum Anonymous Name	Na=
me to use when a user posts anonymously to a forum=09=09=09=09=09=09=09=09=
=09=09
 variable::Variable::FORUM_PRODUCTS	yesno									Enable Product Forums	Thi=
s enables user comments on products in the flypage. Only enabled by default=
 if using MySQL or Postgres, as it will not work well on DBM and is not tes=
ted on Oracle.=09=09=09=09=09=09=09=09=09=09
 variable::Variable::MULTIORDER	select							=3DNo,1=3DYes			Whether users =
should by default have multipage order forms.=09=09=09=09=09=09=09=09=09=09
+variable::Variable::MV_PAYMENT_HOST	text	64								Payment Host	Many payme=
nt processors allow setting the host that the transaction=0Dis sent to, but=
 most provide a default. This need not be set for most gateways.=09=09=09=
=09=09=09=09=09=09=09
+variable::Variable::MV_PAYMENT_ID	text	20								Payment Gateway ID	The ac=
count ID for your payment gateway.=09=09=09=09=09=09=09=09=09=09
+variable::Variable::MV_PAYMENT_MODE	select							=3Dnone,=0Dauthorizenet=
=3DAuthorize.net,=0Dboa=3DBank of America,=0Dccvs=3DCCVS,=0Decho=3DECHO,=0D=
itransact=3DiTransact,=0Dmcve=3DMCVE,=0Dskipjack=3DSkipjack IC,=0Dsignio=3D=
Verisign Payflow Pro,=0Dtestpayment=3DTestPayment module,=0Dtclink=3DTrust =
Commerce,=0Dwellsfargo=3DWells Fargo=0D		Payment Gateway	Which payment proc=
essor module you wish to use. You always have to sign up with your merchant=
 bank and their credit card processor to enable this, without fail. The Tes=
tPayment module is just for testing purposes.=0D&lt;p>=0DSee the documentat=
ion in the associated module for how to implement.=09=09=09=09=09=09=09=09=
=09=09
+variable::Variable::MV_PAYMENT_REFERER	text	40								Payment Referer	Some=
 payment systems (notably AuthorizeNet) want to know that the=0DREFERER val=
ue is correct. Most don't need this.=09=09=09=09=09=09=09=09=09=09
+variable::Variable::MV_PAYMENT_SECRET	text	20								Payment Secret	Some p=
ayment gateways require a password or "secret". Many don't,=0Dso this may n=
ot be necessary.=09=09=09=09=09=09=09=09=09=09
 variable::Variable::MYSQL	select							0=3DNo, 1=3DYes=09=09=09=09=09=09=
=09=09=09=09=09=09=09
 variable::Variable::POSTAL_ACCEPTED	select							=3DNo,=0D1=3DYes		Accept =
postal orders?=09=09=09=09=09=09=09=09=09=09=09
 variable::Variable::PO_ACCEPTED	select							0=3DNo, 1=3DYes=09=09=09=09=
=09=09=09=09=09=09=09=09=09
 variable::Variable::SECURE_ENABLE	yesno									Enable Secure URL?=09=09=
=09=09=09=09=09=09=09=09=09
+variable::Variable::SETTLE_TRANSACTION	yesno									Settle transactions	I=
f you ship hard goods and only do an authorization at order time, you may c=
hoose to settle the transaction automatically via the Order manager. This n=
eeds to be set to Yes to enable this.=09=09=09=09=09=09=09=09=09=09
 variable::Variable::STATIC_LOGGED	select							No, Yes		Enabled for logged=
 in users?	<b>Yes</b> will cause Interchange to generate static links where=
 possible, even when users are logged in.=09=09=09=09=09=09=09=09=09=09
 variable::Variable::STYLE	select							foundation=3DFoundation Red,purpley=
ellow=3DPurple and Yellow,grayorange=3DGray and Orange,fixedwidth=3DFixed W=
idth,greens=3DGreen,grayscale=3DGray,blueyellow=3DBlue and Yellow		Theme=09=
=09=09=09=09=09=09=09=09=09=09
 variable::Variable::TAXFIELD	select							state=3DSimple state-based,=0Dmu=
lti=3DState/Province and VAT		Type of tax	You must <b>apply changes</b> aft=
er changing this.=09=09=09=09=09=09=09=09=09=09
@@ -285,4 +295,3 @@
 variant::options::price	text	12								Price	Price of this variant.=09=09=
=09=09=09=09=09=09=09=09
 variant::options::weight	text	8								Weight	Weight for this variant.=09=
=09=09=09=09=09=09=09=09=09
 variant::options::wholesale	text	12								Dealer price=09=09=09=09=09=09=
=09=09=09=09=09
-variable::Variable::MV_PAYMENT_MODE	combo							authorizenet=3DAuthorizeNe=
t,=0Dboa=3DBank of America,=0Dccvs=3DCCVS,=0Dcybercash=3DCyberCash,=0Decho=
=3DECHO,=0Ditransact=3DiTransact,=0Dmcve=3DMCVE,=0Dsignio=3DSignio,=0Dskipj=
ack=3DSkipjack,=0Dtrustcommerce=3DTrustCommerce,=0Dwellsfargo=3DWellsFargo	=
				nullselect=09=09=09=09=09=09=09=09



2.2       +1 -1      interchange/dist/foundation/products/transactions.txt


rev 2.2, prev_rev 2.1
Index: transactions.txt
=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: /var/cvs/interchange/dist/foundation/products/transactions.txt,v
retrieving revision 2.1
retrieving revision 2.2
diff -u -r2.1 -r2.2
--- transactions.txt	14 Oct 2002 13:35:57 -0000	2.1
+++ transactions.txt	17 Oct 2002 04:46:23 -0000	2.2
@@ -1 +1 @@
-code	store_id	order_number	session__MVC_FIELDMUNGE__	username	shipmode	nit=
ems	subtotal	shipping	handling	salestax	total_cost	fname	lname	company	addr=
ess1	address2	city	state	zip	country	phone_day	phone_night	fax	email	b_fnam=
e	b_lname	b_company	b_address1	b_address2	b_city	b_state	b_zip	b_country	b_=
phone	order_date	order_ymd	order_wday	payment_method	po_number	payment_mode=
	avs	order_id	update_date	status	tracking_number	affiliate	campaign	parent	=
archived	deleted	complete	comments	currency_locale
+code	store_id	order_number	session__MVC_FIELDMUNGE__	username	shipmode	nit=
ems	subtotal	shipping	handling	salestax	total_cost	fname	lname	company	addr=
ess1	address2	city	state	zip	country	phone_day	phone_night	fax	email	b_fnam=
e	b_lname	b_company	b_address1	b_address2	b_city	b_state	b_zip	b_country	b_=
phone	order_date	order_ymd	order_wday	payment_method	po_number	payment_mode=
	avs	order_id	auth_code	update_date	status	tracking_number	affiliate	campai=
gn	parent	archived	deleted	complete	comments	currency_locale



2.16      +6 -0      interchange/dist/foundation/products/variable.txt


rev 2.16, prev_rev 2.15
Index: variable.txt
=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: /var/cvs/interchange/dist/foundation/products/variable.txt,v
retrieving revision 2.15
retrieving revision 2.16
diff -u -r2.15 -r2.16
--- variable.txt	6 Oct 2002 01:37:43 -0000	2.15
+++ variable.txt	17 Oct 2002 04:46:23 -0000	2.16
@@ -63,6 +63,11 @@
 MV_DEFAULT_SEARCH_DB	1	Database
 MV_DEMO_MODE	__MVC_DEMOMODE__	General
 MV_OPTION_TABLE	options	Item display
+MV_PAYMENT_ID		Payment
+MV_PAYMENT_SECRET		Payment
+MV_PAYMENT_MODE		Payment
+MV_PAYMENT_HOST		Payment
+MV_PAYMENT_REFERER		Payment
 MYSQL	__MVC_MYSQL__	Database
 ORACLE	__MVC_ORACLE__	Database
 ORDERS_TO	__MVC_MAILORDERTO__	Order
@@ -77,6 +82,7 @@
 SECURE_ENABLE	__MVC_ENABLESECURE__	General
 SECURE_SERVER	__MVC_SECURESERVERNAME__	Directories and Paths
 SERVER_NAME	__MVC_SERVERNAME__	Directories and Paths
+SETTLE_TRANSACTION		Payment
 SHIP_DEFAULT_COUNTRY	US	Shipping
 SHIP_DEFAULT_MODE	upsg	Shipping
 SHIP_FLAT_DOM_RATE	5	Shipping



2.4       +16 -16    interchange/dist/foundation/templates/sampledata/tools=
/products/transactions.txt


rev 2.4, prev_rev 2.3
Index: transactions.txt
=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: /var/cvs/interchange/dist/foundation/templates/sampledata/tools/p=
roducts/transactions.txt,v
retrieving revision 2.3
retrieving revision 2.4
diff -u -r2.3 -r2.4
--- transactions.txt	14 Oct 2002 13:35:57 -0000	2.3
+++ transactions.txt	17 Oct 2002 04:46:23 -0000	2.4
@@ -1,16 +1,16 @@
-code	store_id	order_number	session__MVC_FIELDMUNGE__	username	shipmode	nit=
ems	subtotal	shipping	handling	salestax	total_cost	fname	lname	company	addr=
ess1	address2	city	state	zip	country	phone_day	phone_night	fax	email	b_fnam=
e	b_lname	b_company	b_address1	b_address2	b_city	b_state	b_zip	b_country	b_=
phone	order_date	order_ymd	order_wday	payment_method	po_number	avs	order_id=
	update_date	status	tracking_number	affiliate	campaign	parent	archived	dele=
ted	complete	comments	currency_locale
-00001		00001	AhGiHXgR	T00001	upsg (UPS Ground)	1	19.99	5.73	0	0	25.72	Uebe=
r	Mensch		16 Hauptstrasse		Portland	OR	97201	US	503-555-1212			devnull@icde=
vgroup.net											20001006 11:35:39	20001006	5	Credit Card (visa)				__M=
VC_SQLUDATE__	shipped					1	0	0
-00002		00002	AhGiHXgR	ckirk	upsg (UPS Ground)	27	641.73	15.06	0	41.71	698.=
5	Charles	Kirk	Auto Exchange Express	123 Exchange Dr.		Seattle	WA	34987	US	=
360-111-1234	360-111-1244		kirk@icdevgroup.net											20001006 11:37:01	=
20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	backorder							0
-00003		00003	AhGiHXgR	jking	upsg (UPS Ground)	150	1948.5	61.01	0	116.91	21=
26.42	John	King	Car Parts, Inc.	123 Auto Blvd.		Miami	FL	39807	US	305-111-1=
234	305-111-1239		king@icdevgroup.net											20001006 11:39:36	20001006	=
5	Credit Card (visa)				__MVC_SQLUDATE__	shipped					1	0	0
-00004		00004	AhGiHXgR	ladams	upsg (UPS Ground)	27	257.89	11.13	0	15.47	284=
49	Louis	Adams	Electronics Inc.	123 California Street		Los Angeles	CA	7890=
2	US	714-111-1234	714-111-1235		adams@icdevgroup.net											20001006 11:=
40:39	20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	credit							0
-00005		00005	AhGiHXgR	lriley	upsg (UPS Ground)	17	164.83	6.9		6.59	178.32	=
Larry	Riley	Computerz Inc.	123 Monitor Rd.		New York	NY	46890	US	518-111-12=
34	518-111-1242		riley@icdevgroup.net											20001006 11:42:01	20001006	=
5	Credit Card (visa)				__MVC_SQLUDATE__	partial		hardhat
-00006		00006	AhGiHXgR	T00002	upsr (UPS Next Day)	1	29.99	0	0	0	29.99	Bobby=
	Bodega	Computerz Inc.	9500 W. Covina		Valdez	AK	99686	US	907-111-1234			mi=
lton@icdevgroup.net											20001006 11:44:34	20001006	5	Credit Card (vis=
a)				__MVC_SQLUDATE__	pending					0	0	0
-00007		00007	AhGiHXgR	mcarter	upsg (UPS Ground)	2	89.98	9.84	0	4.50	104.32=
	Michele	Carter	Spare Parts, Inc.	123 Parts Ctr Blvd.		Annapolis	MD	32498	U=
S	301-111-1234	703-111-1241		carter@icdevgroup.net											20001006 12:07=
:52	20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	shipped					1	0	0
-00008		00008	AhGiHXgR	mkeller	upsg (UPS Ground)	3	53.97	5.17	0	0	59.14	Mic=
hael	Keller	InfoMed, Inc.	123 Oak St.		Portland	OR	45098	US	541-111-1234	54=
1-111-1240		keller@icdevgroup.net											20001006 12:08:36	20001006	5	Cr=
edit Card (visa)				__MVC_SQLUDATE__	pending					0	0	0
-00009		00009	AhGiHXgR	mmichaels	upsg (UPS Ground)	100	100	0	0	6.3	106.3	Mi=
chael	Michaels	Medical Supplies Co.	123 South Street		Austin	TX	30987	US	51=
2-111-9876	512-111-1237		michael@icdevgroup.net											20001006 12:09:48=
	20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	shipped					0	0	0
-00010		00010	AhGiHXgR	tlucas	upsg (UPS Ground)	5	57.95	6.43	0	2.90	67.28	T=
homas	Lucas	Construct Buildings Inc.	123 Building Dr.		Phoenix	AZ	56987	US	=
520-111-1234	520-111-1245		lucas@icdevgroup.net											20001006 12:10:47=
	20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	canceled							0
-00011		00011	AhGiHXgR	jrollins	upsg (UPS Ground)	1	44.99	6.87	0	1.57	53.43=
	Joseph	Rollins	Expert Repair, Inc.	123 Area Rd.		Richmond	VA	22398	US	804-=
111-1234	804-111-1243		Rollins@icdevgroup.net											20001006 12:11:34	2=
0001006	5	Credit Card (visa)				__MVC_SQLUDATE__	pending					0	0	0
-00012		00012	AhGiHXgR	ssmith	upsg (UPS Ground)	1	18.99	5.61			24.6	Steve	S=
mith	Pharm Supplies, Inc.	456 Hopkins Ave		Washington	DC	20090	US	202-111-8=
763	202-111-1238		smith@icdevgroup.net											20001006 12:12:13	20001006=
	5	Credit Card (visa)				__MVC_SQLUDATE__	shipped					1
-00013		00013	AhGiHXgR	mmichaels	upsg (UPS Ground)	1	14.99	5.35		0.94	21.28=
	Michael	Michaels	Medical Supplies Co.	123 South Street		Austin	TX	30987	US=
	512-111-9876	512-111-1237		michael@icdevgroup.net											20001006 12:12=
:55	20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	shipped		consolidated=
			1
-00014		00014	9bmBpw9j	T00003	upsg (UPS Ground)	3	59.97	6.4	0	0	66.37	James=
	Kelos		1414 Woodruff Ave.		Idaho Falls	ID	83401	US	(208) 524- 7202			devnu=
ll@icdevgroup.net											20001006 12:20:25	20001006	5	Credit Card (visa)=
				__MVC_SQLUDATE__	pending					0	0	0
-00015		00015	e69CSkSu	ladams	upsg (UPS Ground)	4	54.96	6.23	0	3.30	64.49	L=
ouis	Adams	Electronics Inc.	123 California Street		Los Angeles	CA	78902	US	=
714-111-1234	714-111-1235		adams@icdevgroup.net											20001006 12:46:50=
	20001006	5	Credit Card (visa)				__MVC_SQLUDATE__	pending					0	0	0
+code	store_id	order_number	session__MVC_FIELDMUNGE__	username	shipmode	nit=
ems	subtotal	shipping	handling	salestax	total_cost	fname	lname	company	addr=
ess1	address2	city	state	zip	country	phone_day	phone_night	fax	email	b_fnam=
e	b_lname	b_company	b_address1	b_address2	b_city	b_state	b_zip	b_country	b_=
phone	order_date	order_ymd	order_wday	payment_method	po_number	avs	order_id=
	auth_code	update_date	status	tracking_number	affiliate	campaign	parent	arc=
hived	deleted	complete	comments	currency_locale
+00001		00001	AhGiHXgR	T00001	upsg (UPS Ground)	1	19.99	5.73	0	0	25.72	Uebe=
r	Mensch		16 Hauptstrasse		Portland	OR	97201	US	503-555-1212			devnull@icde=
vgroup.net											20001006 11:35:39	20001006	5	Credit Card (visa)					__=
MVC_SQLUDATE__	shipped					1	0	0
+00002		00002	AhGiHXgR	ckirk	upsg (UPS Ground)	27	641.73	15.06	0	41.71	698.=
5	Charles	Kirk	Auto Exchange Express	123 Exchange Dr.		Seattle	WA	34987	US	=
360-111-1234	360-111-1244		kirk@icdevgroup.net											20001006 11:37:01	=
20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	backorder							0
+00003		00003	AhGiHXgR	jking	upsg (UPS Ground)	150	1948.5	61.01	0	116.91	21=
26.42	John	King	Car Parts, Inc.	123 Auto Blvd.		Miami	FL	39807	US	305-111-1=
234	305-111-1239		king@icdevgroup.net											20001006 11:39:36	20001006	=
5	Credit Card (visa)					__MVC_SQLUDATE__	shipped					1	0	0
+00004		00004	AhGiHXgR	ladams	upsg (UPS Ground)	27	257.89	11.13	0	15.47	284=
49	Louis	Adams	Electronics Inc.	123 California Street		Los Angeles	CA	7890=
2	US	714-111-1234	714-111-1235		adams@icdevgroup.net											20001006 11:=
40:39	20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	credit							0
+00005		00005	AhGiHXgR	lriley	upsg (UPS Ground)	17	164.83	6.9		6.59	178.32	=
Larry	Riley	Computerz Inc.	123 Monitor Rd.		New York	NY	46890	US	518-111-12=
34	518-111-1242		riley@icdevgroup.net											20001006 11:42:01	20001006	=
5	Credit Card (visa)					__MVC_SQLUDATE__	partial		hardhat
+00006		00006	AhGiHXgR	T00002	upsr (UPS Next Day)	1	29.99	0	0	0	29.99	Bobby=
	Bodega	Computerz Inc.	9500 W. Covina		Valdez	AK	99686	US	907-111-1234			mi=
lton@icdevgroup.net											20001006 11:44:34	20001006	5	Credit Card (vis=
a)					__MVC_SQLUDATE__	pending					0	0	0
+00007		00007	AhGiHXgR	mcarter	upsg (UPS Ground)	2	89.98	9.84	0	4.50	104.32=
	Michele	Carter	Spare Parts, Inc.	123 Parts Ctr Blvd.		Annapolis	MD	32498	U=
S	301-111-1234	703-111-1241		carter@icdevgroup.net											20001006 12:07=
:52	20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	shipped					1	0	0
+00008		00008	AhGiHXgR	mkeller	upsg (UPS Ground)	3	53.97	5.17	0	0	59.14	Mic=
hael	Keller	InfoMed, Inc.	123 Oak St.		Portland	OR	45098	US	541-111-1234	54=
1-111-1240		keller@icdevgroup.net											20001006 12:08:36	20001006	5	Cr=
edit Card (visa)					__MVC_SQLUDATE__	pending					0	0	0
+00009		00009	AhGiHXgR	mmichaels	upsg (UPS Ground)	100	100	0	0	6.3	106.3	Mi=
chael	Michaels	Medical Supplies Co.	123 South Street		Austin	TX	30987	US	51=
2-111-9876	512-111-1237		michael@icdevgroup.net											20001006 12:09:48=
	20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	shipped					0	0	0
+00010		00010	AhGiHXgR	tlucas	upsg (UPS Ground)	5	57.95	6.43	0	2.90	67.28	T=
homas	Lucas	Construct Buildings Inc.	123 Building Dr.		Phoenix	AZ	56987	US	=
520-111-1234	520-111-1245		lucas@icdevgroup.net											20001006 12:10:47=
	20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	canceled							0
+00011		00011	AhGiHXgR	jrollins	upsg (UPS Ground)	1	44.99	6.87	0	1.57	53.43=
	Joseph	Rollins	Expert Repair, Inc.	123 Area Rd.		Richmond	VA	22398	US	804-=
111-1234	804-111-1243		Rollins@icdevgroup.net											20001006 12:11:34	2=
0001006	5	Credit Card (visa)					__MVC_SQLUDATE__	pending					0	0	0
+00012		00012	AhGiHXgR	ssmith	upsg (UPS Ground)	1	18.99	5.61			24.6	Steve	S=
mith	Pharm Supplies, Inc.	456 Hopkins Ave		Washington	DC	20090	US	202-111-8=
763	202-111-1238		smith@icdevgroup.net											20001006 12:12:13	20001006=
	5	Credit Card (visa)					__MVC_SQLUDATE__	shipped					1
+00013		00013	AhGiHXgR	mmichaels	upsg (UPS Ground)	1	14.99	5.35		0.94	21.28=
	Michael	Michaels	Medical Supplies Co.	123 South Street		Austin	TX	30987	US=
	512-111-9876	512-111-1237		michael@icdevgroup.net											20001006 12:12=
:55	20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	shipped		consolidate=
d			1
+00014		00014	9bmBpw9j	T00003	upsg (UPS Ground)	3	59.97	6.4	0	0	66.37	James=
	Kelos		1414 Woodruff Ave.		Idaho Falls	ID	83401	US	(208) 524- 7202			devnu=
ll@icdevgroup.net											20001006 12:20:25	20001006	5	Credit Card (visa)=
					__MVC_SQLUDATE__	pending					0	0	0
+00015		00015	e69CSkSu	ladams	upsg (UPS Ground)	4	54.96	6.23	0	3.30	64.49	L=
ouis	Adams	Electronics Inc.	123 California Street		Los Angeles	CA	78902	US	=
714-111-1234	714-111-1235		adams@icdevgroup.net											20001006 12:46:50=
	20001006	5	Credit Card (visa)					__MVC_SQLUDATE__	pending					0	0	0



2.8       +2 -2      interchange/dist/lib/UI/pages/admin/db_metaconfig.html


rev 2.8, prev_rev 2.7
Index: db_metaconfig.html
=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: /var/cvs/interchange/dist/lib/UI/pages/admin/db_metaconfig.html,v
retrieving revision 2.7
retrieving revision 2.8
diff -u -r2.7 -r2.8
--- db_metaconfig.html	11 Oct 2002 18:42:47 -0000	2.7
+++ db_metaconfig.html	17 Oct 2002 04:46:23 -0000	2.8
@@ -174,7 +174,7 @@
 		'extended.widget_cell_class'	=3D> 'Widget cell class (standard row)',
 		'extended.help_cell_class'		=3D> 'Help cell class (standard row)',
 		'extended.bottom_buttons'		=3D> 'Buttons only on bottom',
-		'extended.top_buttons'		=3D> 'Buttons only on top',
+		'extended.top_buttons'			=3D> 'Buttons only on top',
=20
 	}`
=20
@@ -279,4 +279,4 @@
=20
 ]
 @_UI_STD_FOOTER_@
-<!-- page: @@MV_PAGE@@ -->
+<!-- page: @@MV_PAGE@@ version: $Id: db_metaconfig.html,v 2.8 2002/10/17 0=
4:46:23 mheins Exp $ -->



2.13      +3 -2      interchange/dist/lib/UI/pages/admin/item.html


rev 2.13, prev_rev 2.12
Index: item.html
=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: /var/cvs/interchange/dist/lib/UI/pages/admin/item.html,v
retrieving revision 2.12
retrieving revision 2.13
diff -u -r2.12 -r2.13
--- item.html	11 Oct 2002 18:42:47 -0000	2.12
+++ item.html	17 Oct 2002 04:46:23 -0000	2.13
@@ -51,6 +51,7 @@
=20
 [perl tables=3D"[cgi mv_data_table] [scratch extra_tables] __UI_META_TABLE=
__"]
 	delete $Scratch->{ui_location};
+	my $dest =3D $CGI->{ui_sequence_destination} || '__UI_BASE__/item_edit';
 	if($CGI->{ui_sequence_edit}) {
 		my $doit;
 		if($CGI->{item_id_left} =3D~ s/^(.*?),//) {
@@ -69,7 +70,7 @@
 		return unless $doit;
 		$Scratch->{ui_location}
 				=3D $Tag->area( {
-						href =3D> '__UI_BASE__/item_edit',
+						href =3D> $dest,
 						form =3D> qq{
 							item_id=3D$CGI->{item_id}
 							item_id_left=3D$CGI->{item_id_left}
@@ -570,4 +571,4 @@
 <!-- ----- END REAL STUFF ----- -->
=20
 @_UI_STD_FOOTER_@
-<!-- page: @@MV_PAGE@@ Revision: $Id: item.html,v 2.12 2002/10/11 18:42:47=
 mheins Exp $ -->
+<!-- page: @@MV_PAGE@@ Revision: $Id: item.html,v 2.13 2002/10/17 04:46:23=
 mheins Exp $ -->



2.9       +109 -2    interchange/dist/lib/UI/pages/admin/order.html


rev 2.9, prev_rev 2.8
Index: order.html
=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: /var/cvs/interchange/dist/lib/UI/pages/admin/order.html,v
retrieving revision 2.8
retrieving revision 2.9
diff -u -r2.8 -r2.9
--- order.html	18 Aug 2002 08:09:05 -0000	2.8
+++ order.html	17 Oct 2002 04:46:23 -0000	2.9
@@ -41,6 +41,11 @@
=20
 @_UI_STD_HEAD_@
=20
+[comment]
+<!-- sequence_edit: [cgi ui_sequence_edit] -->
+<!-- item_id_left: [cgi item_id_left] -->
+[/comment]
+
 [value name=3Dmv_data_table set=3Dtransactions hide=3D1]
 [if-mm !tables]
 [set ui_error]
@@ -53,6 +58,42 @@
=20
 [include include/order_delete_archive]
=20
+[perl tables=3D"[cgi mv_data_table] [scratch extra_tables] __UI_META_TABLE=
__"]
+	delete $Scratch->{ui_location};
+	my $dest =3D $CGI->{ui_sequence_destination} || '__UI_BASE__/order_status=
';
+	if($CGI->{ui_sequence_edit}) {
+		my $doit;
+		$CGI->{item_id_left} =3D~ s/-_NULL_-/\0/g;
+		$CGI->{item_id_left} =3D~ s/\0+/,/g;
+		$CGI->{item_id_left} =3D~ s/,+/,/g;
+		if($CGI->{item_id_left} =3D~ s/^(.*?),//) {
+			$CGI->{item_id} =3D $1;
+			$doit =3D 1;
+		}
+		elsif ($CGI->{item_id_left}) {
+			$CGI->{item_id} =3D delete $CGI->{item_id_left};
+			delete $CGI->{ui_sequence_edit};
+			$doit =3D 1;
+		}
+		else {
+			delete $CGI->{item_id};
+			delete $CGI->{ui_sequence_edit};
+		}
+		return unless $doit;
+		$Scratch->{ui_location}
+				=3D $Tag->area( {
+						href =3D> $dest,
+						form =3D> qq{
+							item_id=3D$CGI->{item_id}
+							item_id_left=3D$CGI->{item_id_left}
+							ui_sequence_edit=3D$CGI->{ui_sequence_edit}
+						},
+					});
+		return;
+	}
+
+[/perl]
+
 [calc]
 	if ($CGI->{mv_like_spec}) {
 		my @f =3D split /\0/, $CGI->{mv_like_field};
@@ -289,13 +330,79 @@
 			`]
 [scratch archive_nm]order=3D1[/button]
=20
-<p>
+&nbsp;&nbsp;&nbsp;[button form=3Dbatch src=3D"__UI_IMG__icon_merch.gif"
+			link-text-too=3D1
+			text=3D"Ship checked orders"
+			]
+ui_sequence_edit=3D[calc]
+	$CGI->{item_id} =3D delete $CGI->{order};
+	$CGI->{item_id_left} =3D $CGI->{item_id};
+	$CGI->{item_id_left} =3D~ s/\0+/,/g;
+	if($CGI->{item_id_left} =3D~ s/^(.*?),//) {
+		$CGI->{item_id} =3D $1;
+		return 1;
+	}
+	else {
+		delete $CGI->{item_id_left};
+		return '';
+	}
+[/calc]
+mv_nextpage=3D__UI_BASE__/order_status
+[/button]
+
+&nbsp;
+&nbsp;
+&nbsp;
+&nbsp;
+<table>
+	<tr>
+		<td>
+
 <A HREF=3D"javascript:checkAll(document.batch, 'order', 0)"><img src=3D"__=
UI_IMG__box_checked.gif" border=3D0>Check all</A>&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;
 <A HREF=3D"javascript:checkAll(document.batch, 'order', 1)"><img src=3D"__=
UI_IMG__box_empty.gif" border=3D0>Uncheck all</A>
+
+		</td>
+
+[if scratch old_browser]
+	<td>
+<input type=3Dcheckbox name=3Dship_auto value=3D1> <span title=3D"Ship all=
 lines of all orders, archive[if variable SETTLE_TRANSACTION], settle[/if]"=
>Ship all automatically</span>
+	</td>
+[else]
+	<td>
+<script>
+	function div_vis (show) {
+		var el =3D document.getElementById('ship_auto_help');
+		el.style.display =3D show ? 'block' : 'none';
+	}
+</script>
+		<span onMouseOver=3D"div_vis(1)" onMouseOut=3D"div_vis(0)">
+			<input type=3Dcheckbox name=3Dship_auto value=3D1> Ship all automatical=
ly
+		&nbsp;
+		&nbsp;
+		</span>
+		</td>
+		<td height=3D50>
+			<div
+				id=3Dship_auto_help
+				style=3D"
+					display: none;
+					border: 2px solid black;
+					padding: 5px;
+				">
+				Ship all lines of all orders,<br>
+				archive[if variable SETTLE_TRANSACTION], settle[/if]
+			</div>
+		</td>
+
+[/else]
+[/if]
+
+	</tr>
+</table>
 </FORM>
 [/search-region]
 <!-- ----- END REAL STUFF ----- -->
=20
=20
 @_UI_STD_FOOTER_@
-<!-- page: @@MV_PAGE@@ -->
+<!-- page: @@MV_PAGE@@ version: $Id: order.html,v 2.9 2002/10/17 04:46:23 =
mheins Exp $ -->



2.6       +108 -358  interchange/dist/lib/UI/pages/admin/order_status.html


rev 2.6, prev_rev 2.5
Index: order_status.html
=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: /var/cvs/interchange/dist/lib/UI/pages/admin/order_status.html,v
retrieving revision 2.5
retrieving revision 2.6
diff -u -r2.5 -r2.6
--- order_status.html	18 Aug 2002 08:09:05 -0000	2.5
+++ order_status.html	17 Oct 2002 04:46:23 -0000	2.6
@@ -1,100 +1,53 @@
-[if !cgi order]
-	[bounce page=3D"__UI_BASE__/order"]
-[/if]
-
 [calc]
 	$Values->{ui_data_fields} =3D $CGI->{ui_data_fields} =3D 'status archive =
delete';
 	$CGI->{mv_data_table} =3D 'transactions';
-	$CGI->{item_id} =3D $CGI->{order};
-	return;
-[/calc]
-
-[comment]BEGIN former UI_STD_DBEDIT_HEAD[/comment]
-
-[if cgi mv_data_table]
-[value name=3Dmv_data_table set=3D"[cgi mv_data_table]" hide=3D1]
-[else]
-[value name=3Dmv_data_table set=3D"[calc]$Config->{ProductFiles}[0][/calc]=
" hide=3D1]
-[/else]
-[/if]
+	$CGI->{item_id} ||=3D $CGI->{order};
=20
-[if-mm !tables]
-	[calc]
-		delete $Scratch->{no_bounce};
-		my $tmp =3D delete $Scratch->{ui_override_table};
-		if($tmp eq $Values->{mv_data_table}) {
-			$Scratch->{no_bounce} =3D 1;
+	$Tag->tmp('hidden');
+	my $hidden;
+	if($CGI->{ui_sequence_edit}) {
+		$Scratch->{mv_nextpage} =3D "__UI_BASE__/order";
+		$hidden =3D {
+			item_id_left	=3D> $CGI->{item_id_left},
+			ui_sequence_edit	=3D> $CGI->{ui_sequence_edit},
 		}
-		return;
-	[/calc]
-	[if scratch no_bounce]
-		[set no_bounce][/set]
-	[else]
-		[seti ui_error][msg arg.0=3D"[value mv_data_table]"]Not authorized for t=
able %s.[/msg][/seti]
-		[bounce page=3D"__UI_BASE__/error"]
-	[/else]
-	[/if]
-[/if-mm]
-
-[if-mm function=3Dkeys name=3D"[cgi item_id]"]
-[else][bounce href=3D"[area admin/special/key_violation]"][/else]
-[/if-mm]
-
-[perl tables=3D"[value mv_data_table] __UI_META_TABLE__"]
-my $table =3D $Values->{mv_data_table};
-my $db =3D $Db{$table};
-my $mdb =3D $Db{__UI_META_TABLE__};
-if(! $db) {
-	$Scratch->{ui_error} =3D errmsg("Bad table '%s'", $table);
-	$Tag->bounce( { page =3D> '__UI_BASE__/error' } );
-}
-
-$Values->{ui_data_key_name} =3D $db->config('KEY');
-
-###############################################################
-# Get the field display information including breaks and labels
-###############################################################
-if( $mdb
-	and ! $CGI->{ui_data_fields}
-	and ! $CGI->{ui_data_fields_all}
-	and $mdb->record_exists($table)
-	)
-{
-	$CGI->{ui_data_fields} =3D $mdb->field($table, 'options');
-	$CGI->{ui_data_fields} =3D~ s/\r\n/\n/g;
-	$CGI->{ui_data_fields} =3D~ s/\r/\n/g;
-	if($CGI->{ui_data_fields} =3D~ /\n\n/) {
-		my @breaks;
-		my @break_labels;
-		while ($CGI->{ui_data_fields} =3D~ s/\n+(?:\n=3D(.*)\n)?\n+(\w+)/\n$2/) {
-			push @breaks, $2;
-			push @break_labels, "$2=3D$1" if $1;
-		}
-		$CGI->{ui_break_before} =3D join " ", @breaks;
-		$CGI->{ui_break_before_label} =3D join ",", @break_labels;
 	}
-	$CGI->{ui_data_fields} =3D~ s/^\s+//;
-	$CGI->{ui_data_fields} =3D~ s/\s+$//;
-}
-
-$Values->{ui_data_fields} =3D
-	$CGI->{ui_data_fields} ||
-	$CGI->{mv_data_fields} ||
-	$Values->{"$table:ui_data_fields"} ||=20
-	(join " ", $db->columns());
-#Log("data fields: '$Values->{ui_data_fields}' cgi=3D'$CGI->{ui_data_field=
s}'");
-$Values->{ui_data_fields} =3D~ s/[,\0\s]+/ /g;
-###############################################################
-
-my @cols =3D split /[,\0\s]/, $Values->{ui_data_fields};
-@cols =3D grep /:/ || $db->column_exists($_), @cols;
+	else {
+		$CGI->{ui_sequence_destination} ||=3D '__UI_BASE__/order';
+		$Scratch->{mv_nextpage} =3D $CGI->{ui_sequence_destination};
+		$hidden =3D { };
+	}
+	$hidden->{ui_sequence_destination} =3D q{@@MV_PAGE@@};
+	$Scratch->{hidden} =3D $hidden;
+	$CGI->{order} =3D $CGI->{item_id};
+	return;
+[/calc]
=20
-$Values->{ui_data_fields} =3D $CGI->{ui_data_fields} =3D join " ", @cols;
-return;
+[if cgi ship_auto]
+[calc]
+	my $orders =3D join ",", delete $CGI->{item_id}, delete $CGI->{item_id_le=
ft};
+	$orders =3D~ s/-_NULL_-/\0/g;
+	$orders =3D~ s/\0+/,/g;
+	$orders =3D~ s/,+/,/g;
+	delete $CGI->{order};
+	$Scratch->{order_list} =3D $orders;
+[/calc]
+[loop list=3D"[scratch order_list]"]
+	[update-order-status
+			order_number=3D"[loop-code]"
+			ship_all=3D1
+			[if-loop-data transactions order_id]
+			settle_transaction=3D"__SETTLE_TRANSACTION__"
+			[/if-loop-data]
+			archive=3D1]
+[/loop]
+=09=09=09
=20
-[/perl]
=20
-[comment]END former UI_STD_DBEDIT_HEAD[/comment]
+[/if]
+[if !cgi order]
+	[bounce page=3D"__UI_BASE__/order"]
+[/if]
=20
 [set ui_class]Orders[/set]
 [seti page_title][L]Order status[/L] -- [cgi order][/seti]
@@ -104,284 +57,81 @@
=20
 @_UI_STD_HEAD_@
=20
-[tmp order_lines_tmp][loop search=3D"
-			fi=3Dorderline
-			st=3Ddb
-			sf=3Dorder_number
-			se=3D[cgi order]
-			ml=3D1000
-	"][loop-code] [/loop][/tmp]
-
-<FORM METHOD=3DPOST ACTION=3D"[area ui]" NAME=3Dtransactions>
-<INPUT TYPE=3Dhidden NAME=3Dmv_doit VALUE=3D"set">
-<INPUT TYPE=3Dhidden NAME=3Dmv_click VALUE=3D"process_filter">
-<INPUT TYPE=3Dhidden NAME=3Dmv_nextpage VALUE=3D"__UI_BASE__/order_view">
-<INPUT TYPE=3Dhidden NAME=3Dcode VALUE=3D"[cgi order]">
-<INPUT TYPE=3Dhidden NAME=3Dmv_data_table VALUE=3D"[value mv_data_table]">
-<INPUT TYPE=3Dhidden NAME=3Dui_meta_specific VALUE=3D"[cgi ui_meta_specifi=
c]">
-<INPUT TYPE=3Dhidden NAME=3Dmv_data_key VALUE=3D"[value ui_data_key_name]">
-<INPUT TYPE=3Dhidden NAME=3Dmv_update_empty VALUE=3D"1">
-<INPUT TYPE=3Dhidden NAME=3Dmv_data_fields VALUE=3D"code status archived d=
eleted">
-<table width=3D"95%"><tr><td class=3Drborder>
-<table width=3D"100%"><tr><td class=3Drnorm>
-<table CELLSPACING=3D0 CELLMARGIN=3D0 WIDTH=3D"100%">
-[loop list=3D"[cgi order]"]
-<TR>
-<TD ALIGN=3DRIGHT class=3Drmarq>[L]Order date[/L]</TD>
-<TD class=3Drnorm>
-[convert-date][loop-data transactions order_date][/convert-date]</TD>
-</TR>
-<TR>
-<TD ALIGN=3DRIGHT class=3Drmarq>[L]Status last updated[/L]</TD>
-<TD class=3Drnorm>
-[convert-date][loop-data transactions update_date][/convert-date]</TD>
-</TR>
-[loop prefix=3Drow list=3D"status deleted archived"]
-[display table=3Dtransactions column=3D"[row-code]" key=3D"[loop-code]" ap=
plylocale=3D1
-										template=3D|
-<TR class=3Drnorm>
-<TD ALIGN=3Dright class=3Drmarq>
-	$LABEL$
-</TD>
-<TD VALIGN=3DTOP class=3Drnorm>
-	<TABLE CELLSPACING=3D0 CELLMARGIN=3D0><TR><TD>$WIDGET$</TD><TD><I>$HELP$<=
/I>{HELPURL}<BR><A HREF=3D"$HELP_URL$">help</A>{/HELPURL}</TD></TR></TABLE>
-</TD>
-</TR>
-|]
-[/loop]
-<TR>
-<TD ALIGN=3DRIGHT class=3Drmarq>&nbsp;</TD>
-<TD class=3Drnorm>
-[if-mm advanced order]
-	[button form=3Dtransactions bold=3D1 text=3D"[L]Ship checked order lines,=
 send email to customer if appropriate[/L]"]
+[tmp form_include]
+<tr class=3Drnorm>
+<td class=3Dclabel align=3Dcenter style=3D"font-size: larger">
+	Actions
+</td>
+<td class=3Dcdata>
+	<div=20
+		style=3D"
+			border: 2px solid black;
+			padding: 8px;
+		">
+	<select name=3Dship_all>
+		<option value=3D1> Ship all lines
+		<option value=3D0> Ship per status above
+	</select>
+
+	[button form=3Dtform bold=3D1 text=3D"[L]Ship the order[/L]"]
 	mv_todo=3Dback
 	order=3D[cgi code]
 	[tag flag write]orderline transactions[/tag]
-	[perl tables=3D"orderline transactions userdb __UI_META_TABLE__"]
-		my $odb =3D $Db{orderline}
-			or die "No orderline database!\n";
-		my $tdb =3D $Db{transactions}
-			or die "No transactions database!\n";
-		my $udb =3D $Db{userdb}
-			or die "No userdb database!\n";
-
-		my $on =3D $Scratch->{ship_notice_order_number} =3D $CGI->{code};
-		my $user       =3D $tdb->field($on, 'username');
-		my $wants_copy =3D $udb->field($user, 'email_copy');
-#Log("Order number=3D$on username=3D$user wants=3D$wants_copy");
-		delete $Scratch->{ship_notice_username};
-		delete $Scratch->{ship_notice_email};
-		if($wants_copy) {
-			$Scratch->{ship_notice_username} =3D $user;
-			$Scratch->{ship_notice_email} =3D $udb->field($user, 'email')
-				or delete $Scratch->{ship_notice_username};
-		}
-
-		if($CGI->{status} =3D~ /\d\d\d\d/) {
-			$tdb->set_field($on, 'status', $CGI->{status});
-		}
-		else {
-			$tdb->set_field($on, 'status', 'shipped');
-		}
-
-		my @shiplines =3D grep /\S/, split /\0/, $CGI->{lines_shipped};
-		my $to_ship =3D scalar @shiplines;
-
-		my $count_q =3D "select * from orderline where order_number =3D '$on'";
-		my $lines_ary =3D  $odb->query($count_q);
-		if(! $lines_ary) {
-			$Scratch->{ui_message} =3D "No order lines for order $on";
-			return;
-		}
-		my $total_lines =3D scalar @$lines_ary;
-
-		my $odb_keypos =3D $odb->config('KEY_INDEX');
-
-		# See if some items have already shipped
-		my %already;
-		for(@$lines_ary) {
-			my $code =3D $_->[$odb_keypos];
-			my $status =3D $odb->field($code, 'status');
-			if($status eq 'shipped') {
-				$already{$code} =3D $code;
-			}
-		}
-=09=09
-		my $ship_mesg;
-		my $g_status;
-		my %shipping;
-
-		@shipping =3D grep ! $already{$_}, @shipping;
-		@shipping{@shiplines} =3D @shiplines;
-
-		if($total_lines =3D=3D $to_ship) {
-			$ship_mesg =3D "Order $on complete, $total_lines lines set shipped.";
-			$Scratch->{ship_notice_complete} =3D $ship_mesg;
-			$g_status =3D 'shipped';
-		}
-		else {
-			$ship_mesg =3D "Order $on partially shipped ($to_ship of $total_lines l=
ines).";
-			delete $Scratch->{ship_notice_complete};
-			$g_status =3D 'partial';
-		}
-
-		my $minor_mesg =3D '';
-
-		my $email_mesg =3D $Scratch->{ship_notice_username}
-						? "Email copy sent to $Scratch->{ship_notice_email}."
-						: "No email copy sent as per user preference.";
-
-		# Actually update the orderline database
-		for(@$lines_ary) {
-			my $code =3D $_->[$odb_keypos];
-			next if $already{$code};
-			my $status =3D $shipping{$code} ? 'shipped' : 'backorder';
-			$odb->set_field($code, 'status', $status)
-				or do {
-					$Scratch->{ui_message} =3D "Orderline $code ship status update failed=
";
-					return;
-				};
-
-		}
-
-		for(keys %already) {
-			$shipping{$_} =3D $_;
-		}
-
-		my $total_shipped_now =3D scalar keys %shipping;=20
-
-
-		delete $Scratch->{ship_now_complete};
-		if (
-			$total_lines !=3D scalar @shipping
-				and
-			$total_shipped_now =3D=3D $total_lines=20
-		  )
-		{
-			$g_status =3D 'shipped';
-			$Scratch->{ship_now_complete} =3D 1
-				if $total_shipped_now =3D=3D $total_lines;
-			$ship_mesg =3D "Order $on now complete (all $total_lines lines).";
-		}
-
-		$tdb->set_field($on, 'status', $g_status);
-
-		$Scratch->{ui_message} =3D "$ship_mesg $email_mesg";
-		delete $Scratch->{ship_notice_username};
-		delete $Scratch->{ship_notice_email};
-		if($wants_copy) {
-			$Scratch->{ship_notice_username} =3D $user;
-			$Scratch->{ship_notice_email} =3D $tdb->field($on, 'email')
-				or $Scratch->{ship_notice_email} =3D $tdb->field($on, 'email')
-				or delete $Scratch->{ship_notice_username};
-		}
-		return;
-	[/perl]
-
+	[update-order-status order-number=3D"[cgi code]"]
 	[if scratch ship_notice_username]
 	[email-raw][include etc/ship_notice][/email-raw]
 	[/if]
=20
-	[/button] <BR>
-
-	[loop prefix=3Dpartial list=3D"[scratch order_lines_tmp]"]
-	<INPUT TYPE=3Dcheckbox NAME=3Dlines_shipped VALUE=3D"[partial-code]" CHEC=
KED> Line [partial-increment] ([partial-filter 16][partial-data orderline d=
escription][/partial-filter])<BR>
-	[/loop]
-	<BR>
-	[button bold=3D1 text=3D"[L]Change global status[/L]"]
-	order=3D[cgi code]
-	[/button]&nbsp;&nbsp;&nbsp;
-	[button text=3D"[L]Cancel[/L]"]
-	mv_nextpage=3D__UI_BASE__/order_view
-	order=3D[cgi code]
-	mv_todo=3Dback
-	[set Cancel][/set]
 	[/button]
-[else]
-	[button text=3D"[L]Back[/L]"]
-	mv_nextpage=3D__UI_BASE__/order_view
-	order=3D[cgi code]
-	mv_todo=3Dback
-	[/button]
-[/else]
-[/if-mm]
-</TD>
-</table>
-</td></tr></table>
-</td></tr></table>
-</FORM>
=20
-[/loop]
-
-<h2>[L]Individual line item status[/L]</H2>
-<TABLE>
-[loop search=3D"
-		fi=3Dorderline
-		st=3Ddb
-		sf=3Dorder_number
-		se=3D[cgi order]
-		ml=3D1000
-		tf=3Dcode
-"]
-[calc]
-	$Values->{ui_data_fields} =3D $CGI->{ui_data_fields} =3D 'code status del=
ete';
-	$CGI->{mv_data_table} =3D 'transactions';
-	$CGI->{item_id} =3D $CGI->{order};
-	return;
-[/calc]
-
-<TR><TD>
-
-<FORM METHOD=3DPOST ACTION=3D"[area ui]" NAME=3D"orderline[loop-increment]=
">
-<INPUT TYPE=3Dhidden NAME=3Dmv_doit VALUE=3D"set">
-<INPUT TYPE=3Dhidden NAME=3Dmv_click VALUE=3D"process_filter">
-<INPUT TYPE=3Dhidden NAME=3Dmv_nextpage VALUE=3D"@@MV_PAGE@@">
-<INPUT TYPE=3Dhidden NAME=3Dcode VALUE=3D"[loop-code]">
-<INPUT TYPE=3Dhidden NAME=3Dorder VALUE=3D"[cgi order]">
-<INPUT TYPE=3Dhidden NAME=3Dmv_data_table VALUE=3D"orderline">
-<INPUT TYPE=3Dhidden NAME=3Dui_meta_specific VALUE=3D"[cgi ui_meta_specifi=
c]">
-<INPUT TYPE=3Dhidden NAME=3Dmv_data_key VALUE=3D"code">
-<INPUT TYPE=3Dhidden NAME=3Dmv_update_empty VALUE=3D"1">
-<INPUT TYPE=3Dhidden NAME=3Dmv_data_fields VALUE=3D"code status">
-<table width=3D"95%"><tr><td class=3Drborder>
-<table width=3D"100%"><tr><td>
-<table CELLSPACING=3D0 CELLMARGIN=3D0 WIDTH=3D"100%">
-<TR>
-<TD ALIGN=3DRIGHT class=3Drmarq>[L]SKU[/L]/[L]Description[/L]</TD>
-<TD class=3Drnorm>
-[L]SKU[/L]: [loop-data orderline sku], [loop-data orderline quantity]@[fil=
ter %.2f][loop-data orderline price][/filter] =3D [currency][loop-data orde=
rline subtotal][/currency]<BR>
-[loop-data orderline description]
-</TD>
-</TR>
-<TR>
-<TD ALIGN=3DRIGHT class=3Drmarq>[L]Last updated[/L]</TD>
-<TD class=3Drnorm>
-[convert-date][loop-data orderline update_date][/convert-date]</TD>
-</TR>
-[display table=3Dorderline column=3D"status" key=3D"[loop-code]"
-										template=3D|
-<TR class=3Drnorm>
-<TD ALIGN=3Dright class=3Drmarq>
-	$LABEL$
-</TD>
-<TD VALIGN=3DTOP>
-	<TABLE CELLSPACING=3D0 CELLMARGIN=3D0><TR><TD>$WIDGET$</TD><TD><I>$HELP$<=
/I>{HELPURL}<BR><A HREF=3D"$HELP_URL$">help</A>{/HELPURL}</TD></TR></TABLE>
-</TD>
-</TR>
-|]
-<TR>
-<TD ALIGN=3DRIGHT class=3Drmarq>&nbsp;</TD>
-<TD class=3Drnorm>
-<INPUT TYPE=3Dsubmit VALUE=3D"[msg arg.0=3D"[loop-increment]"]Update statu=
s of line %s[/msg]">
-</TD>
-</table>
-</td></tr></table>
-</td></tr></table>
-</FORM>
-
-</TD></TR>
-[/loop]
-</TABLE>
+	Email
+	<select name=3Dsend_email>
+		<option value=3D"">[L]Use customer preference[/L]</option>
+		<option value=3D"0">[L]No[/L]</option>
+		<option value=3D"1">[L]Yes[/L]</option>
+	</select>
+
+	[if variable SETTLE_TRANSACTION]
+	<br>
+		[if type=3Ddata term=3D"transactions::order_id::[cgi order]"]
+	<input type=3Dcheckbox name=3Dsettle_transaction value=3D1 CHECKED> <b>Se=
ttle transaction </b>
+		[/if]
+	[/if]
+	</div>
+</td>
+</tr>
+[/tmp]
+
+[table-editor=20
+	table=3Dtransactions
+	key=3D"[cgi order]"
+	form-name=3Dtform
+	table-width=3D"100%"
+	no-table-meta=3D1
+	mv-nextpage=3D"[scratch mv_nextpage]"
+	ui_data_fields=3D"code status tracking_number order_id auth_code archived=
 deleted"
+	include-form=3D"[scratch form_include]"
+	include-before=3D"order_id"
+	help.order_id=3D"* =3D settled"
+	link-table=3Dorderline
+	link-key=3Dorder_number
+	link-before=3Dorder_id
+	link-no-blank=3D1
+	link-label=3D"Ordered Items"
+	hidden=3D`$Scratch->{hidden}`
+/]
+
+<script>
+	var f =3D document.tform;
+	if(f !=3D undefined) {
+		var str =3D f.order_id.value;
+// alert("in check, str=3D" + str);
+		if(str.match(/\*$/) ) {
+			f.settle_transaction.checked =3D false;
+// alert("set checked status!");
+		}
+	}
+</script>
=20
 @_UI_STD_FOOTER_@
-<!-- page: @@MV_PAGE@@ -->
+<!-- page: @@MV_PAGE@@ version: $Id: order_status.html,v 2.6 2002/10/17 04=
:46:23 mheins Exp $ -->



2.34      +5 -2      interchange/lib/Vend/Order.pm


rev 2.34, prev_rev 2.33
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: /var/cvs/interchange/lib/Vend/Order.pm,v
retrieving revision 2.33
retrieving revision 2.34
diff -u -r2.33 -r2.34
--- Order.pm	18 Sep 2002 19:07:08 -0000	2.33
+++ Order.pm	17 Oct 2002 04:46:24 -0000	2.34
@@ -1,6 +1,6 @@
 # Vend::Order - Interchange order routing routines
 #
-# $Id: Order.pm,v 2.33 2002/09/18 19:07:08 mheins Exp $
+# $Id: Order.pm,v 2.34 2002/10/17 04:46:24 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.33 $, 10);
+$VERSION =3D substr(q$Revision: 2.34 $, 10);
=20
 @ISA =3D qw(Exporter);
=20
@@ -829,6 +829,9 @@
=20=09
 	if("\L$cmd" eq 'none') {
 		return ::errmsg("NEED ENCRYPTION ENABLED.");
+	}
+	elsif(! $key) {
+		return ::errmsg("NEED ENCRYPTION KEY POINTER.");
 	}
 	elsif($cmd =3D~ m{^(?:/\S+/)?\bgpg$}) {
 		$cmd .=3D " --batch --always-trust -e -a -r '%s'";



2.7       +3 -6      interchange/lib/Vend/Payment.pm


rev 2.7, prev_rev 2.6
Index: Payment.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: /var/cvs/interchange/lib/Vend/Payment.pm,v
retrieving revision 2.6
retrieving revision 2.7
diff -u -r2.6 -r2.7
--- Payment.pm	24 Jul 2002 18:54:09 -0000	2.6
+++ Payment.pm	17 Oct 2002 04:46:24 -0000	2.7
@@ -1,6 +1,6 @@
 # Vend::Payment - Interchange payment processing routines
 #
-# $Id: Payment.pm,v 2.6 2002/07/24 18:54:09 mheins Exp $
+# $Id: Payment.pm,v 2.7 2002/10/17 04:46:24 mheins Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -22,7 +22,7 @@
 package Vend::Payment;
 require Exporter;
=20
-$VERSION =3D substr(q$Revision: 2.6 $, 10);
+$VERSION =3D substr(q$Revision: 2.7 $, 10);
=20
 @ISA =3D qw(Exporter);
=20
@@ -468,13 +468,10 @@
 	$Vend::Session->{payment_id} =3D $result{'order-id'};
=20
 	my $encrypt =3D charge_param('encrypt');
-	$encrypt =3D 1 unless defined $encrypt;
=20
-	if($encrypt) {
+	if($encrypt and $CGI::values{mv_credit_card_number} and $Vend::Cfg->{Encr=
yptKey}) {
 		my $prog =3D charge_param('encrypt_program') || $Vend::Cfg->{EncryptProg=
ram};
 		if($prog =3D~ /pgp|gpg/) {
-			local($Vend::Cfg->{Encrypt_program});
-			$Vend::Cfg->{Encrypt_program} =3D $prog;
 			$CGI::values{mv_credit_card_force} =3D 1;
 			(
 				undef,



2.6       +18 -4     interchange/lib/Vend/Payment/AuthorizeNet.pm


rev 2.6, prev_rev 2.5
Index: AuthorizeNet.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: /var/cvs/interchange/lib/Vend/Payment/AuthorizeNet.pm,v
retrieving revision 2.5
retrieving revision 2.6
diff -u -r2.5 -r2.6
--- AuthorizeNet.pm	17 Jun 2002 22:24:11 -0000	2.5
+++ AuthorizeNet.pm	17 Oct 2002 04:46:24 -0000	2.6
@@ -1,6 +1,6 @@
 # Vend::Payment::AuthorizeNet - Interchange AuthorizeNet support
 #
-# $Id: AuthorizeNet.pm,v 2.5 2002/06/17 22:24:11 jon Exp $
+# $Id: AuthorizeNet.pm,v 2.6 2002/10/17 04:46:24 mheins Exp $
 #
 # Copyright (C) 1999-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -38,7 +38,7 @@
=20
 =3Dhead1 Interchange AuthorizeNet Support
=20
-Vend::Payment::AuthorizeNet $Revision: 2.5 $
+Vend::Payment::AuthorizeNet $Revision: 2.6 $
=20
 =3Dhead1 SYNOPSIS
=20
@@ -316,6 +316,18 @@
 	my $referer   =3D  $opt->{referer}
 					|| charge_param('referer');
=20
+	my @override =3D qw/
+						order_id
+						auth_code
+						mv_credit_card_exp_month
+						mv_credit_card_exp_year
+						mv_credit_card_number
+					/;
+	for(@override) {
+		next unless defined $opt->{$_};
+		$actual->{$_} =3D $opt->{$_};
+	}
+
 	## Authorizenet does things a bit different, ensure we are OK
 	$actual->{mv_credit_card_exp_month} =3D~ s/\D//g;
     $actual->{mv_credit_card_exp_month} =3D~ s/^0+//;
@@ -344,12 +356,12 @@
 		mauthcapture 			=3D>	'AUTH_CAPTURE',
 		mauthonly				=3D>	'AUTH_ONLY',
 		return					=3D>	'CREDIT',
-		reverse           		=3D>	'PRIOR_AUTH_CAPTURE',
+		settle_prior        	=3D>	'PRIOR_AUTH_CAPTURE',
 		sale		 			=3D>	'AUTH_CAPTURE',
 		settle      			=3D>  'CAPTURE_ONLY',
 		void					=3D>	'VOID',
 	);
-=09
+
 	if (defined $type_map{$transtype}) {
         $transtype =3D $type_map{$transtype};
     }
@@ -363,6 +375,7 @@
=20
 	$order_id =3D gen_order_id($opt);
=20
+#::logDebug("auth_code=3D$actual->{auth_code} order_id=3D$opt->{order_id}"=
);
     my %query =3D (
                     x_Test_Request	=3D> $opt->{test} || charge_param('test=
'),
                     x_Card_Num		=3D> $actual->{mv_credit_card_number},
@@ -470,6 +483,7 @@
     		$result{MErrMsg} =3D errmsg($msg, $result{x_response_reason_text});
     	}
     }
+#::logDebug(qq{authorizenet result=3D} . uneval(\%result));=20=20=20=20=09
=20
     return (%result);
 }



1.2       +81 -19    interchange/lib/Vend/Payment/TestPayment.pm


rev 1.2, prev_rev 1.1
Index: TestPayment.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: /var/cvs/interchange/lib/Vend/Payment/TestPayment.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestPayment.pm	8 Sep 2002 15:40:07 -0000	1.1
+++ TestPayment.pm	17 Oct 2002 04:46:24 -0000	1.2
@@ -1,6 +1,6 @@
 # Vend::Payment::TestPayment - Interchange payment test module
 #
-# $Id: TestPayment.pm,v 1.1 2002/09/08 15:40:07 kwalsh Exp $
+# $Id: TestPayment.pm,v 1.2 2002/10/17 04:46:24 mheins Exp $
 #
 # Copyright (C) 2002 Cursor Software Limited.
 # All Rights Reserved.
@@ -27,7 +27,7 @@
=20
 =3Dhead1 Interchange payment test module
=20
-Vend::Payment::TestPayment $Revision: 1.1 $
+Vend::Payment::TestPayment $Revision: 1.2 $
=20
 =3Dhead1 SYNOPSIS
=20
@@ -190,7 +190,7 @@
 	unless $Vend::Quiet;
 }
=20
-$VERSION =3D substr(q$Revision: 1.1 $,10);
+$VERSION =3D substr(q$Revision: 1.2 $,10);
=20
 package Vend::Payment;
=20
@@ -199,17 +199,17 @@
=20
     my $opt;
     if (ref $user){
-	$opt =3D $user;
-	$user =3D $opt->{id} || undef;
-	$secret =3D $opt->{secret} || undef;
+		$opt =3D $user;
+		$user =3D $opt->{id} || undef;
+		$secret =3D $opt->{secret} || undef;
     }
     else{
-	$opt =3D {};
+		$opt =3D {};
     }
=20=09
     my $actual;
     if ($opt->{actual}){
-	$actual =3D $opt->{actual};
+		$actual =3D $opt->{actual};
     }
     else{
 	my (%actual) =3D map_actual();
@@ -228,6 +228,19 @@
=20
     my $precision =3D $opt->{precision} || 2;
=20
+	my @override =3D qw/
+						order_id
+						auth_code
+						mv_credit_card_exp_month
+						mv_credit_card_exp_year
+						mv_credit_card_number
+					/;
+	for(@override) {
+		next unless defined $opt->{$_};
+		$actual->{$_} =3D $opt->{$_};
+	}
+
+
     $actual->{mv_credit_card_exp_month} =3D~ s/\D//g;
     $actual->{mv_credit_card_exp_year} =3D~ s/\D//g;
     $actual->{mv_credit_card_number} =3D~ s/\D//g;
@@ -248,25 +261,74 @@
     $order_id =3D gen_order_id($opt);
=20
     my %result;
+=09
+	my $msg =3D $opt->{message_declined};
=20
-    if ($actual->{mv_credit_card_number} eq '4111111111111111'){
+	if($opt->{transaction} =3D~ /^settle/ ) {
+		$msg ||=3D 'Settlement failure: %s';
+		if(! $actual->{order_id}) {
+			$result{'pop.status'} =3D 'failure';
+			$result{'pop.error-message'} =3D errmsg($msg,'Need order-id');
+		}
+		elsif(! $actual->{auth_code}) {
+			$result{'pop.status'} =3D 'failure';
+			$result{'pop.error-message'} =3D errmsg($msg,'Need auth-code');
+		}
+		else {
+			$result{'pop.status'} =3D 'success';
+			$result{'pop.order-id'} =3D $opt->{order_id};
+			$result{'pop.auth-code'} =3D $opt->{auth_code};
+		}
+	}
+	elsif($opt->{transaction} eq 'void' ) {
+		$msg ||=3D 'Void failure: %s';
+		if(! $opt->{order_id}) {
+			$result{'pop.status'} =3D 'failure';
+			$result{'pop.error-message'} =3D errmsg($msg,'Need order-id');
+		}
+		elsif($opt->{auth_code}) {
+			$result{'pop.status'} =3D 'failure';
+			$result{'pop.error-message'} =3D errmsg($msg,'Need auth-code');
+		}
+		else {
+			$result{'pop.status'} =3D 'success';
+			$result{'pop.order-id'} =3D $opt->{order_id};
+			$result{'pop.auth-code'} =3D $opt->{auth_code};
+		}
+	}
+	elsif($opt->{transaction} eq 'return' ) {
+		$msg ||=3D 'Return/credit failure: %s';
+		if(! $opt->{order_id}) {
+			$result{'pop.status'} =3D 'failure';
+			$result{'pop.error-message'} =3D errmsg($msg,'Need order-id');
+		}
+		elsif($opt->{auth_code}) {
+			$result{'pop.status'} =3D 'failure';
+			$result{'pop.error-message'} =3D errmsg($msg,'Need auth-code');
+		}
+		else {
+			$result{'pop.status'} =3D 'success';
+			$result{'pop.order-id'} =3D $opt->{order_id};
+			$result{'pop.auth-code'} =3D $opt->{auth_code};
+		}
+	}
+    elsif ($actual->{mv_credit_card_number} eq '4111111111111111'){
     	$result{'pop.status'} =3D 'success';
-	$result{'pop.order-id'} =3D $opt->{order_id};
-	$result{'pop.auth-code'} =3D 'test_auth_code';
+		$result{'pop.order-id'} =3D $opt->{order_id};
+		$result{'pop.auth-code'} =3D 'test_auth_code';
     }
     elsif ($actual->{mv_credit_card_number} eq '4111111111111129'){
+		$msg ||=3D 'TestPayment error: %s.  Please call in your order or try aga=
in.';
     	$result{'pop.status'} =3D 'failure';
-	my $msg =3D $opt->{message_declined} ||
-	    'TestPayment error: %s.  Please call in your order or try again.';
-	$result{'pop.error-message'} =3D errmsg($msg,'Payment declined by the car=
d issuer');
+		$result{'pop.error-message'} =3D
+			errmsg($msg,'Payment declined by the card issuer');
     }
     else{
     	$result{'pop.status'} =3D 'failure';
-	delete $result{'pop.order-id'};
-	delete $result{'order-id'};
-	my $msg =3D $opt->{message_declined} ||
-	    'TestPayment error: %s.  Please call in your order or try again.';
-	$result{'pop.error-message'} =3D errmsg($msg,'Invalid test card number');
+		delete $result{'pop.order-id'};
+		delete $result{'order-id'};
+		$msg ||=3D 'TestPayment error: %s.  Please call in your order or try aga=
in.';
+		$result{'pop.error-message'} =3D errmsg($msg,'Invalid test card number');
     }
=20
     $result{MStatus} =3D $result{'pop.status'};



1.14      +23 -16    interchange/lib/Vend/Table/Editor.pm


rev 1.14, prev_rev 1.13
Index: Editor.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: /var/cvs/interchange/lib/Vend/Table/Editor.pm,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Editor.pm	9 Oct 2002 14:23:32 -0000	1.13
+++ Editor.pm	17 Oct 2002 04:46:24 -0000	1.14
@@ -1,6 +1,6 @@
 # Vend::Table::Editor - Swiss-army-knife table editor for Interchange
 #
-# $Id: Editor.pm,v 1.13 2002/10/09 14:23:32 mheins Exp $
+# $Id: Editor.pm,v 1.14 2002/10/17 04:46:24 mheins Exp $
 #
 # Copyright (C) 2002 ICDEVGROUP <interchange@icdevgroup.org>
 # Copyright (C) 2002 Mike Heins <mike@perusion.net>
@@ -26,7 +26,7 @@
 package Vend::Table::Editor;
=20
 use vars qw($VERSION);
-$VERSION =3D substr(q$Revision: 1.13 $, 10);
+$VERSION =3D substr(q$Revision: 1.14 $, 10);
=20
 use Vend::Util;
 use Vend::Interpolate;
@@ -1089,6 +1089,7 @@
 		link_sort
 		link_key
 		link_view
+		link_no_blank
 		link_template
 		link_extra
 		mv_blob_field
@@ -2374,6 +2375,7 @@
 		my @lview;
 		my @llab;
 		my @ltpl;
+		my @lnb;
 		my @lbefore;
 		my @lsort;
 		my $tcount =3D 1;
@@ -2384,6 +2386,7 @@
 			@lkey    =3D @{$opt->{link_key}};
 			@llab    =3D @{$opt->{link_label}};
 			@ltpl    =3D @{$opt->{link_template}};
+			@lnb     =3D @{$opt->{link_no_blank}};
 			@lbefore =3D @{$opt->{link_before}};
 			@lsort   =3D @{$opt->{link_sort}};
 		}
@@ -2394,6 +2397,7 @@
 			@lkey    =3D $opt->{link_key};
 			@llab    =3D $opt->{link_label};
 			@ltpl    =3D $opt->{link_template};
+			@lnb     =3D $opt->{link_no_blank};
 			@lbefore =3D $opt->{link_before};
 			@lsort   =3D $opt->{link_sort};
 		}
@@ -2403,6 +2407,7 @@
 			my $lk =3D shift @lkey;
 			my $ll =3D shift @llab;
 			my $lb =3D shift @lbefore;
+			my $lnb =3D shift @lnb;
 			my $ls =3D shift @lsort;
=20
 			my $rcount =3D 0;
@@ -2464,20 +2469,22 @@
 				push @lout, $Tag->row_edit(\%o);
 				push @lout, "</tr>";
 			}
-			my %o =3D (
-				table =3D> $lt,
-				blank =3D> 1,
-				extra =3D> $opt->{link_extra},
-				pointer =3D> 999999,
-				stacker =3D> $tcount,
-				columns =3D> $lf,
-				extra =3D> $opt->{link_extra},
-			);
-			push @lout, qq{<tr><td$lextra>};
-			push @lout, qq{<input size=3D8 name=3D"999999_${l_pkey}__$tcount" value=
=3D"">};
-			push @lout, '</td>';
-			push @lout, $Tag->row_edit(\%o);
-			push @lout, '</tr>';
+			unless($lnb) {
+				my %o =3D (
+					table =3D> $lt,
+					blank =3D> 1,
+					extra =3D> $opt->{link_extra},
+					pointer =3D> 999999,
+					stacker =3D> $tcount,
+					columns =3D> $lf,
+					extra =3D> $opt->{link_extra},
+				);
+				push @lout, qq{<tr><td$lextra>};
+				push @lout, qq{<input size=3D8 name=3D"999999_${l_pkey}__$tcount" valu=
e=3D"">};
+				push @lout, '</td>';
+				push @lout, $Tag->row_edit(\%o);
+				push @lout, '</tr>';
+			}
 			push @lout, "</table>";
 			$whash->{LABEL}  =3D $ll;
 			$whash->{WIDGET} =3D join "", @lout;



2.17      +8 -4      interchange/scripts/makecat.PL


rev 2.17, prev_rev 2.16
Index: makecat.PL
=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: /var/cvs/interchange/scripts/makecat.PL,v
retrieving revision 2.16
retrieving revision 2.17
diff -u -r2.16 -r2.17
--- makecat.PL	12 Aug 2002 00:34:58 -0000	2.16
+++ makecat.PL	17 Oct 2002 04:46:24 -0000	2.17
@@ -3,7 +3,7 @@
 #
 # Interchange catalog configurator
 #
-# $Id: makecat.PL,v 2.16 2002/08/12 00:34:58 mheins Exp $
+# $Id: makecat.PL,v 2.17 2002/10/17 04:46:24 mheins Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -158,6 +158,8 @@
 	    'imageurl'          =3D> \$Conf{imageurl},
 	    'l'                 =3D> \$Logfile,
 	    'linkmode'          =3D> \$Conf{linkmode},
+	    'linkhost'          =3D> \$Conf{linkhost},
+	    'linkport'          =3D> \$Conf{linkport},
 	    'linkprogram'       =3D> \$Conf{linkprogram},
 	    'mailorderto'       =3D> \$Conf{mailorderto},
 	    'interchangegroup'  =3D> \$Conf{interchangegroup},
@@ -208,6 +210,8 @@
 	    imageurl=3Ds
 	    l=3Ds
 	    linkmode=3Ds
+	    linkhost=3Ds
+	    linkport=3Ds
 	    linkprogram=3Ds
 	    mailorderto=3Ds
 	    interchangegroup|minivendgroup|group=3Ds
@@ -1350,7 +1354,7 @@
=20
 		my %seen;
 		sethistory(grep !$seen{$_}++, @ports);
-		$default =3D $defport || 7786;
+		$default =3D $defport || $Conf{linkport} || 7786;
 		$lp =3D $lh =3D '';
 		while(! $lp) {
 			$lp =3D prompt("TCP socket to use? ", $default);
@@ -1362,7 +1366,7 @@
 		}
=20
 		sethistory(grep !$seen{$_}++, @hosts);
-		$default =3D $defhost || 'localhost';
+		$default =3D $defhost || $Conf{linkhost} || 'localhost';
 		while(! $lh) {
 			$lh =3D prompt("Link host? ", $default);
 			redo INETASK if $lh eq '@';
@@ -2273,7 +2277,7 @@
=20
 =3Dhead1 VERSION
=20
-# $Id: makecat.PL,v 2.16 2002/08/12 00:34:58 mheins Exp $
+# $Id: makecat.PL,v 2.17 2002/10/17 04:46:24 mheins Exp $
=20
 =3Dhead1 INTRODUCTION
=20