From 2ce6ee8e5cd817a4018ad26eb1e364198c1dd931 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Sun, 15 Apr 2012 15:38:27 -0700 Subject: add cust_class-tax_exempt conf setting to control the tax exemption flag per customer class rather than per indivual customer, RT#16818 --- httemplate/edit/cust_class.html | 23 +++++++++++++++++++++-- httemplate/edit/cust_main/billing.html | 14 +++++++++++--- httemplate/edit/elements/class_Common.html | 4 ++-- httemplate/edit/pkg_class.html | 2 +- httemplate/view/cust_main/billing.html | 20 ++++++++++++-------- 5 files changed, 47 insertions(+), 16 deletions(-) (limited to 'httemplate') diff --git a/httemplate/edit/cust_class.html b/httemplate/edit/cust_class.html index fdb58e687..8fce90588 100644 --- a/httemplate/edit/cust_class.html +++ b/httemplate/edit/cust_class.html @@ -1,5 +1,24 @@ <% include( 'elements/class_Common.html', - 'name' => 'Customer Class', - 'table' => 'cust_class', + 'name' => 'Customer Class', + 'table' => 'cust_class', + 'addl_fields' => \@addl_fields, + 'addl_labels' => { 'tax' => 'Tax Exempt' }, ) %> +<%init> + +my $conf = new FS::Conf; + +my @addl_fields = (); +if ( $conf->exists('cust_class-tax_exempt') ) { + push @addl_fields, { 'field' => 'tax', + 'type' => 'checkbox', + 'value' => 'Y', + }; +} else { + push @addl_fields, { 'field' => 'tax', + 'type' => 'hidden', + }; +} + + diff --git a/httemplate/edit/cust_main/billing.html b/httemplate/edit/cust_main/billing.html index 18c7ae9a6..9f4cb74cd 100644 --- a/httemplate/edit/cust_main/billing.html +++ b/httemplate/edit/cust_main/billing.html @@ -437,9 +437,17 @@ % my @exempt_groups = grep /\S/, $conf->config('tax-cust_exempt-groups'); - - tax eq "Y" ? 'CHECKED' : '' %>> Tax Exempt<% @exempt_groups ? ' (all taxes)' : '' %> - +% if ( $conf->exists('cust_class-tax_exempt') ) { + + + +% } else { + + + tax eq "Y" ? 'CHECKED' : '' %>> Tax Exempt<% @exempt_groups ? ' (all taxes)' : '' %> + + +% } % foreach my $exempt_group ( @exempt_groups ) { % #escape $exempt_group for NAME diff --git a/httemplate/edit/elements/class_Common.html b/httemplate/edit/elements/class_Common.html index 69da4db31..a0025b31f 100644 --- a/httemplate/edit/elements/class_Common.html +++ b/httemplate/edit/elements/class_Common.html @@ -34,9 +34,9 @@ my $fields = [ 'classname', ), { field=>'disabled', type=>'checkbox', value=>'Y', }, ]; -push @$fields, $opt{'addl_fields'} if $opt{'addl_fields'}; +push @$fields, @{ $opt{'addl_fields'} } if $opt{'addl_fields'}; my %addl_labels = (); -%addl_labels = %{$opt{'addl_labels'}} if $opt{'addl_labels'}; +%addl_labels = %{ $opt{'addl_labels'} } if $opt{'addl_labels'}; diff --git a/httemplate/edit/pkg_class.html b/httemplate/edit/pkg_class.html index 1bc100e36..c4e3d8ac5 100644 --- a/httemplate/edit/pkg_class.html +++ b/httemplate/edit/pkg_class.html @@ -10,7 +10,7 @@ my $conf = new FS::Conf; my %opt = (); if($conf->exists('cust_main-require_censustract')) { - $opt{'addl_fields'} = qw( fcc_ds0s ); + $opt{'addl_fields'} = [ 'fcc_ds0s' ]; $opt{'addl_labels'} = { 'fcc_ds0s' => 'FCC form 477 voice-grade equivalents' }; } diff --git a/httemplate/view/cust_main/billing.html b/httemplate/view/cust_main/billing.html index 522c6db86..4d55f7002 100644 --- a/httemplate/view/cust_main/billing.html +++ b/httemplate/view/cust_main/billing.html @@ -189,15 +189,19 @@ % 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 %> - + +% unless ( $conf->exists('cust_class-tax_exempt') ) { + + <% 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 %> - + + <% mt('Tax exempt') |h %> (<% $exempt_group %> taxes) + <% $cust_main->tax_exemption($exempt_group) ? $yes : $no %> + % } % if ( $conf->exists('enable_taxproducts') ) { -- cgit v1.2.1