diff options
author | Mark Wells <mark@freeside.biz> | 2016-09-06 12:42:34 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2016-09-06 13:30:45 -0700 |
commit | f4bb9273f1ba174858e221fd37f6dd1dca4119e9 (patch) | |
tree | ce30490a7ca66a69983bf448e57c100f863d6721 /httemplate/elements/tr-part_pkg-taxproducts.html | |
parent | c33b039c24de7192a72b172b317937f749c2cea3 (diff) |
UI improvements for selecting taxproducts, #71555 and #71556
Diffstat (limited to 'httemplate/elements/tr-part_pkg-taxproducts.html')
-rw-r--r-- | httemplate/elements/tr-part_pkg-taxproducts.html | 62 |
1 files changed, 47 insertions, 15 deletions
diff --git a/httemplate/elements/tr-part_pkg-taxproducts.html b/httemplate/elements/tr-part_pkg-taxproducts.html index c57232c08..5dcea09f1 100644 --- a/httemplate/elements/tr-part_pkg-taxproducts.html +++ b/httemplate/elements/tr-part_pkg-taxproducts.html @@ -1,18 +1,39 @@ +%# by default, only show default <TR> - <TH COLSPAN=2>Tax products</TH> + <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; -% my $curr_value = -% $cgi->param("usage_taxproductnum_$classnum") -% || $pkg_options{"usage_taxproductnum_$classnum"} -% || ''; -<TR> - <TD><% $usage_class->classname %></TD> +<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_value + 'curr_value' => $curr_values{$classnum}, &> </TD> </TR> @@ -20,18 +41,29 @@ <%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; - $pkg_options{'usage_taxproductnum_'} = $part_pkg->taxproductnum; + $curr_values{''} = $part_pkg->taxproductnum; } -my @classes = qsearch('usage_class', { 'disabled' => '' }); -unshift @classes, - FS::usage_class->new({ 'classnum' => '', 'classname' => '(default)', }), - FS::usage_class->new({ 'classnum' => 'setup', 'classname' => 'Setup', }), - FS::usage_class->new({ 'classnum' => 'recur', 'classname' => 'Recur', }), -; +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> |