From feef0e4c2b4bd6b776b25f5a1bd6fdbf63fd08b2 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 17 Aug 2005 22:23:46 +0000 Subject: infrastructure for easier schema changes, and: add payment_gateway, payment_gateway_option and agent_payment_gateway tables, add paystart_month, paystart_year, payissue and payip fields to cust_main, add preliminary gateway and gateway override editing to web UI, use payment gateway override when processing payments (card type, not taxclass yet) --- bin/generate-table-module | 87 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100755 bin/generate-table-module (limited to 'bin/generate-table-module') diff --git a/bin/generate-table-module b/bin/generate-table-module new file mode 100755 index 000000000..0baf23d09 --- /dev/null +++ b/bin/generate-table-module @@ -0,0 +1,87 @@ +#!/usr/bin/perl + +use FS::Schema qw( dbdef_dist ); + +my $table = shift; + +### +# add a new FS/FS/table.pm +### + +my %ut = ( #just guesses + 'int' => 'number', + 'number' => 'float', + 'varchar' => 'text', + 'text' => 'text', +); + +my $dbdef_table = dbdef_dist->table($table) + or die "define table in Schema.pm first"; +my $primary_key = $dbdef_table->primary_key; + +open(SRC,"FS/FS/$table.pm") or die $!; + +while (my $line = ) { + + $line =~ s/table_name/$table/g; + + if ( $line =~ /^=item\s+field\s+-\s+description\s*$/ ) { + + foreach my $column ( $dbdef_table->columns ) { + print DEST "=item $column - "; + print DEST "primary key" + if $column eq $primary_key; + print DEST "\n\n"; + } + next; + + } elsif ( $line=~ /^(\s*)\$self->ut_numbern\('primary_key'\)\s*/ ) { + + print DEST "$1\$self->ut_numbern('$primary_key')\n" + if $primary_key; + next; + + } elsif ( + $line =~ /^(\s*)\|\|\s+\$self->ut_number\('validate_other_fields'\)\s*/ + ) { + + foreach my $column ( grep { $_ ne $primary_key } $dbdef_table->columns ) { + my $ut = $ut{$dbdef_table->column($column)->type}; + $ut .= 'n' if $dbdef_table->column($column)->null; + print DEST "$1|| \$self->ut_$ut('$column')\n"; + } + next; + + } + + print DEST $line; +} + +close SRC; +close DEST; + +### +# add FS/t/table.t +### + +open(TEST,">FS/t/$table.t") or die $!; +print TEST <>FS/MANIFEST") or die $!; +print MANIFEST "FS/$table.pm\n", + "t/$table.t\n"; +close MANIFEST; + -- cgit v1.2.1 From 369cc8545df88dd4e717ccd8f6aa8719bc4308b3 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Aug 2005 08:46:58 +0000 Subject: add banned credit card / ACH table, re-do cancel popup to have a checkbox to ban payinfo --- bin/generate-table-module | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin/generate-table-module') diff --git a/bin/generate-table-module b/bin/generate-table-module index 0baf23d09..14ae653df 100755 --- a/bin/generate-table-module +++ b/bin/generate-table-module @@ -80,6 +80,8 @@ close TEST; # add them to MANIFEST ### +system('cvs edit FS/MANIFEST'); + open(MANIFEST,">>FS/MANIFEST") or die $!; print MANIFEST "FS/$table.pm\n", "t/$table.t\n"; -- cgit v1.2.1 From cbcbbfe12075ea9cea726735e3ba77e68e8a0a76 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 14 Sep 2005 11:01:02 +0000 Subject: fix autogenerated simple test --- bin/generate-table-module | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin/generate-table-module') diff --git a/bin/generate-table-module b/bin/generate-table-module index 14ae653df..fcc3f1d1f 100755 --- a/bin/generate-table-module +++ b/bin/generate-table-module @@ -68,11 +68,11 @@ close DEST; open(TEST,">FS/t/$table.t") or die $!; print TEST <