diff options
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/browse/part_pkg.cgi | 8 | ||||
-rwxr-xr-x | httemplate/edit/part_pkg.cgi | 44 | ||||
-rw-r--r-- | httemplate/elements/tr-part_pkg-taxproducts.html | 4 |
3 files changed, 19 insertions, 37 deletions
diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi index acc32113f..8c51b35f4 100755 --- a/httemplate/browse/part_pkg.cgi +++ b/httemplate/browse/part_pkg.cgi @@ -601,12 +601,18 @@ if ( $taxclasses ) { { 'data' => &$taxproduct_sub($base_ppt), 'align' => 'right' }, ]; } + if ( my $units_ppt = $part_pkg->units_taxproduct ) { + push @$out, [ + { 'data' => emt('Lines'), 'align' => 'left' }, + { 'data' => &$taxproduct_sub($units_ppt), 'align' => 'right' }, + ]; + } for (my $i = 0; $i < scalar @classnums; $i++) { my $num = $part_pkg->option('usage_taxproductnum_' . $classnums[$i]); next if !$num; my $ppt = FS::part_pkg_taxproduct->by_key($num); push @$out, [ - { 'data' => $classnames[$i] . ': ', 'align' => 'left', }, + { 'data' => $classnames[$i], 'align' => 'left', }, { 'data' => &$taxproduct_sub($ppt), 'align' => 'right' }, ]; } diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index 64a75252e..84aac5bde 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -40,7 +40,6 @@ 'setuptax' => 'Setup fee tax exempt', 'recurtax' => 'Recurring fee tax exempt', 'taxclass' => 'Tax class', - 'taxproduct_select'=> 'Tax products', 'plan' => 'Price plan', 'disabled' => 'Disable new orders', 'disable_line_item_date_ranges' => 'Disable line item date ranges', @@ -73,6 +72,7 @@ 'contract_end_months' => 'Contract ends after ', 'expire_months' => 'Cancel the package after ', 'change_to_pkgpart'=> 'and replace it with ', + 'units_taxproductnum' => 'Per-line tax product', }, 'fields' => [ @@ -214,28 +214,15 @@ type => 'hidden', value => join(',', @taxproductnums), }, - #{ field => 'taxproduct_select', - # type => 'selectlayers', - # options => [ '(default)', @taxproductnums ], - # curr_value => '(default)', - # labels => { ( '(default)' => '(default)' ), - # map {($_=>$usage_class{$_})} - # @taxproductnums - # }, - # layer_fields => \%taxproduct_fields, - # layer_values_callback => $taxproduct_values, - # layers_only => !$taxproducts, - # cell_style => ( !$taxproducts - # ? 'display:none' - # : '' - # ), - #}, { field => 'taxproductnum', type => 'part_pkg-taxproducts', include_opt_callback => sub { pkgpart => $_[0]->pkgpart }, }, - + { field => 'units_taxproductnum', + type => ($tax_data_vendor ? + 'select-taxproduct' : 'hidden'), + }, { type => 'tablebreak-tr-title', value => 'Promotions', #better name? }, @@ -445,7 +432,7 @@ my $agent_clone_extra_sql = ' ) '; my $conf = new FS::Conf; -my $taxproducts = $conf->config('tax_data_vendor') ne ''; +my $tax_data_vendor = $conf->config('tax_data_vendor'); my $fcc_opts = $conf->exists('part_pkg-show_fcc_options'); @@ -1112,13 +1099,8 @@ my $html_bottom = sub { my $return = include('/elements/selectlayers.html', %selectlayers, 'layers_only'=>1 ). '<SCRIPT TYPE="text/javascript">'. - include('/elements/selectlayers.html', %selectlayers, 'js_only'=>1 ); - -# $return .= -# "taxproduct_selectchanged(document.getElementById('taxproduct_select'));\n" -# if $taxproducts; - - $return .= '</SCRIPT>'; + include('/elements/selectlayers.html', %selectlayers, 'js_only'=>1 ) . + '</SCRIPT>'; $return; @@ -1199,16 +1181,8 @@ my $field_callback = sub { my $field = $fieldref->{field}; if ($field eq 'taxproductnums') { $fieldref->{value} = join(',', @taxproductnums); - } elsif ($field eq 'taxproduct_select') { - $fieldref->{options} = [ '(default)', @taxproductnums ]; - $fieldref->{labels} = { ( '(default)' => '(default)' ), - map {( $_ => ($usage_class{$_} || $_) )} - @taxproductnums - }; - $fieldref->{layer_fields} = \%taxproduct_fields; - $fieldref->{layer_values_callback} = $taxproduct_values; } elsif ($field eq 'taxproductnum') { # part_pkg-taxproduct, new style - if ( !$taxproducts ) { + if ( !$tax_data_vendor ) { # then make the widget go away $fieldref->{type} = 'hidden'; } diff --git a/httemplate/elements/tr-part_pkg-taxproducts.html b/httemplate/elements/tr-part_pkg-taxproducts.html index 5dcea09f1..50dace729 100644 --- a/httemplate/elements/tr-part_pkg-taxproducts.html +++ b/httemplate/elements/tr-part_pkg-taxproducts.html @@ -54,7 +54,8 @@ my %pkg_options; if ($pkgpart) { my $part_pkg = FS::part_pkg->by_key($pkgpart); %pkg_options = $part_pkg->options; - $curr_values{''} = $part_pkg->taxproductnum; + $curr_values{''} = $cgi->param('taxproductnum') + || $part_pkg->taxproductnum; } foreach my $usage_class (@classes) { @@ -66,4 +67,5 @@ foreach my $usage_class (@classes) { $curr_values{$classnum} = $curr_value; $separate = 1 if ( length($classnum) and length($curr_value) ); } + </%init> |