From: jeff Date: Tue, 10 Feb 2009 16:25:29 +0000 (+0000) Subject: fix taxproduct fallout from IE 2083 limit workaround X-Git-Tag: root_of_webpay_support~65 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=3fae9d8e9686f54eab803b77f6458772150227a9 fix taxproduct fallout from IE 2083 limit workaround --- diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi index 5a9bb109f..2b1bab67f 100755 --- a/httemplate/edit/part_pkg.cgi +++ b/httemplate/edit/part_pkg.cgi @@ -23,6 +23,7 @@ 'clone_callback' => $clone_callback, 'edit_callback' => $edit_callback, 'error_callback' => $error_callback, + 'field_callback' => $field_callback, 'labels' => { 'pkgpart' => 'Package Definition', @@ -225,6 +226,7 @@ my %tax_override = (); my %taxproductnums = map { ($_->classnum => 1) } qsearch('usage_class', { 'disabled' => '' }); +my @taxproductnums = ( qw( setup recur ), sort (keys %taxproductnums) ); my %options = (); my $recur_disabled = 1; @@ -546,7 +548,6 @@ my %usage_class = map { ($_->classnum => $_->classname) } $usage_class{setup} = 'Setup'; $usage_class{recur} = 'Recurring'; -my @taxproductnums = (); my %taxproduct_fields = (); my $end_callback = sub { my( $cgi, $object, $fields, $opt ) = @_; @@ -611,4 +612,21 @@ my $taxproduct_values = sub { }; +my $field_callback = sub { + my ($cgi, $object, $fieldref) = @_; + + 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; + } +}; +