X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fpart_pkg.cgi;h=669b75946a126175f1d2e23697f5d760422189b3;hb=3e2c08dba947ea254c60cbd621776c0f5dddb2e8;hp=91ae97132fbfbfb85c4d20dbb50e312baa97d1ec;hpb=3b39e6d2f5b8e5e0be175d8f0810cdd66ed66d96;p=freeside.git diff --git a/httemplate/edit/process/part_pkg.cgi b/httemplate/edit/process/part_pkg.cgi index 91ae97132..669b75946 100755 --- a/httemplate/edit/process/part_pkg.cgi +++ b/httemplate/edit/process/part_pkg.cgi @@ -84,6 +84,13 @@ my $args_callback = sub { } @options; + foreach ( split(',', $cgi->param('taxproductnums') ) ) { + my $value = $cgi->param("taxproductnum_$_"); + $error ||= "Illegal taxproductnum_$_: $value" + unless ( $value =~ /^\d*$/ ); + $options{"usage_taxproductnum_$_"} = $value; + } + $options{$_} = scalar( $cgi->param($_) ) for (qw( setup_fee recur_fee )); @@ -146,6 +153,22 @@ my @process_m2m = ( }, ); +foreach my $override_class ($cgi->param) { + next unless $override_class =~ /^tax_override_(\w+)$/; + my $class = $1; + + my (@tax_overrides) = (grep "$_", split (",", $1)) + if $cgi->param($override_class) =~ /^([\d,]+)$/; + + push @process_m2m, { + 'link_table' => 'part_pkg_taxoverride', + 'target_table' => 'tax_class', + 'hashref' => { 'usage_class' => $class }, + 'params' => [ @tax_overrides ], + }; + +} + my $conf = new FS::Conf; if ( $cgi->param('pkgpart') || ! $conf->exists('agent_defaultpkg') ) {