From 60ad366f6b218de3f229b4ccdc033b96863ea3e9 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 24 Oct 2011 01:15:54 +0000 Subject: fix discounts not appearing for one-time charge packages, RT#13654 --- httemplate/elements/order_pkg.js | 3 +++ httemplate/elements/tr-select-discount.html | 30 ++++++++++------------------- 2 files changed, 13 insertions(+), 20 deletions(-) (limited to 'httemplate/elements') diff --git a/httemplate/elements/order_pkg.js b/httemplate/elements/order_pkg.js index 2f53e3631..48073593a 100644 --- a/httemplate/elements/order_pkg.js +++ b/httemplate/elements/order_pkg.js @@ -8,8 +8,10 @@ function pkg_changed () { if ( discountnum ) { if ( form.pkgpart.options[form.pkgpart.selectedIndex].getAttribute('data-can_discount') == 1 ) { form.discountnum.disabled = false; + discountnum_changed(form.discountnum); } else { form.discountnum.disabled = true; + discountnum_changed(form.discountnum); } } @@ -29,6 +31,7 @@ function pkg_changed () { } else { form.submitButton.disabled = true; if ( discountnum ) { form.discountnum.disabled = true; } + discountnum_changed(form.discountnum); } } diff --git a/httemplate/elements/tr-select-discount.html b/httemplate/elements/tr-select-discount.html index 6bfc48530..30a60ec85 100644 --- a/httemplate/elements/tr-select-discount.html +++ b/httemplate/elements/tr-select-discount.html @@ -81,12 +81,14 @@ function <% $name %>_changed(what) { var <% $name %> = what.options[what.selectedIndex].value; - if ( <% $name %> == '-1' ) { + if ( <% $name %> == '-1' && ! what.disabled ) { <% $ge %>('<% $name %>__type_label0').style.display = ''; <% $ge %>('<% $name %>__type_label0').style.visibility = ''; <% $ge %>('<% $name %>__type').style.display = ''; <% $ge %>('<% $name %>__type').style.visibility = ''; -% #XXX retrieve previous visibility for amount, percent :/ + + <% $name %>__type_changed( <% $ge %>('<% $name %>__type') ); + <% $ge %>('<% $name %>_months_label0').style.display = ''; <% $ge %>('<% $name %>_months_label0').style.visibility = ''; <% $ge %>('<% $name %>_months').style.display = ''; @@ -104,19 +106,7 @@ <% $ge %>('<% $name %>__type').style.display = 'none'; <% $ge %>('<% $name %>__type').style.visibility = 'hidden'; -% #XXX save visibility settings for amount, percent :/ - <% $ge %>('<% $name %>_amount_label0').style.display = 'none'; - <% $ge %>('<% $name %>_amount_label0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_amount_input0').style.display = 'none'; - <% $ge %>('<% $name %>_amount_input0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_amount_input0').style.display = 'none'; - <% $ge %>('<% $name %>_amount_input0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_percent_label0').style.display = 'none'; - <% $ge %>('<% $name %>_percent_label0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_percent_input0').style.display = 'none'; - <% $ge %>('<% $name %>_percent_input0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_percent_input0').style.display = 'none'; - <% $ge %>('<% $name %>_percent_input0').style.visibility = 'hidden'; + <% $name %>__type_changed( <% $ge %>('<% $name %>__type') ); <% $ge %>('<% $name %>_months_label0').style.display = 'none'; <% $ge %>('<% $name %>_months_label0').style.visibility = 'hidden'; @@ -137,15 +127,15 @@ function <% $name %>__type_changed(what) { var <% $name %>__type = what.options[what.selectedIndex].value; - if ( <% $name %>__type == '<% $select %>' ) { + if ( <% $name %>__type == '<% $select %>' || what.style.display == 'none' ) { <% $ge %>('<% $name %>_amount_label0').style.display = 'none'; <% $ge %>('<% $name %>_amount_label0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_amount').style.display = 'none'; - <% $ge %>('<% $name %>_amount').style.visibility = 'hidden'; + <% $ge %>('<% $name %>_amount_input0').style.display = 'none'; + <% $ge %>('<% $name %>_amount_input0').style.visibility = 'hidden'; <% $ge %>('<% $name %>_percent_label0').style.display = 'none'; <% $ge %>('<% $name %>_percent_label0').style.visibility = 'hidden'; - <% $ge %>('<% $name %>_percent').style.display = 'none'; - <% $ge %>('<% $name %>_percent').style.visibility = 'hidden'; + <% $ge %>('<% $name %>_percent_input0').style.display = 'none'; + <% $ge %>('<% $name %>_percent_input0').style.visibility = 'hidden'; } else if ( <% $name %>__type == 'Amount' ) { <% $ge %>('<% $name %>_amount_label0').style.display = ''; <% $ge %>('<% $name %>_amount_label0').style.visibility = ''; -- cgit v1.2.1