summaryrefslogtreecommitdiff
path: root/httemplate/elements/order_pkg.js
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-09-16 01:44:26 -0700
committerMark Wells <mark@freeside.biz>2014-09-16 14:55:02 -0700
commit9d96031e79187a549c2c150e96363d421e59efc5 (patch)
tree655c1c4d97d0e4e21b3a7368ab78b1211844cee0 /httemplate/elements/order_pkg.js
parent32834b6e8a92ca3ec0bbf58075956a7d0edca79a (diff)
package start_on_hold flag, and better behavior for automatic timers + packages on hold, #25853
Diffstat (limited to 'httemplate/elements/order_pkg.js')
-rw-r--r--httemplate/elements/order_pkg.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/httemplate/elements/order_pkg.js b/httemplate/elements/order_pkg.js
index 8cd0f5f2a..d7a909187 100644
--- a/httemplate/elements/order_pkg.js
+++ b/httemplate/elements/order_pkg.js
@@ -10,7 +10,7 @@ function pkg_changed () {
var date_text = document.getElementById('start_date_text');
var radio_now = document.getElementById('start_now');
- //var radio_on_hold = document.getElementById('start_on_hold');
+ var radio_on_hold = document.getElementById('start_on_hold');
var radio_on_date = document.getElementById('start_on_date');
form.submitButton.disabled = false;
@@ -36,23 +36,35 @@ function pkg_changed () {
date_button.style.display = '';
date_button_disabled.style.display = 'none';
if ( radio_on_date ) {
+ // un-disable all the buttons that might get disabled
radio_on_date.disabled = false;
- if ( form.start_date_text.value.length > 0 && radio_now.checked ) {
+ radio_now.disabled = false;
+ // if a start date has been entered, assume the user wants it
+ if ( form.start_date_text.value.length > 0 ) {
radio_now.checked = false;
radio_on_date.checked = true;
+ } else {
+ // if not, default to now
+ radio_now.checked = true;
}
}
- } else {
+ } else { // the package is either fixed start date or start-on-hold
date_text.style.backgroundColor = '#dddddd';
date_text.disabled = true;
date_button.style.display = 'none';
date_button_disabled.style.display = '';
if ( radio_on_date ) {
- if ( radio_on_date.checked ) {
- radio_on_date.checked = false;
+ if ( opt.getAttribute('data-start_on_hold') == 1 ) {
+ // disallow all options but "On hold"
+ radio_on_hold.checked = true;
+ radio_now.checked = false;
+ radio_now.disabled = true;
+ } else {
+ // disallow all options but "On date"
+ radio_on_hold.checked = false;
radio_now.checked = true;
+ radio_now.disabled = false;
}
- radio_on_date.disabled = true;
}
}