X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fcust_main%2Fbilling.html;h=f1add6fcc8d2e78c56e33ffd952b12ec48c0b9c1;hp=3fcb5d460a777420df72453bb0d9e94d598168fc;hb=074464a707b2c8b83cc50cd0bb067660ef4d0f9f;hpb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1 diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html index 3fcb5d460..f1add6fcc 100644 --- a/httemplate/view/cust_main/billing.html +++ b/httemplate/view/cust_main/billing.html @@ -1,32 +1,48 @@ -Billing information -% # If we can't see the unencrypted card, then bill now is an exercise in frustration -%if ( ! $cust_main->is_encrypted($cust_main->payinfo) ) { - (Bill now) +<% mt('Billing information') |h %> +%# 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) +% ) { +%# (<% mt('Bill now') |h %>) + (<& /elements/bill.html, + custnum => $cust_main->custnum, + label => emt('Bill now'), + url => $p.'view/cust_main.cgi?'.$cust_main->custnum, + &>) % } <% ntable("#cccccc") %><% ntable("#cccccc",2) %> -% + %( my $balance = $cust_main->balance ) % =~ s/^(\-?)(.*)$/$1<\/FONT>$money_char$2/; -% - - Balance due + <% mt('Balance due') |h %> <% $balance %> +% if ( $conf->exists('cust_main-select-billday') +% && ($cust_main->payby eq 'CARD' || $cust_main->payby eq 'CHEK') ) { + + <% mt('Billing day of month') |h %> + <% $cust_main->billday %> + + +% } + - Billing type + <% mt('Billing type') |h %> % if ( $cust_main->payby eq 'CARD' || $cust_main->payby eq 'DCRD' ) { - - Credit card <% $cust_main->payby eq 'CARD' ? '(automatic)' : '(on-demand)' %> +% my $autodemand = $cust_main->payby eq 'CARD' ? 'automatic' : 'on-demand'; + <% mt("Credit card ([_1])",$autodemand) |h %> - Card number + <% mt('Card number') |h %> <% $cust_main->paymask %> % @@ -44,50 +60,65 @@ Billing information % - Expiration + <% mt('Expiration') |h %> <% "$mon/$year" %> % if ( $cust_main->paystart_month ) { - Start date + <% mt('Start date') |h %> <% $cust_main->paystart_month. '/'. $cust_main->paystart_year %> % } elsif ( $cust_main->payissue ) { - Issue # + <% mt('Issue #') |h %> <% $cust_main->payissue %> % } - Name on card + <% mt('Name on card') |h %> <% $cust_main->payname %> % } elsif ( $cust_main->payby eq 'CHEK' || $cust_main->payby eq 'DCHK') { -% my( $account, $aba ) = split('@', $cust_main->payinfo ); -% +% my( $account, $aba ) = split('@', $cust_main->paymask ); +% my $branch = ''; +% ($branch,$aba) = split('\.',$aba) if $conf->config('echeck-country') eq 'CA'; - Electronic check <% $cust_main->payby eq 'CHEK' ? '(automatic)' : '(on-demand)' %> +% my $autodemand = $cust_main->payby eq 'CHEK' ? 'automatic' : 'on-demand'; + <% mt("Electronic check ([_1])",$autodemand) |h %> + +% #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'; + - ABA/Routing code + <% mt($routing_label) |h %> <% $aba %> + +% if ( $conf->config('echeck-country') eq 'CA' ) { - Account number - <% 'x'x(length($account)-2). substr($account,(length($account)-2)) %> + <% mt('Branch number') |h %> + <% $branch %> + +% } + + <% mt('Account number') |h %> + <% $account %> - Account type + <% mt('Account type') |h %> <% $cust_main->paytype %> - Bank name + <% mt('Bank name') |h %> <% $cust_main->payname %> % if ( $conf->exists('show_bankstate') ) { @@ -99,43 +130,39 @@ Billing information % } elsif ( $cust_main->payby eq 'LECB' ) { % $cust_main->payinfo =~ /^(\d{3})(\d{3})(\d{4})$/; % my $payinfo = "$1-$2-$3"; -% - - Phone bill billing + <% mt('Phone bill billing') |h %> - Phone number + <% mt('Phone number') |h %> <% $payinfo %> % } elsif ( $cust_main->payby eq 'BILL' ) { - - Billing + <% mt('Billing') |h %> % if ( $cust_main->payinfo ) { - P.O. + <% $cust_main->payinfo %> % } - Attention - <% $cust_main->payname %> + <% mt('Attention') |h %> + <% $cust_main->payname |h %> % } elsif ( $cust_main->payby eq 'COMP' ) { - - Complimentary + <% mt('Complimentary') |h %> - Authorized by + <% mt('Authorized by') |h %> <% $cust_main->payinfo %> % @@ -153,48 +180,111 @@ Billing information % - Expiration + <% mt('Expiration') |h %> <% "$mon/$year" %> % } +% my $yes = emt('yes'); +% my $no = emt('no'); + +% my @exempt_groups = grep /\S/, $conf->config('tax-cust_exempt-groups'); + + <% mt('Tax exempt') |h %><% @exempt_groups ? ' ('.emt('all taxes').')' : '' %> + <% $cust_main->tax ? $yes : $no %> + +% foreach my $exempt_group ( @exempt_groups ) { + + <% mt('Tax exempt') |h %> (<% $exempt_group %> taxes) + <% $cust_main->tax_exemption($exempt_group) ? $yes : $no %> + +% } +% if ( $conf->exists('enable_taxproducts') ) { - Tax exempt - <% $cust_main->tax ? 'yes' : 'no' %> + <% mt('Tax location') |h %> + <% $cust_main->geocode('cch') %> +% } - Postal invoices + <% mt('Postal invoices') |h %> - <% ( grep { $_ eq 'POST' } @invoicing_list ) ? 'yes' : 'no' %> + <% ( grep { $_ eq 'POST' } @invoicing_list ) ? $yes : $no %> - FAX invoices + <% mt('FAX invoices') |h %> - <% ( grep { $_ eq 'FAX' } @invoicing_list ) ? 'yes' : 'no' %> + <% ( grep { $_ eq 'FAX' } @invoicing_list ) ? $yes : $no %> +% unless ( $conf->exists('cust-email-high-visibility')) { - Email invoices + <% mt('Email invoices') |h %> - <% join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) || 'no' %> + <% join(', ', grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list ) || $no %> +% } - Invoice terms + <% mt('Invoice terms') |h %> - <% $cust_main->invoice_terms || 'Default ('. ( $conf->config('invoice_default_terms') || 'Payable upon receipt' ). ')' %> + <% $cust_main->invoice_terms || emt('Default').' ('. ( $conf->config('invoice_default_terms') || emt('Payable upon receipt') ). ')' %> + + + + <% mt('Credit limit') |h %> + + <% length($cust_main->credit_limit) ? + $money_char.sprintf("%.2f", $cust_main->credit_limit) : + emt('Unlimited') %> % if ( $conf->exists('voip-cust_cdr_spools') ) { - Spool CDRs - <% $cust_main->spool_cdr ? 'yes' : 'no' %> + <% mt('Spool CDRs') |h %> + <% $cust_main->spool_cdr ? $yes : $no %> + +% } + +% if ( $conf->exists('voip-cust_cdr_squelch') ) { + + <% mt($conf->exists('voip-cdr_email') ? 'Print CDRs' : 'Show CDRs') |h %> + <% $cust_main->squelch_cdr ? $no : $yes %> + +% } + +% if ( $conf->exists('voip-cust_accountcode_cdr') ) { + + <% mt('Breakdown CDRs by accountcode') |h %> + <% $cust_main->accountcode_cdr ? $yes : $no %> + +% } + +% if ( $conf->exists('voip-cust_email_csv_cdr') ) { + + <% mt('Email CDRs as CSV') |h %> + <% $cust_main->email_csv_cdr ? $yes : $no %> % } +% if ( $show_term || $cust_main->cdr_termination_percentage ) { + + <% mt('CDR termination settlement') |h %> + <% $cust_main->cdr_termination_percentage %><% $cust_main->cdr_termination_percentage =~ /\d/ ? '%' : '' %> + +% } + +% if ( $cust_main->locale ) { +% my %locale_info = FS::Locales->locale_info($cust_main->locale); + + <% mt('Invoicing locale') |h %> + <% $locale_info{name} . " (" . $locale_info{country} .")" %> + +% } + + <%once> @@ -203,8 +293,16 @@ $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') || '$'; + +#false laziness w/edit/cust_main/billing.html +my $term_sql = "SELECT COUNT(*) FROM cust_pkg LEFT JOIN part_pkg USING ( pkgpart ) WHERE custnum = ? AND plan = 'cdr_termination' LIMIT 1"; +my $term_sth = dbh->prepare($term_sql) or die dbh->errstr; +$term_sth->execute($cust_main->custnum) or die $term_sth->errstr; +my $show_term = $term_sth->fetchrow_arrayref->[0]; +