import torrus 1.0.9
[freeside.git] / httemplate / edit / quick-charge.html
index ad26bff..a472915 100644 (file)
@@ -3,10 +3,10 @@
           )
 %>
 
-<LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
-<SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
+<LINK REL="stylesheet" TYPE="text/css" HREF="<%$fsurl%>elements/calendar-win2k-2.css" TITLE="win2k-2">
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar_stripped.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-en.js"></SCRIPT>
+<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-setup.js"></SCRIPT>
 
 <% include('/elements/error.html') %>
 
@@ -58,6 +58,23 @@ function validate_quick_charge () {
   return false;
 }
 
+function bill_now_changed (what) {
+  var form = what.form;
+  if ( what.checked ) {
+    form.start_date_text.disabled = true;
+    form.start_date.style.backgroundColor = '#dddddd';
+    form.start_date_button.style.display = 'none';
+    form.start_date_button_disabled.style.display = '';
+    form.invoice_terms.disabled = false;
+  } else {
+    form.start_date_text.disabled = false;
+    form.start_date.style.backgroundColor = '#ffffff';
+    form.start_date_button.style.display = '';
+    form.start_date_button_disabled.style.display = 'none';
+    form.invoice_terms.disabled = true;
+  }
+}
+
 </SCRIPT>
 
 <FORM ACTION="process/quick-charge.cgi" NAME="QuickChargeForm" ID="QuickChargeForm" METHOD="POST" onsubmit="document.QuickChargeForm.submit.disabled=true;return validate_quick_charge();">
@@ -85,6 +102,26 @@ function validate_quick_charge () {
 <% include('/elements/tr-select-pkg_class.html', 'curr_value' => $cgi->param('classnum') ) %>
 
 <TR>
+  <TD ALIGN="right">Invoice now</TD>
+  <TD>
+    <INPUT TYPE  = "checkbox"
+           NAME  = "bill_now"
+           VALUE = "1"
+           <% $cgi->param('bill_now') ? 'CHECKED' : '' %>
+           onChange = "bill_now_changed(this);"
+    >
+    with terms 
+    <% include('/elements/select-terms.html',
+                 'curr_value'  => scalar($cgi->param('invoice_terms')),
+                 'empty_value' => $default_terms,
+                 'disabled'    => ( $cgi->param('bill_now') ? 0 : 1 ),
+              )
+    %>
+  </TD>
+</TR>
+
+%# false laziness w/misc/order_pkg.html
+<TR>
   <TD ALIGN="right">Charge date </TD>
   <TD>
     <INPUT TYPE  = "text"
@@ -92,11 +129,16 @@ function validate_quick_charge () {
            SIZE  = 32
            ID    = "start_date_text"
            VALUE = "<% $start_date %>"
+           <% $cgi->param('bill_now') ? 'STYLE = "background-color:#dddddd" DISABLED' : '' %>
     >
-    <IMG SRC   = "../images/calendar.png"
+    <IMG SRC   = "<%$fsurl%>images/calendar.png"
          ID    = "start_date_button"
-         STYLE = "cursor: pointer"
          TITLE = "Select date"
+         STYLE = "cursor:pointer<% $cgi->param('bill_now') ? ';display:none' : '' %>"
+    >
+    <IMG SRC   = "<%$fsurl%>images/calendar-disabled.png"
+         ID    = "start_date_button_disabled"
+         <% $cgi->param('bill_now') ? '' : 'STYLE="display:none"' %>
     >
     <FONT SIZE=-1>(leave blank to charge immediately)</FONT>
   </TD>
@@ -105,12 +147,19 @@ function validate_quick_charge () {
 <SCRIPT TYPE="text/javascript">
   Calendar.setup({
     inputField: "start_date_text",
-    ifFormat:   "%m/%d/%Y",
+    ifFormat:   "<% $date_format %>",
     button:     "start_date_button",
     align:      "BR"
   });
 </SCRIPT>
 
+% if ( $cust_main->payby =~ /^(CARD|CHEK)$/ ) {
+%   my $what = lc(FS::payby->shortname($cust_main->payby));
+    <TR>
+      <TD ALIGN="right">Disable automatic <% $what %> charge </TD>
+      <TD COLSPAN=6><INPUT TYPE="checkbox" NAME="no_auto" VALUE="Y"></TD>
+    </TR>
+% }
 
 <TR>
   <TD ALIGN="right">Tax exempt </TD>
@@ -208,6 +257,7 @@ die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('One-time charge');
 
 my $conf = new FS::Conf;
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
 
 $cgi->param('custnum') =~ /^(\d+)$/ or die 'illegal custnum';
 my $custnum = $1;
@@ -215,7 +265,6 @@ my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); #XXX agent-vi
 
 my $format = "%m/%d/%Y %T %z (%Z)"; #false laziness w/REAL_cust_pkg.cgi?
 my $start_date = $cust_main->next_bill_date;
-warn "*** $start_date";
 $start_date = $start_date ? time2str($format, $start_date) : '';
 
 my $amount = '';
@@ -232,4 +281,14 @@ $cgi->param('pkg') =~ /^([\w \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=\[\]]*)$/
   or die 'illegal description';
 my $pkg = $1;
 
+my $default_terms;
+if ( $cust_main->invoice_terms ) {
+  $default_terms = 'Customer default ('. $cust_main->invoice_terms. ')';
+} else {
+  $default_terms =
+    'Default ('.
+       ($conf->config('invoice_default_terms') || 'Payable upon receipt').
+    ')';
+}
+
 </%init>