fix "Post manual (offline/POS) credit card refund", RT#18926
[freeside.git] / httemplate / edit / REAL_cust_pkg.cgi
index 270ffa3..166a3b7 100755 (executable)
@@ -46,8 +46,9 @@
     <TD BGCOLOR="#ffffff"><% $cust_pkg->otaker %></TD>
   </TR>
 
+  <& .row_display, cust_pkg=>$cust_pkg, column=>'order_date',     label=>'Order' &>
 % if ( $cust_pkg->setup && ! $cust_pkg->start_date ) {
-  <& .row_display, cust_pkg=>$cust_pkg, column=>'start',   label=>'Start' &>
+  <& .row_display, cust_pkg=>$cust_pkg, column=>'start_date',   label=>'Start' &>
 % } else {
   <& .row_edit, cust_pkg=>$cust_pkg, column=>'start_date', label=>'Start' &>
 % }
   <& .row_edit, cust_pkg=>$cust_pkg, column=>'setup',     label=>'Setup' &>
   <& .row_edit, cust_pkg=>$cust_pkg, column=>'last_bill', label=>$last_bill_or_renewed &>
   <& .row_edit, cust_pkg=>$cust_pkg, column=>'bill',      label=>$next_bill_or_prepaid_until &>
-  <& .row_display, cust_pkg=>$cust_pkg, column=>'adjourn',   label=>'Adjournment', note=>'(will <b>suspend</b> this package when the date is reached)' &>
-  <& .row_display, cust_pkg=>$cust_pkg, column=>'susp',   label=>'Suspension' &>
+%#if ( $cust_pkg->contract_end or $part_pkg->option('contract_end_months',1) ) {
+    <& .row_edit, cust_pkg=>$cust_pkg, column=>'contract_end',label=>'Contract end' &>
+%#}
+  <& .row_display, cust_pkg=>$cust_pkg, column=>'adjourn',  label=>'Adjournment', note=>'(will <b>suspend</b> this package when the date is reached)' &>
+  <& .row_display, cust_pkg=>$cust_pkg, column=>'susp',     label=>'Suspension' &>
+  <& .row_display, cust_pkg=>$cust_pkg, column=>'resume',   label=>'Resumption', note=> '(will <b>unsuspend</b> this package when the date is reached' &>
 
   <& .row_display, cust_pkg=>$cust_pkg, column=>'expire',   label=>'Expiration', note=>'(will <b>cancel</b> this package when the date is reached)' &>
   <& .row_display, cust_pkg=>$cust_pkg, column=>'cancel',   label=>'Cancellation' &>
 
+
 <%def .row_edit>
 <%args>
   $cust_pkg
   <SCRIPT TYPE="text/javascript">
     Calendar.setup({
       inputField: "<% $column %>_text",
-      ifFormat:   "%m/%d/%Y",
+      ifFormat:   "<% $date_format %>",
       button:     "<% $column %>_button",
       align:      "BR"
     });
 </TABLE>
 
 <BR>
-<INPUT TYPE="submit" VALUE="Apply Changes">
+<INPUT TYPE="submit" VALUE="<% mt('Apply changes') |h %>">
 </FORM>
 
 <% include('/elements/footer.html') %>
+<%shared>
 
-<%once>
-
-#my $format = "%c %z (%Z)";
-my $format = "%m/%d/%Y %T %z (%Z)";
+my $conf = new FS::Conf;
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
 
-#false laziness w/view/cust_main/packages.html
-#my( $billed_or_prepaid,
+my $format = $date_format. ' %T'; # %z (%Z)';
 
-</%once>
+</%shared>
 <%init>
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates');
 
+
 my $error = '';
 my( $pkgnum, $cust_pkg );
 
@@ -170,10 +175,17 @@ if ( $cgi->param('error') ) {
     if ( $errors{'_setup_areyousure'} ) {
       push @errors,
         "You are attempting to remove the setup date.  This will re-charge the
-         customer for the setup fee. Are you sure you want to do this? ".
+         customer for the setup fee.  Are you sure you want to do this? ".
         '<INPUT TYPE="checkbox" NAME="setup_areyousure" VALUE="1">';
     }
 
+    if ( $errors{'_setupadd_areyousure'} ) {
+      push @errors,
+        "You are attempting to add a setup date.  This will prevent charging the
+         customer for the setup fee.  Are you sure you want to do this? ".
+        '<INPUT TYPE="checkbox" NAME="setupadd_areyousure" VALUE="1">';
+    }
+
     if ( $errors{'_start'} ) {
       push @errors,
         "You are attempting to add a start date to a package that has already
@@ -188,9 +200,9 @@ if ( $cgi->param('error') ) {
   $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum});
   die "No package!" unless $cust_pkg;
 
-  foreach my $col (qw( setup last_bill bill adjourn expire )) {
+  foreach my $col (qw( start_date setup last_bill bill )) {
     my $value = $cgi->param($col);
-    $cust_pkg->set( $col, $value ? str2time($value) : '' );
+    $cust_pkg->set( $col, $value ? parse_datetime($value) : '' );
   }
 
 } else {