diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-06-20 16:32:00 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-06-20 16:32:00 -0700 |
commit | e5b2660aefd03bc4b32386e1c38c53814c002c8d (patch) | |
tree | 412e33d23e7003b949b06ee9d2cf349f2caf14c6 /httemplate/browse | |
parent | b992d86235de93c9e3149b99d0f75c193b50e32f (diff) |
Compliance Solutions <http://csilongwood.com/> integration, RT#75262
Diffstat (limited to 'httemplate/browse')
-rw-r--r-- | httemplate/browse/part_pkg_taxproduct/compliance_solutions.html | 163 | ||||
-rwxr-xr-x | httemplate/browse/part_pkg_taxproduct/suretax.html | 1 |
2 files changed, 164 insertions, 0 deletions
diff --git a/httemplate/browse/part_pkg_taxproduct/compliance_solutions.html b/httemplate/browse/part_pkg_taxproduct/compliance_solutions.html new file mode 100644 index 000000000..cf07b3189 --- /dev/null +++ b/httemplate/browse/part_pkg_taxproduct/compliance_solutions.html @@ -0,0 +1,163 @@ +<& /elements/header-popup.html, $title &> +<& /browse/elements/browse.html, + 'name_singular' => 'tax product', + #'html_form' => include('.form', $category_code), + 'query' => { + 'table' => 'part_pkg_taxproduct', + 'hashref' => $hashref, + 'order_by' => 'ORDER BY taxproduct', + }, + 'count_query' => $count_query, + 'header' => \@header, + 'fields' => \@fields, + 'align' => $align, + 'links' => [], + 'link_onclicks' => \@link_onclicks, + 'nohtmlheader' => 1, + 'disable_total' => 1, +&> +<script> +$().ready(function() { + var new_taxproduct = $('#new_taxproduct'); + var new_taxproduct2 = $('#new_taxproduct2'); +// var new_category_desc = $('#new_category_desc'); + var new_taxproduct_desc = $('#new_taxproduct_desc'); + var new_taxproduct_submit = $('#new_taxproduct_submit'); + +// new_taxproduct.on('keyup', function() { +// var curr_value = this.value || ''; +// if (curr_value.match(/^\d{7}$/)) { +// new_taxproduct_submit.prop('disabled', false); +// } else { +// new_taxproduct_submit.prop('disabled', true); +// } +// }); + + new_taxproduct_submit.on('click', function() { + select_taxproduct( -1, + new_taxproduct.val() + new_taxproduct2.val() + + ' ' +// + new_category_desc.val() +// + ':' + + new_taxproduct_desc.val() + ); + }); +}); +// post the values back to the parent form +function select_taxproduct(taxproductnum, description) { + parent.document.getElementById('<% $id %>').value = taxproductnum; + parent.document.getElementById('<% $id %>_description').value = description; + parent.cClick(); +} + +</script> +<BR> + +Please contact <a href="http://csilongwood.com/" target="_blank">Compliance Solutions</a> for a full list of your product and service codes.<BR><BR> + +<FORM NAME="myform"> + <FONT SIZE="+1"><B><% emt('Add tax product') %></B></FONT> + <% ntable('#cccccc', 2) %> + <& /elements/tr-input-text.html, + 'label' => emt('Product code'), + 'field' => 'new_taxproduct', + 'id' => 'new_taxproduct', + 'size' => 4, + 'maxlength' => 4, + &> + <& /elements/tr-input-text.html, + 'label' => emt('Service code'), + 'field' => 'new_taxproduct2', + 'id' => 'new_taxproduct2', + 'size' => 3, + 'maxlength' => 3, + &> + <& /elements/tr-input-text.html, + 'label' => emt('Product name'), + 'field' => 'new_taxproduct_desc', + 'id' => 'new_taxproduct_desc', + &> + </table> +%# <input type="button" id="new_taxproduct_submit" disabled=1 value="Add"> + <input type="button" id="new_taxproduct_submit" value="Add"> +</FORM> + +<& /elements/footer-popup.html &> +<%shared> +# populate dropdown + +#taxproduct is 7 digits: 4-digit (well, alpha) productcode + 3-digit servicecode +# Description is also two parts, corresponding to those codes, separated with +# a :. + +my (@productcodes, @servicecodes); +foreach my $row ( qsearch({ + table => 'part_pkg_taxproduct', + select => 'DISTINCT substr(taxproduct, 1, 4) AS productcode ', + hashref => { data_vendor => 'compliance_solutions' }, + })) +{ + push @productcodes, $row->{productcode}; +} + +foreach my $row ( qsearch({ + table => 'part_pkg_taxproduct', + select => 'DISTINCT substr(taxproduct, 4, 3) AS servicecode ', + hashref => { data_vendor => 'compliance_solutions' }, + })) +{ + push @servicecodes, $row->{servicecode}; +} + +</%shared> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +$cgi->param('id') =~ /^\w+$/ or die "missing id parameter"; +my $id = $cgi->param('id'); + +my $select_onclick = sub { + my $row = shift; + my $taxnum = $row->taxproductnum; + my $desc = $row->taxproduct . ' ' . $row->description; + "select_taxproduct('$taxnum', '$desc')"; +}; + +my @menubar; +my $title = 'Tax Products'; + +my $hashref = { data_vendor => 'compliance_solutions' }; + +#my ($category_code, $taxproduct); +#if ( $cgi->param('category_code') =~ /^(\d+)$/ ) { +# $category_code = $1; +# $taxproduct = $category_code . '%'; +#} else { +# $taxproduct = '%'; +#} +my $taxproduct = '%'; + +$hashref->{taxproduct} = { op => 'LIKE', value => $taxproduct }; + +my $count_query = "SELECT COUNT(*) FROM part_pkg_taxproduct ". + "WHERE data_vendor = 'compliance_solutions' AND ". + "taxproduct LIKE '$taxproduct'"; + +my @fields = ( + 'taxproduct', + 'description', +# 'note' +); + +my @header = ( + 'Code', + 'Description', +# '', +); + +my $align = 'lll'; +my @link_onclicks = ( $select_onclick, $select_onclick ); + +</%init> diff --git a/httemplate/browse/part_pkg_taxproduct/suretax.html b/httemplate/browse/part_pkg_taxproduct/suretax.html index 178062c4a..4605c1f34 100755 --- a/httemplate/browse/part_pkg_taxproduct/suretax.html +++ b/httemplate/browse/part_pkg_taxproduct/suretax.html @@ -91,6 +91,7 @@ function select_taxproduct(taxproductnum, description) { </table> <input type="button" id="new_taxproduct_submit" disabled=1 value="Add"> </FORM> +<& /elements/footer-popup.html &> <%shared> # populate dropdown |