%# by default, only show default
<% emt('Tax product') %> |
<& select-taxproduct.html,
%opt,
'field' => $field.'_', # expected in edit/process/part_pkg
'curr_value' => $curr_values{''},
&>
|
% if ( !$separate ) {
|
|
% }
% foreach my $usage_class (@classes) {
% my $classnum = $usage_class->classnum;
<% $usage_class->classname %> |
<& select-taxproduct.html,
%opt,
'field' => $field.'_'.$classnum,
'curr_value' => $curr_values{$classnum},
&>
|
% }
<%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>