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

my $pkgpart = delete($opt{pkgpart});
my %curr_values;
my %pkg_options;
if ($pkgpart) {
  my $part_pkg = FS::part_pkg->by_key($pkgpart);
  %pkg_options = $part_pkg->options;
  $curr_values{''} =   $cgi->param('taxproductnum')
                    || $part_pkg->taxproductnum;
}

foreach my $usage_class (@classes) {
  my $classnum = $usage_class->classnum;
  my $curr_value =
       $cgi->param("usage_taxproductnum_$classnum")
    || $pkg_options{"usage_taxproductnum_$classnum"}
    || '';
  $curr_values{$classnum} = $curr_value;
  $separate = 1 if ( length($classnum) and length($curr_value) );
}

</%init>