fix A/R report
[freeside.git] / httemplate / elements / tr-part_pkg-taxproducts.html
1 %# by default, only show default
2 <TR>
3   <TH ALIGN="right"><% emt('Tax product') %></TH>
4   <TD><& select-taxproduct.html,
5         %opt,
6         'field'       => $field.'_', # expected in edit/process/part_pkg
7         'curr_value'  => $curr_values{''},
8       &>
9   </TD>
10 </TR>
11 % if ( !$separate ) {
12 <TR STYLE="font-size: small">
13   <TD></TD>
14   <TD>
15   <BUTTON TYPE="button" ID="show_taxproduct_class">By usage class
16     <IMG SRC="<%$fsurl%>images/arrow.down.black.png">
17   </BUTTON>
18   </TD>
19 </TR>
20 <SCRIPT TYPE="text/javascript">
21 $().ready(function() {
22   $('#show_taxproduct_class').on('click', function() {
23     this.disabled = true;
24     $('tr.taxproduct_class').show();
25   });
26 });
27 </SCRIPT>
28 % }
29 % foreach my $usage_class (@classes) {
30 %   my $classnum = $usage_class->classnum;
31 <TR CLASS="taxproduct_class" STYLE="<% $separate ? '' : 'display:none' %>">
32   <TH ALIGN="right"><% $usage_class->classname %></TH>
33   <TD><& select-taxproduct.html,
34         %opt,
35         'field'       => $field.'_'.$classnum,
36         'curr_value'  => $curr_values{$classnum},
37       &>
38   </TD>
39 </TR>
40 % }
41 <%init>
42 my %opt = @_;
43 my $field = delete($opt{field}) || 'taxproductnum';
44 my @classes = qsearch('usage_class', { 'disabled' => '' });
45 unshift @classes,
46   FS::usage_class->new({ 'classnum' => 'setup', 'classname' => 'Setup', }),
47   FS::usage_class->new({ 'classnum' => 'recur', 'classname' => 'Recur', }),
48 ;
49 my $separate = 0; # will change to 1 if any non-default classes have values
50
51 my $pkgpart = delete($opt{pkgpart});
52 my %curr_values;
53 my %pkg_options;
54 if ($pkgpart) {
55   my $part_pkg = FS::part_pkg->by_key($pkgpart);
56   %pkg_options = $part_pkg->options;
57   $curr_values{''} =   $cgi->param('taxproductnum')
58                     || $part_pkg->taxproductnum;
59 }
60
61 foreach my $usage_class (@classes) {
62   my $classnum = $usage_class->classnum;
63   my $curr_value =
64        $cgi->param("usage_taxproductnum_$classnum")
65     || $pkg_options{"usage_taxproductnum_$classnum"}
66     || '';
67   $curr_values{$classnum} = $curr_value;
68   $separate = 1 if ( length($classnum) and length($curr_value) );
69 }
70
71 </%init>