summaryrefslogtreecommitdiff
path: root/httemplate/browse
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-09-06 12:42:34 -0700
committerMark Wells <mark@freeside.biz>2016-09-06 13:30:56 -0700
commit91a6e5e58df70ffad1234cb80ab76eaeaf8359b9 (patch)
treeea607cc6d9e876a56f37d021676585880bc8fa7f /httemplate/browse
parent5a7d43dfb77b2dd9ddae36f4e188e80e8a6b5ec6 (diff)
UI improvements for selecting taxproducts, #71555 and #71556
Diffstat (limited to 'httemplate/browse')
-rwxr-xr-xhttemplate/browse/part_pkg.cgi56
-rwxr-xr-xhttemplate/browse/part_pkg_taxproduct/suretax.html3
2 files changed, 56 insertions, 3 deletions
diff --git a/httemplate/browse/part_pkg.cgi b/httemplate/browse/part_pkg.cgi
index 1e8b51030..acc32113f 100755
--- a/httemplate/browse/part_pkg.cgi
+++ b/httemplate/browse/part_pkg.cgi
@@ -27,6 +27,19 @@
'html_foot' => $html_foot,
)
%>
+<%def .style>
+<STYLE TYPE="text/css">
+ .taxproduct_desc {
+ color: blue;
+ text-decoration: underline dotted;
+ }
+</STYLE>
+<SCRIPT TYPE="text/javascript">
+$().ready(function() {
+ $('.taxproduct_desc').tooltip({});
+});
+</SCRIPT>
+</%def>
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;
@@ -45,6 +58,7 @@ die "access denied"
my $conf = new FS::Conf;
my $taxclasses = $conf->exists('enable_taxclasses');
+my $taxvendor = $conf->config('tax_data_vendor');
my $money_char = $conf->config('money_char') || '$';
my $select = '*';
@@ -180,6 +194,7 @@ my $html_init = qq!
</FORM>
<BR><BR>
!;
+$html_init .= include('.style');
$cgi->param('dummy', 1);
@@ -562,6 +577,43 @@ if ( $taxclasses ) {
push @header, 'Taxclass';
push @fields, sub { shift->taxclass() || '&nbsp;'; };
$align .= 'l';
+} elsif ( $taxvendor ) {
+ push @header, 'Tax product';
+ my @classnums = ( 'setup', 'recur' );
+ my @classnames = ( 'Setup', 'Recur' );
+ foreach ( qsearch('usage_class', { disabled => '' }) ) {
+ push @classnums, $_->classnum;
+ push @classnames, $_->classname;
+ }
+ my $taxproduct_sub = sub {
+ my $ppt = shift;
+ '<SPAN CLASS="taxproduct_desc" TITLE="' .
+ encode_entities($ppt->description) .
+ '">' . encode_entities($ppt->taxproduct) . '</SPAN>'
+ };
+ my $taxproduct_list_sub = sub {
+ my $part_pkg = shift;
+ my $base_ppt = $part_pkg->taxproduct;
+ my $out = [];
+ if ( $base_ppt ) {
+ push @$out, [
+ { 'data' => '', 'align' => 'left' },
+ { 'data' => &$taxproduct_sub($base_ppt), 'align' => 'right' },
+ ];
+ }
+ for (my $i = 0; $i < scalar @classnums; $i++) {
+ my $num = $part_pkg->option('usage_taxproductnum_' . $classnums[$i]);
+ next if !$num;
+ my $ppt = FS::part_pkg_taxproduct->by_key($num);
+ push @$out, [
+ { 'data' => $classnames[$i] . ': ', 'align' => 'left', },
+ { 'data' => &$taxproduct_sub($ppt), 'align' => 'right' },
+ ];
+ }
+ $out;
+ };
+ push @fields, $taxproduct_list_sub;
+ $align .= 'l';
}
# make a table of report class optionnames => the actual
@@ -602,7 +654,9 @@ push @fields,
sort
grep { $options{$_} =~ /\S/ }
grep { $_ !~ /^(setup|recur)_fee$/
- and $_ !~ /^report_option_\d+$/ }
+ and $_ !~ /^report_option_\d+$/
+ and $_ !~ /^usage_taxproductnum_/
+ }
keys %options
);
if ( @report_options ) {
diff --git a/httemplate/browse/part_pkg_taxproduct/suretax.html b/httemplate/browse/part_pkg_taxproduct/suretax.html
index 9c00c5c69..8f237f360 100755
--- a/httemplate/browse/part_pkg_taxproduct/suretax.html
+++ b/httemplate/browse/part_pkg_taxproduct/suretax.html
@@ -138,8 +138,7 @@ my $id = $cgi->param('id');
my $select_onclick = sub {
my $row = shift;
my $taxnum = $row->taxproductnum;
- my $code = $row->taxproduct;
- my $desc = $row->description;
+ my $desc = $row->taxproduct . ' ' . $row->description;
"select_taxproduct('$taxnum', '$desc')";
};