X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_main.cgi;h=a76cd36d167eea2d4a6a9c93bfb76e55787ce91c;hb=5f30c9efb1090b595cac3761051dd3f18318a575;hp=3a5df086fa8481d3489a27f70366cbba484adcfa;hpb=3c05b1a31ac350fd2756d51c2f798e5bb9801f04;p=freeside.git
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 3a5df086f..a76cd36d1 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -336,48 +336,94 @@ 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 BILL COMP )) {
+ foreach my $field (qw( payinfo payname )) {
+ print qq! ';
+ }
+
+ #false laziness w/expselect
+ my( $m, $y ) = (0, 0);
+ if ( scalar(@_) ) {
+ my $date = shift || '01-2000';
+ 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";
+ }
+ }
+
+ print qq! 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"),
+} 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 !,
+ 'BILL' => qq!Billing P.O. ${r}Exp !. expselect("BILL", "12-2037"). qq! 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 %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),
);
-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 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"),