summaryrefslogtreecommitdiff
path: root/httemplate/view
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/view')
-rwxr-xr-xhttemplate/view/cust_main.cgi17
-rw-r--r--httemplate/view/cust_main/billing.html194
-rw-r--r--httemplate/view/cust_main/cust_payby.html133
-rwxr-xr-xhttemplate/view/cust_main/packages.html4
4 files changed, 164 insertions, 184 deletions
diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi
index d18c7f70f..081b96bed 100755
--- a/httemplate/view/cust_main.cgi
+++ b/httemplate/view/cust_main.cgi
@@ -169,14 +169,12 @@ function areyousure(href, message) {
<TABLE BORDER=0>
<TR>
<TD VALIGN="top">
- <& cust_main/contacts.html, $cust_main &>
+ <& cust_main/misc.html, $cust_main &>
+ <BR><& cust_main/contacts.html, $cust_main &>
</TD>
<TD VALIGN="top" STYLE="padding-left: 54px">
- <& cust_main/misc.html, $cust_main &>
-% if ( $conf->config('payby-default') ne 'HIDE' ) {
- <BR><& cust_main/billing.html, $cust_main &>
-% }
-
+ <& cust_main/billing.html, $cust_main &>
+ <BR><& cust_main/cust_payby.html, $cust_main &>
</TD>
</TR>
<TR>
@@ -281,9 +279,7 @@ function areyousure(href, message) {
% if ( $view eq 'payment_history' || $view eq 'jumbo' ) {
-% if ( $conf->config('payby-default') ne 'HIDE' ) {
- <& cust_main/payment_history.html, $cust_main &>
-% }
+<& cust_main/payment_history.html, $cust_main &>
% }
@@ -352,8 +348,7 @@ if ( $conf->config('ticket_system') ) {
}
$views{emt('Quotations')} = 'quotations';
$views{emt('Packages')} = 'packages';
-$views{emt('Payment History')} = 'payment_history'
- unless $conf->config('payby-default' eq 'HIDE');
+$views{emt('Payment History')} = 'payment_history';
$views{emt('Change History')} = 'change_history'
if $curuser->access_right('View customer history');
$views{$conf->config('cust_main-custom_title') || emt('Custom')} = 'custom'
diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html
index 64ec591a2..f1125c008 100644
--- a/httemplate/view/cust_main/billing.html
+++ b/httemplate/view/cust_main/billing.html
@@ -32,165 +32,25 @@
% }
% if ( $conf->exists('cust_main-select-billday')
-% && ($cust_main->payby eq 'CARD' || $cust_main->payby eq 'CHEK') ) {
-<TR>
- <TD ALIGN="right"><% mt('Billing day of month') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->billday %>
- </TD>
-</TR>
-% }
-
-<TR>
- <TD ALIGN="right"><% mt('Billing type') |h %></TD>
- <TD BGCOLOR="#ffffff">
-% if ( $cust_main->payby eq 'CARD' || $cust_main->payby eq 'DCRD' ) {
-
-% my $autodemand = $cust_main->payby eq 'CARD' ? 'automatic' : 'on-demand';
- <% mt("Credit card ([_1])",$autodemand) |h %>
- </TD>
-</TR>
-<TR>
- <TD ALIGN="right"><% mt('Card number') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->paymask %></TD>
-</TR>
-%
-%#false laziness w/elements/select-month_year.html & edit/cust_main/billing.html
-%my( $mon, $year );
-%my $date = $cust_main->paydate || '12-2037';
-%if ( $date =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
-% ( $mon, $year ) = ( $2, $1 );
-%} elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
-% ( $mon, $year ) = ( $1, $3 );
-%} else {
-% warn "unrecognized expiration date format: $date";
-% ( $mon, $year ) = ( '', '' );
-%}
-%
-
-<TR>
- <TD ALIGN="right"><% mt('Expiration') |h %></TD>
- <TD BGCOLOR="#ffffff"><% "$mon/$year" %></TD>
-</TR>
-% if ( $cust_main->paystart_month ) {
-
- <TR>
- <TD ALIGN="right"><% mt('Start date') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->paystart_month. '/'. $cust_main->paystart_year %>
- </TR>
-% } elsif ( $cust_main->payissue ) {
-
- <TR>
- <TD ALIGN="right"><% mt('Issue #') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->payissue %>
- </TR>
-% }
-
-
-<TR>
- <TD ALIGN="right"><% mt('Name on card') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->payname %></TD>
-</TR>
-% } elsif ( $cust_main->payby eq 'CHEK' || $cust_main->payby eq 'DCHK') {
-% my( $account, $aba ) = split('@', $cust_main->paymask );
-% my $branch = '';
-% ($branch,$aba) = split('\.',$aba) if $conf->config('echeck-country') eq 'CA';
-
-
-% my $autodemand = $cust_main->payby eq 'CHEK' ? 'automatic' : 'on-demand';
- <% mt("Electronic check ([_1])",$autodemand) |h %>
- </TD>
-</TR>
-
-% #false laziness w/edit/cust_main/billing.html and misc/payment.cgi
-% my $routing_label = $conf->config('echeck-country') eq 'US'
-% ? 'ABA/Routing number'
-% : 'Routing number';
-
-<TR>
- <TD ALIGN="right"><% mt($routing_label) |h %></TD>
- <TD BGCOLOR="#ffffff"><% $aba %></TD>
-</TR>
-
-% if ( $conf->config('echeck-country') eq 'CA' ) {
-<TR>
- <TD ALIGN="right"><% mt('Branch number') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $branch %></TD>
-<TR>
-% }
-
- <TD ALIGN="right"><% mt('Account number') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $account %></TD>
-</TR>
-<TR>
- <TD ALIGN="right"><% mt('Account type') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->paytype %></TD>
-</TR>
-<TR>
- <TD ALIGN="right"><% mt('Bank name') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->payname %></TD>
-</TR>
-% if ( $conf->exists('show_bankstate') ) {
-<TR>
- <TD ALIGN="right"><% $paystate_label %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->paystate || '&nbsp;&nbsp;&nbsp;' %></TD>
-</TR>
+% && qsearch({ 'table' => 'cust_payby',
+% 'hashref' => { 'custnum' => $cust_main->custnum, },
+% 'extra_sql' => "AND payby IN ( 'CARD', 'CHEK' )",
+% 'order_by' => 'LIMIT 1',
+% })
+% )
+% {
+ <TR>
+ <TD ALIGN="right"><% mt('Payment day of month') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_main->billday %>
+ </TD>
+ </TR>
% }
-% } elsif ( $cust_main->payby eq 'LECB' ) {
-% $cust_main->payinfo =~ /^(\d{3})(\d{3})(\d{4})$/;
-% my $payinfo = "$1-$2-$3";
-
- <% mt('Phone bill billing') |h %>
- </TD>
-</TR>
-<TR>
- <TD ALIGN="right"><% mt('Phone number') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $payinfo %></TD>
-</TR>
-% } elsif ( $cust_main->payby eq 'BILL' ) {
-
- <% mt('Billing') |h %>
- </TD>
-</TR>
-% if ( $cust_main->payinfo ) {
-
-<TR>
- <TD ALIGN="right"><% mt('P.O.') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->payinfo %></TD>
-</TR>
-% }
-
-<TR>
- <TD ALIGN="right"><% mt('Attention') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->payname |h %></TD>
-</TR>
-% } elsif ( $cust_main->payby eq 'COMP' ) {
-
- <% mt('Complimentary') |h %>
- </TD>
-</TR>
-<TR>
- <TD ALIGN="right"><% mt('Authorized by') |h %></TD>
- <TD BGCOLOR="#ffffff"><% $cust_main->payinfo %></TD>
-</TR>
-%
-%#false laziness w/above etc.
-%my( $mon, $year );
-%my $date = $cust_main->paydate || '12-2037';
-%if ( $date =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
-% ( $mon, $year ) = ( $2, $1 );
-%} elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
-% ( $mon, $year ) = ( $1, $3 );
-%} else {
-% warn "unrecognized expiration date format: $date";
-% ( $mon, $year ) = ( '', '' );
-%}
-%
-
-<TR>
- <TD ALIGN="right"><% mt('Expiration') |h %></TD>
- <TD BGCOLOR="#ffffff"><% "$mon/$year" %></TD>
-</TR>
+% if ( $cust_main->po_number ) {
+ <TR>
+ <TD ALIGN="right"><% mt('Purchase Order #') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_main->po_number %></TD>
+ </TR>
% }
% my $yes = emt('yes');
@@ -230,13 +90,13 @@
<TR>
<TD ALIGN="right"><% mt('Postal mail invoices') |h %></TD>
<TD BGCOLOR="#ffffff">
- <% ( grep { $_ eq 'POST' } @invoicing_list ) ? $yes : $no %>
- </TD>
-</TR>
-<TR>
- <TD ALIGN="right"><% mt('Fax invoices') |h %></TD>
- <TD BGCOLOR="#ffffff">
- <% ( grep { $_ eq 'FAX' } @invoicing_list ) ? $yes : $no %>
+ <% ( grep { $_ eq 'POST' } @invoicing_list )
+ ? $yes. ( $cust_main->invoice_attn
+ ? ', attn: '. $cust_main->invoice_attn
+ : ''
+ )
+ : $no
+ %>
</TD>
</TR>
<TR>
@@ -336,12 +196,6 @@
</TABLE>
-<%once>
-
-my $paystate_label = FS::Msgcat::_gettext('paystate');
-$paystate_label = 'Bank state' if $paystate_label =~/^paystate$/;
-
-</%once>
<%init>
my( $cust_main ) = @_;
diff --git a/httemplate/view/cust_main/cust_payby.html b/httemplate/view/cust_main/cust_payby.html
new file mode 100644
index 000000000..3ebb0551d
--- /dev/null
+++ b/httemplate/view/cust_main/cust_payby.html
@@ -0,0 +1,133 @@
+% if ( @cust_payby ) {
+
+ <FONT CLASS="fsinnerbox-title"><% mt('Payment information') |h %></FONT>
+ <TABLE CLASS="fsinnerbox">
+
+% my $num = 0;
+% foreach my $cust_payby ( @cust_payby ) {
+
+% #one line per piece of info? maybe, but just getting something working
+% # for now
+
+% if ( $cust_payby->payby eq 'CARD' || $cust_payby->payby eq 'DCRD' ) {
+
+% my $auto = $cust_payby->payby eq 'CARD' ? 'automatic' : 'on-demand';
+ <TR>
+ <TD COLSPAN=2 ALIGN="center" BGCOLOR="#ffffff">
+ <% mt("Credit card ([_1])",$auto) |h %>
+ </TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right"><% mt('Card number') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->paymask %></TD>
+ </TR>
+
+% my( $mon, $year ) = $cust_payby->paydate_mon_year;
+ <TR>
+ <TD ALIGN="right"><% mt('Expiration') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% "$mon/$year" %></TD>
+ </TR>
+
+% if ( $cust_payby->paystart_month ) {
+ <TR>
+ <TD ALIGN="right"><% mt('Start date') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->paystart_month. '/'. $cust_payby->paystart_year %>
+ </TR>
+% } elsif ( $cust_payby->payissue ) {
+ <TR>
+ <TD ALIGN="right"><% mt('Issue #') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->payissue %>
+ </TR>
+% }
+
+ <TR>
+ <TD ALIGN="right"><% mt('Name on card') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->payname %></TD>
+ </TR>
+
+% } elsif ( $cust_payby->payby eq 'CHEK' || $cust_payby->payby eq 'DCHK') {
+
+% my $auto = $cust_payby->payby eq 'CHEK' ? 'automatic' : 'on-demand';
+%
+% my( $account, $aba ) = split('@', $cust_payby->paymask );
+% my $branch = '';
+% ($branch,$aba) = split('\.',$aba)
+% if $conf->config('echeck-country') eq 'CA';
+
+ <TR>
+ <TD COLSPAN=2 ALIGN="center" BGCOLOR="#ffffff">
+ <% mt("Electronic check ([_1])",$auto) |h %>
+ </TD>
+ </TR>
+
+% #false laziness w/edit/cust_main/billing.html and misc/payment.cgi
+% my $routing_label = $conf->config('echeck-country') eq 'US'
+% ? 'ABA/Routing number'
+% : 'Routing number';
+ <TR>
+ <TD ALIGN="right"><% mt($routing_label) |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $aba %></TD>
+ </TR>
+
+% if ( $conf->config('echeck-country') eq 'CA' ) {
+ <TR>
+ <TD ALIGN="right"><% mt('Branch number') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $branch %></TD>
+ </TR>
+% }
+
+ <TR>
+ <TD ALIGN="right"><% mt('Account number') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $account %></TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right"><% mt('Account type') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->paytype %></TD>
+ </TR>
+ <TR>
+ <TD ALIGN="right"><% mt('Bank name') |h %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->payname %></TD>
+ </TR>
+
+% if ( $conf->exists('show_bankstate') ) {
+ <TR>
+ <TD ALIGN="right"><% $paystate_label %></TD>
+ <TD BGCOLOR="#ffffff"><% $cust_payby->paystate || '&nbsp;&nbsp;&nbsp;' %></TD>
+ </TR>
+% }
+
+% } else {
+ <TR>
+ <TD COLSPAN="2"><FONT COLOR="#FF0000">
+ Unknown cust_pay.payby <% $cust_payby->payby %>
+ </FONT></TD>
+ </TR>
+% }
+
+% unless ( $num++ == $#cust_payby ) {
+ <TR>
+ <TD COLSPAN="2"></TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="2" STYLE="border-top: 1px solid black; padding:2px"></TD>
+ </TR>
+% }
+
+% }
+
+ </TABLE>
+
+% }
+<%once>
+
+my $paystate_label = FS::Msgcat::_gettext('paystate');
+$paystate_label = 'Bank state' if $paystate_label =~/^paystate$/;
+
+</%once>
+<%init>
+
+my( $cust_main ) = @_;
+my $conf = new FS::Conf;
+my @cust_payby = $cust_main->cust_payby;
+
+</%init>
diff --git a/httemplate/view/cust_main/packages.html b/httemplate/view/cust_main/packages.html
index 9a2332ba8..90985110c 100755
--- a/httemplate/view/cust_main/packages.html
+++ b/httemplate/view/cust_main/packages.html
@@ -92,9 +92,7 @@ if ( el ) el.scrollIntoView(true);
<& /elements/order_pkg_link.html, 'cust_main'=>$cust_main &>
% }
-% if ( $curuser->access_right('One-time charge')
-% && $conf->config('payby-default') ne 'HIDE'
-% ) {
+% if ( $curuser->access_right('One-time charge') ) {
<% $s++ ? ' | ' : '' %>
<& /elements/one_time_charge_link.html, 'custnum'=>$cust_main->custnum &>
% }