don't reenable postal billing for existing customers just cause its blank...
[freeside.git] / httemplate / edit / cust_main / billing.html
index caac3a9..96f777b 100644 (file)
@@ -1,13 +1,14 @@
 <%
 
-my( $cust_main ) = @_;
+my( $cust_main, %options ) = @_;
+my @invoicing_list = @{ $options{'invoicing_list'} };
 my $conf = new FS::Conf;
 my $payby_default = $conf->config('payby-default');
 
-my @payby = $conf->config('payby');
+my @payby = grep /\w/, $conf->config('payby');
 #@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
 @payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
-  unless grep /\w/, @payby;
+  unless @payby;
 
 if ( $payby_default eq 'HIDE' ) {
 
@@ -49,14 +50,12 @@ if ( $payby_default eq 'HIDE' ) {
 
   <INPUT TYPE="hidden" NAME="tax" VALUE="<%= $cust_main->tax %>">
 
-  <INPUT TYPE="hidden" NAME="invoicing_list" VALUE="<%= join(', ', $cust_main->invoicing_list) %>">
+  <INPUT TYPE="hidden" NAME="invoicing_list" VALUE="<%= join(', ', @invoicing_list) %>">
 
   </FORM>
 
 <% } else {
 
-  my @invoicing_list = $cust_main->invoicing_list;
-
   my $r = qq!<font color="#ff0000">*</font>&nbsp;!;
 
 %>
@@ -331,6 +330,22 @@ if ( $payby_default eq 'HIDE' ) {
 
       '</TABLE>',
 
+    'MCRD' =>
+
+      '<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192>'.
+
+        qq!<TR><TD ALIGN="right" WIDTH="200">${r}Amount </TD>!.
+          qq!<TD WIDTH="408"><INPUT TYPE="text" NAME="paid" VALUE="!. ( $payby eq 'MCRD' ? $cust_main->paid : '' ). qq!"></TD></TR>!.
+
+        '<TR><TD>&nbsp;</TD></TR>'.
+        '<TR><TD>&nbsp;</TD></TR>'.
+        '<TR><TD>&nbsp;</TD></TR>'.
+        '<TR><TD>&nbsp;</TD></TR>'.
+        '<TR><TD>&nbsp;</TD></TR>'.
+        '<TR><TD>&nbsp;</TD></TR>'.
+
+      '</TABLE>',
+
   );
 
 
@@ -341,11 +356,12 @@ if ( $payby_default eq 'HIDE' ) {
     'BILL' => 'Billing',
     'CASH' => 'Cash', # initial payment, then billing',
     'WEST' => 'Western Union', # initial payment, then billing',
+    'MCRD' => 'Manual credit card', # initial payment, then billing',
     'COMP' => 'Complimentary',
   );
-  if ( $cust_main->custnum ) { #don't offer CASH and WEST initial payment types
+  if ( $cust_main->custnum ) { #don't offer CASH/WEST/MCRD initial payment types
                                # when editing customer
-    delete $allopt{$_} for qw(CASH WEST);
+    delete $allopt{$_} for qw(CASH WEST MCRD);
   }
   
   tie my %options, 'Tie::IxHash',
@@ -365,7 +381,7 @@ if ( $payby_default eq 'HIDE' ) {
     #'form_action'    => 'nothingyet',
     #chops bottom of page in IE# 'under_position' => 'absolute',
     'html_between'   => '</TD></TR></TABLE>',
-    'selected_layer' => $payby2option{$payby} || 'CARD',
+    'selected_layer' => $payby2option{$payby || $payby_default || $payby[0] },
     'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
   );
 
@@ -386,7 +402,10 @@ if ( $payby_default eq 'HIDE' ) {
     <TR>
       <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST" <%=
 
-        ( ( ! @invoicing_list && ! $conf->exists('disablepostalinvoicedefault') )
+        ( (    ! @invoicing_list
+            && ! $conf->exists('disablepostalinvoicedefault')
+            && ! $cust_main->custnum
+          )
           || grep { $_ eq 'POST' } @invoicing_list                     )
 
           ? 'CHECKED'