diff options
-rw-r--r-- | httemplate/elements/onload.js | 22 | ||||
-rw-r--r-- | httemplate/elements/order_pkg.js | 5 | ||||
-rw-r--r-- | httemplate/elements/tr-select-cust-part_pkg.html | 4 | ||||
-rwxr-xr-x | httemplate/misc/change_pkg.cgi | 22 |
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> |