X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fbilling.html;h=aea90e8b32ee8df4936e85a07752b7e76d878228;hb=efc68f41987d007de5e792b88df1c63bf3dedf4c;hp=561fff992f8dfc52cda6d288215069d2dbb75c0f;hpb=18c025613fa052cf4ba8d484f1296cc2a1719a24;p=freeside.git diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html index 561fff992..aea90e8b3 100644 --- a/httemplate/view/cust_main/billing.html +++ b/httemplate/view/cust_main/billing.html @@ -1,125 +1,220 @@ -<% - my( $cust_main ) = @_; - my @invoicing_list = $cust_main->invoicing_list; -%> - Billing information -(Bill now) -<%= ntable("#cccccc") %><%= ntable("#cccccc",2) %> - - Tax exempt - <%= $cust_main->tax ? 'yes' : 'no' %> - - - Postal invoices - - <%= ( grep { $_ eq 'POST' } @invoicing_list ) ? 'yes' : 'no' %> - - +%# If we can't see the unencrypted card, then bill now is an exercise in +%# frustration (without some sort of job queue magic to send it to a secure +%# machine, anyway) +%if ( $FS::CurrentUser::CurrentUser->access_right('Bill customer now') +% && ! $cust_main->is_encrypted($cust_main->payinfo) +% ) { + (Bill now) +% } + +<% ntable("#cccccc") %><% ntable("#cccccc",2) %> + +%( my $balance = $cust_main->balance ) +% =~ s/^(\-?)(.*)$/$1<\/FONT>$money_char$2/; + - FAX invoices - - <%= ( grep { $_ eq 'FAX' } @invoicing_list ) ? 'yes' : 'no' %> - - - - Email invoices - - <%= join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) || 'no' %> - + Balance due + <% $balance %> + Billing type +% if ( $cust_main->payby eq 'CARD' || $cust_main->payby eq 'DCRD' ) { -<% if ( $cust_main->payby eq 'CARD' || $cust_main->payby eq 'DCRD' ) { %> - Credit card <%= $cust_main->payby eq 'CARD' ? '(automatic)' : '(on-demand)' %> + Credit card <% $cust_main->payby eq 'CARD' ? '(automatic)' : '(on-demand)' %> Card number - <%= $cust_main->payinfo_masked %> - + <% $cust_main->paymask %> + +% +%#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 ) = ( '', '' ); +%} +% + Expiration - <%= $cust_main->paydate %> + <% "$mon/$year" %> +% if ( $cust_main->paystart_month ) { + + + Start date + <% $cust_main->paystart_month. '/'. $cust_main->paystart_year %> + +% } elsif ( $cust_main->payissue ) { + + + Issue # + <% $cust_main->payissue %> + +% } + + Name on card - <%= $cust_main->payname %> + <% $cust_main->payname %> +% } elsif ( $cust_main->payby eq 'CHEK' || $cust_main->payby eq 'DCHK') { +% my( $account, $aba ) = split('@', $cust_main->paymask ); -<% } elsif ( $cust_main->payby eq 'CHEK' || $cust_main->payby eq 'DCHK') { - my( $account, $aba ) = split('@', $cust_main->payinfo ); -%> - Electronic check <%= $cust_main->payby eq 'CHEK' ? '(automatic)' : '(on-demand)' %> + Electronic check <% $cust_main->payby eq 'CHEK' ? '(automatic)' : '(on-demand)' %> ABA/Routing code - <%= $aba %> + <% $aba %> Account number - <%= $account %> + <% $account %> + + + Account type + <% $cust_main->paytype %> Bank name - <%= $cust_main->payname %> + <% $cust_main->payname %> +% if ( $conf->exists('show_bankstate') ) { + + <% $paystate_label %> + <% $cust_main->paystate || '   ' %> + +% } +% } elsif ( $cust_main->payby eq 'LECB' ) { +% $cust_main->payinfo =~ /^(\d{3})(\d{3})(\d{4})$/; +% my $payinfo = "$1-$2-$3"; +% -<% } elsif ( $cust_main->payby eq 'LECB' ) { - $cust_main->payinfo =~ /^(\d{3})(\d{3})(\d{4})$/; - my $payinfo = "$1-$2-$3"; -%> Phone bill billing Phone number - <%= $payinfo %> + <% $payinfo %> +% } elsif ( $cust_main->payby eq 'BILL' ) { -<% } elsif ( $cust_main->payby eq 'BILL' ) { %> Billing +% if ( $cust_main->payinfo ) { - <% if ( $cust_main->payinfo ) { %> P.O. - <%= $cust_main->payinfo %> + <% $cust_main->payinfo %> - <% } %> +% } + - - Expiration - <%= $cust_main->paydate %> - Attention - <%= $cust_main->payname %> + <% $cust_main->payname %> +% } elsif ( $cust_main->payby eq 'COMP' ) { -<% } elsif ( $cust_main->payby eq 'COMP' ) { %> Complimentary Authorized by - <%= $cust_main->payinfo %> - + <% $cust_main->payinfo %> + +% +%#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 ) = ( '', '' ); +%} +% + Expiration - <%= $cust_main->paydate %> + <% "$mon/$year" %> + +% } + + + + Tax exempt + <% $cust_main->tax ? 'yes' : 'no' %> + + + Postal invoices + + <% ( grep { $_ eq 'POST' } @invoicing_list ) ? 'yes' : 'no' %> + + + + FAX invoices + + <% ( grep { $_ eq 'FAX' } @invoicing_list ) ? 'yes' : 'no' %> + + + + Email invoices + + <% join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) || 'no' %> + + + + Invoice terms + + <% $cust_main->invoice_terms || 'Default ('. ( $conf->config('invoice_default_terms') || 'Payable upon receipt' ). ')' %> + -<% } %> +% if ( $conf->exists('voip-cust_cdr_spools') ) { + + Spool CDRs + <% $cust_main->spool_cdr ? 'yes' : 'no' %> + +% } + +% if ( $conf->exists('voip-cust_cdr_squelch') ) { + + Print CDRs + <% $cust_main->squelch_cdr ? 'no' : 'yes' %> + +% } +<%once> + +my $paystate_label = FS::Msgcat::_gettext('paystate'); +$paystate_label = 'Bank state' if $paystate_label =~/^paystate$/; + + +<%init> + +my( $cust_main ) = @_; +my @invoicing_list = $cust_main->invoicing_list; +my $conf = new FS::Conf; +my $money_char = $conf->config('money_char') || '$'; +