X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_main.cgi;h=9e62b00ef89e90bce2ac99d5accdc47c76a88b5a;hb=6f8a6c416174bcf8095c959085d14ba820425aad;hp=831b2ab9764230110e11e35db44da1eb5dbc90d0;hpb=0ccfb017d1075a2def6e151fb78b1a162eb6c0e8;p=freeside.git
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 831b2ab97..9e62b00ef 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -231,7 +231,7 @@ END
print ' Service address ',
'( ship_last ) {
+ unless ( $cust_main->ship_last && $cgi->param('same') ne 'Y' ) {
print ' CHECKED';
foreach (
qw( last first company address1 address2 city county state zip country
@@ -336,48 +336,96 @@ sub expselect {
$return;
}
-print " Billing information", &itable("#cccccc"),
- qq!
tax eq "Y";
-print qq!>Tax Exempt !;
-print qq! invoicing_list;
-print qq! CHECKED!
- if ( ! @invoicing_list && ! $conf->exists('disablepostalinvoicedefault') )
- || grep { $_ eq 'POST' } @invoicing_list;
-print qq!>Postal mail invoice !;
-my $invoicing_list = join(', ', grep { $_ ne 'POST' } @invoicing_list );
-print qq!Email invoice !;
-
-print "Billing type ",
- "",
- &table("#cccccc"), "";
-
-my($payinfo, $payname)=(
- $cust_main->payinfo,
- $cust_main->payname,
-);
+my $payby_default = $conf->config('payby-default');
+
+if ( $payby_default eq 'HIDE' ) {
+
+ $cust_main->payby('BILL') unless $cust_main->payby;
+
+ foreach my $field (qw( tax payby )) {
+ print qq! ';
+ }
+
+ print qq! ';
+
+ foreach my $payby (qw( CARD CHEK BILL COMP )) {
+ foreach my $field (qw( payinfo payname )) {
+ print qq! ';
+ }
+
+ #false laziness w/expselect
+ my( $m, $y );
+ my $date = $cust_main->paydate || '12-2037';
+ if ( $date =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
+ ( $m, $y ) = ( $2, $1 );
+ } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
+ ( $m, $y ) = ( $1, $3 );
+ } else {
+ die "unrecognized expiration date format: $date";
+ }
-my %payby = (
- 'CARD' => qq!Credit card ${r} ${r}Exp !. expselect("CARD"). qq! ${r}Name on card !,
- 'BILL' => qq!Billing P.O. ${r}Exp !. expselect("BILL", "12-2037"). qq! Attention !,
- 'COMP' => qq!Complimentary ${r}Approved by ${r}Exp !. expselect("COMP"),
+ print qq! !.
+ qq! !;
+
+ }
+
+} else {
+
+ print " Billing information", &itable("#cccccc"),
+ qq! tax eq "Y";
+ print qq!>Tax Exempt!.
+ qq! invoicing_list;
+ print qq! CHECKED!
+ if ( ! @invoicing_list && ! $conf->exists('disablepostalinvoicedefault') )
+ || grep { $_ eq 'POST' } @invoicing_list;
+ print qq!>Postal mail invoice !;
+ my $invoicing_list = join(', ', grep { $_ ne 'POST' } @invoicing_list );
+ print qq!Email invoice !;
+
+ print "Billing type ",
+ "",
+ &table("#cccccc"), "";
+
+ my($payinfo, $payname)=(
+ $cust_main->payinfo,
+ $cust_main->payname,
+ );
+
+ my %payby = (
+ 'CARD' => qq!Credit card ${r} ${r}Exp !. expselect("CARD"). qq! ${r}Name on card !,
+ 'CHEK' => qq!Electronic check ${r}Account number ${r}ABA/Routing code ${r}Bank name !,
+ 'BILL' => qq!Billing P.O. Attention !,
+ 'COMP' => qq!Complimentary ${r}Approved by ${r}Exp !. expselect("COMP"),
);
-my %paybychecked = (
- 'CARD' => qq!Credit card ${r} ${r}Exp !. expselect("CARD", $cust_main->paydate). qq! ${r}Name on card !,
- 'BILL' => qq!Billing P.O. ${r}Exp !. expselect("BILL", $cust_main->paydate). qq! Attention !,
- 'COMP' => qq!Complimentary ${r}Approved by ${r}Exp !. expselect("COMP", $cust_main->paydate),
+
+ my( $account, $aba ) = split('@', $payinfo);
+
+ my %paybychecked = (
+ 'CARD' => qq!Credit card ${r} ${r}Exp !. expselect("CARD", $cust_main->paydate). qq! ${r}Name on card !,
+ 'CHEK' => qq!Electronic check ${r}Account number ${r}ABA/Routing code ${r}Bank name !,
+ 'BILL' => qq!Billing P.O. Attention !,
+ 'COMP' => qq!Complimentary ${r}Approved by ${r}Exp !. expselect("COMP", $cust_main->paydate),
);
-for (qw(CARD BILL COMP)) {
- print qq! payby eq "$_") {
- print qq! CHECKED> $paybychecked{$_} !;
- } else {
- print qq!> $payby{$_}!;
+
+ $cust_main->payby($payby_default) unless $cust_main->payby;
+ for (qw(CARD CHEK BILL COMP)) {
+ print qq! payby eq "$_") {
+ print qq! CHECKED> $paybychecked{$_} !;
+ } else {
+ print qq!> $payby{$_}!;
+ }
}
-}
-print " $r required fields for each billing type";
+ print "$r required fields for each billing type";
+
+}
if ( defined $cust_main->dbdef_table->column('comments') ) {
print " Comments", &itable("#cccccc"),