summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--httemplate/elements/onload.js22
-rw-r--r--httemplate/elements/order_pkg.js5
-rw-r--r--httemplate/elements/tr-select-cust-part_pkg.html4
-rwxr-xr-xhttemplate/misc/change_pkg.cgi22
4 files changed, 48 insertions, 5 deletions
diff --git a/httemplate/elements/onload.js b/httemplate/elements/onload.js
new file mode 100644
index 000000000..bfa7eef94
--- /dev/null
+++ b/httemplate/elements/onload.js
@@ -0,0 +1,22 @@
+<%doc>
+Filter component to attach a window.onload handler.
+
+Usage:
+ <script>
+ <&| elements/onload.js &>
+ if ( the_stars_are_right ) {
+ run_this_function();
+ }
+ </&>
+ </script>
+
+</%doc>
+(function() {
+ var tmp = window.onload;
+ window.onload = function() {
+ if (typeof(tmp)== 'function') {
+ tmp();
+ }
+<% $m->content %>
+ };
+})();
diff --git a/httemplate/elements/order_pkg.js b/httemplate/elements/order_pkg.js
index 762b2ddde..4e41fd64a 100644
--- a/httemplate/elements/order_pkg.js
+++ b/httemplate/elements/order_pkg.js
@@ -21,6 +21,11 @@ function pkg_changed () {
}
}
+// if this form element exists, then the start date is a future
+// package change date; don't replace it
+ if ( form.delay ) {
+ return;
+ }
form.start_date_text.value = opt.getAttribute('data-start_date');
if ( opt.getAttribute('data-can_start_date') == 1 ) {
date_text.style.backgroundColor = '#ffffff';
diff --git a/httemplate/elements/tr-select-cust-part_pkg.html b/httemplate/elements/tr-select-cust-part_pkg.html
index 488f04a13..8431beb4e 100644
--- a/httemplate/elements/tr-select-cust-part_pkg.html
+++ b/httemplate/elements/tr-select-cust-part_pkg.html
@@ -64,9 +64,9 @@
);
}
- window.onload = function() {
+ <&| /elements/onload.js &>
classnum_changed(document.getElementById('classnum'));
- }
+ </&>
</SCRIPT>
diff --git a/httemplate/misc/change_pkg.cgi b/httemplate/misc/change_pkg.cgi
index 887fa014a..ce8348000 100755
--- a/httemplate/misc/change_pkg.cgi
+++ b/httemplate/misc/change_pkg.cgi
@@ -35,16 +35,32 @@
<FONT CLASS="fsinnerbox-title"><% mt('Change') |h %></FONT>
<% ntable('#cccccc') %>
+ <SCRIPT TYPE="text/javascript">
+ function delay_changed() {
+ var enable = document.OrderPkgForm.delay[1].checked;
+ document.getElementById('start_date_text').disabled = !enable;
+ document.getElementById('start_date_button').style.display =
+ (enable ? '' : 'none');
+ document.getElementById('start_date_button_disabled').style.display =
+ (enable ? 'none' : '');
+ }
+ <&| /elements/onload.js &>
+ delay_changed();
+ </&>
+ </SCRIPT>
<TR>
-<!-- <TD> Apply this change: </TD> -->
<TD> <INPUT TYPE="radio" NAME="delay" VALUE="0" \
- <% !$cgi->param('delay') ? 'CHECKED' : '' %>> Now </TD>
+ <% !$cgi->param('delay') ? 'CHECKED' : '' %> \
+ onclick="delay_changed()"> Now </TD>
<TD> <INPUT TYPE="radio" NAME="delay" VALUE="1" \
- <% $cgi->param('delay') ? 'CHECKED' : '' %>> In the future
+ <% $cgi->param('delay') ? 'CHECKED' : '' %> \
+ onclick="delay_changed()"> In the future
<& /elements/input-date-field.html, {
'name' => 'start_date',
'value' => ($cgi->param('start_date') || $cust_main->next_bill_date),
} &>
+ <IMG SRC="<%$fsurl%>images/calendar-disabled.png" \
+ ID="start_date_button_disabled" STYLE="display:none">
</TD>
</TR>
</TABLE>