diff options
-rw-r--r-- | FS/FS/cust_bill_pkg_tax_location.pm | 5 | ||||
-rw-r--r-- | FS/FS/cust_bill_pkg_tax_rate_location.pm | 6 | ||||
-rw-r--r-- | httemplate/edit/elements/ApplicationCommon.html | 35 | ||||
-rw-r--r-- | httemplate/misc/xmlhttp-calculate_taxes.html | 1 |
4 files changed, 43 insertions, 4 deletions
diff --git a/FS/FS/cust_bill_pkg_tax_location.pm b/FS/FS/cust_bill_pkg_tax_location.pm index 0d3bd3a32..120a2d036 100644 --- a/FS/FS/cust_bill_pkg_tax_location.pm +++ b/FS/FS/cust_bill_pkg_tax_location.pm @@ -161,7 +161,10 @@ sub desc { map { $cust_location->$_ } qw( state county city ) # country? ); - $self->cust_bill_pkg->desc. " ($location)"; + my $cust_bill_pkg_desc = $self->billpkgnum + ? $self->cust_bill_pkg->desc + : $self->cust_bill_pkg_desc; + "$cust_bill_pkg_desc ($location)"; } =item owed diff --git a/FS/FS/cust_bill_pkg_tax_rate_location.pm b/FS/FS/cust_bill_pkg_tax_rate_location.pm index 89c252978..39b2bb95a 100644 --- a/FS/FS/cust_bill_pkg_tax_rate_location.pm +++ b/FS/FS/cust_bill_pkg_tax_rate_location.pm @@ -165,7 +165,11 @@ sub desc { ); $location .= ( $location && $self->locationtaxid ) ? ', ' : ''; $location .= $self->locationtaxid; - $self->cust_bill_pkg->desc. " ($location)"; + my $cust_bill_pkg_desc = $self->billpkgnum + ? $self->cust_bill_pkg->desc + : $self->cust_bill_pkg_desc; + "$cust_bill_pkg_desc ($location)"; + } diff --git a/httemplate/edit/elements/ApplicationCommon.html b/httemplate/edit/elements/ApplicationCommon.html index 08e1d46e6..ba352fdfb 100644 --- a/httemplate/edit/elements/ApplicationCommon.html +++ b/httemplate/edit/elements/ApplicationCommon.html @@ -86,6 +86,20 @@ Examples: <BR> <SCRIPT TYPE="text/javascript"> +function clear_amounts() { + var rownum=0 + var table = document.getElementById('ApplicationTable'); + for (var row = 2; table.rows[row]; row++) + { + var inputs = table.rows[row].getElementsByTagName('input'); + if ( !inputs.length ) { + break; + } + inputs.item(0).value = ''; // amount + } + +} + function changed(what) { dst = what.options[what.selectedIndex].value; @@ -93,6 +107,7 @@ function changed(what) { what.form.submit.disabled=true; %if ($src_pkey eq 'crednum') { what.form.tax_button.disabled=true; + what.form.clear_button.disabled=true; %} return true; } @@ -100,6 +115,7 @@ function changed(what) { what.form.submit.disabled=false; %if ($src_pkey eq 'crednum') { what.form.tax_button.disabled=false; + what.form.clear_button.disabled=false; %} % foreach my $dst ( @dst ) { @@ -184,7 +200,18 @@ function set_amount_color(what) { Apply to: % if ($use_sub_dst_thing && $src_pkey eq 'crednum') { -<CENTER><BUTTON TYPE="button" NAME="tax_button" ID="tax_button" onClick="do_calculate_tax(this);" DISABLED>Calculate Tax</BUTTON></CENTER> +<CENTER> + <TABLE> + <TR> + <TD> + <BUTTON TYPE="button" NAME="tax_button" ID="tax_button" onClick="do_calculate_tax(this);" DISABLED>Calculate Tax</BUTTON> + </TD> + <TD> + <BUTTON TYPE="button" NAME="clear_button" ID="clear_button" onClick="clear_amounts(this);" DISABLED>Clear Amounts</BUTTON> + </TD> + </TR> + </TABLE> +</CENTER> <% include( '/elements/xmlhttp.html', 'url' => $p.'misc/xmlhttp-calculate_taxes.html', 'subs' => [ 'calculate_taxes' ], @@ -198,6 +225,8 @@ function show_taxes(arg) { var button = document.getElementById('tax_button'); button.disabled = false; button.innerHTML = 'Calculate Tax'; + button = document.getElementById('clear_button'); + button.disabled = false; var error = argsHash['error']; @@ -256,6 +285,8 @@ function show_taxes(arg) { function do_calculate_tax (what) { what.innerHTML = 'Calculating....'; what.disabled = true; + var button = document.getElementById('clear_button'); + button.disabled = true; var taxed_items = new Array(); var table = document.getElementById('ApplicationTable'); for (var row = 2; table.rows[row]; row++) @@ -267,7 +298,7 @@ function do_calculate_tax (what) { var taxed_item = new Array( inputs.item(1).value, // billpkgnum inputs.item(3).value, // s_or_r - inputs.item(0).value // amount + inputs.item(0).value || 0 // amount ); taxed_items.push(taxed_item); } diff --git a/httemplate/misc/xmlhttp-calculate_taxes.html b/httemplate/misc/xmlhttp-calculate_taxes.html index 774b89381..d3dc36acf 100644 --- a/httemplate/misc/xmlhttp-calculate_taxes.html +++ b/httemplate/misc/xmlhttp-calculate_taxes.html @@ -87,6 +87,7 @@ if ( $sub eq 'calculate_taxes' ) { foreach my $location ( @{$taxline->cust_bill_pkg_tax_location}, @{$taxline->cust_bill_pkg_tax_rate_location} ) { my $taxlocnum = $location->locationnum || ''; my $taxratelocnum = $location->taxratelocationnum || ''; + $location->cust_bill_pkg_desc($taxline->desc); #ugh @ that kludge push @taxlines, [ $location->desc, $taxline->setup, $taxlocnum, $taxratelocnum ]; $amount -= $location->amount; |