add MCRD payment type for manually processed ccards
authorivan <ivan>
Mon, 21 Nov 2005 10:47:12 +0000 (10:47 +0000)
committerivan <ivan>
Mon, 21 Nov 2005 10:47:12 +0000 (10:47 +0000)
FS/FS/Conf.pm
FS/FS/cust_main.pm
FS/FS/cust_pay.pm
FS/FS/cust_pay_void.pm
FS/FS/cust_refund.pm
httemplate/edit/cust_main/billing.html
httemplate/edit/cust_pay.cgi
httemplate/search/cust_pay.cgi
httemplate/search/report_cust_pay.html
httemplate/view/cust_bill.cgi
httemplate/view/cust_main/payment_history.html

index dbc44ce..7fed1a4 100644 (file)
@@ -1298,7 +1298,7 @@ httemplate/docs/config.html
     'section'     => 'billing',
     'description' => 'Available payment types.',
     'type'        => 'selectmultiple',
-    'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP) ],
+    'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD COMP) ],
   },
 
   {
@@ -1306,7 +1306,7 @@ httemplate/docs/config.html
     'section'     => 'UI',
     'description' => 'Default payment type.  HIDE disables display of billing information and sets customers to BILL.',
     'type'        => 'select',
-    'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP HIDE) ],
+    'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD COMP HIDE) ],
   },
 
   {
index f9031d7..e2b3baf 100644 (file)
@@ -377,7 +377,7 @@ sub insert {
 
     $payby = 'PREP' if $amount;
 
-  } elsif ( $self->payby =~ /^(CASH|WEST)$/ ) {
+  } elsif ( $self->payby =~ /^(CASH|WEST|MCRD)$/ ) {
 
     $payby = $1;
     $self->payby('BILL');
@@ -718,7 +718,7 @@ sub insert_cust_pay_cash {
   shift->insert_cust_pay('CASH', @_);
 }
 
-=item insert_cust_pay_prepay AMOUNT [ PAYINFO ]
+=item insert_cust_pay_west AMOUNT [ PAYINFO ]
 
 Inserts a Western Union payment in the specified amount for this customer.  An
 optional second argument can specify the prepayment identifier for tracking
@@ -1150,7 +1150,7 @@ sub check {
     }
   }
 
-  $self->payby =~ /^(CARD|DCRD|CHEK|DCHK|LECB|BILL|COMP|PREPAY|CASH|WEST)$/
+  $self->payby =~ /^(CARD|DCRD|CHEK|DCHK|LECB|BILL|COMP|PREPAY|CASH|WEST|MCRD)$/
     or return "Illegal payby: ". $self->payby;
 
   $error =    $self->ut_numbern('paystart_month')
@@ -1287,7 +1287,7 @@ sub check {
 
   if ( $self->paydate eq '' || $self->paydate eq '-' ) {
     return "Expriation date required"
-      unless $self->payby =~ /^(BILL|PREPAY|CHEK|DCHK|LECB|CASH|WEST)$/;
+      unless $self->payby =~ /^(BILL|PREPAY|CHEK|DCHK|LECB|CASH|WEST|MCRD)$/;
     $self->paydate('');
   } else {
     my( $m, $y );
index 3772473..f057d2f 100644 (file)
@@ -62,7 +62,8 @@ L<Time::Local> and L<Date::Parse> for conversion functions.
 
 =item payby - `CARD' (credit cards), `CHEK' (electronic check/ACH),
 `LECB' (phone bill billing), `BILL' (billing), `PREP` (prepaid card),
-`CASH' (cash), `WEST' (Western Union) or `COMP' (free)
+`CASH' (cash), `WEST' (Western Union), `MCRD' (Manual credit card), or
+`COMP' (free)
 
 =item payinfo - card number, check #, or comp issuer (4-8 lowercase alphanumerics; think username), respectively
 
@@ -374,7 +375,7 @@ sub check {
 
   $self->_date(time) unless $self->_date;
 
-  $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST)$/
+  $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST|MCRD)$/
     or return "Illegal payby";
   $self->payby($1);
 
index 6437163..71fe88b 100644 (file)
@@ -48,7 +48,7 @@ L<Time::Local> and L<Date::Parse> for conversion functions.
 
 =item payby - `CARD' (credit cards), `CHEK' (electronic check/ACH),
 `LECB' (phone bill billing), `BILL' (billing), `CASH' (cash),
-`WEST' (Western Union) or `COMP' (free)
+`WEST' (Western Union), `MCRD' (Manual credit card), or `COMP' (free)
 
 =item payinfo - card number, check #, or comp issuer (4-8 lowercase alphanumerics; think username), respectively
 
@@ -129,7 +129,7 @@ sub check {
 
   $self->void_date(time) unless $self->void_date;
 
-  $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST)$/
+  $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|PREP|CASH|WEST|MCRD)$/
     or return "Illegal payby";
   $self->payby($1);
 
index 48cc7cc..8c672b8 100644 (file)
@@ -52,7 +52,7 @@ L<Time::Local> and L<Date::Parse> for conversion functions.
 
 =item payby - `CARD' (credit cards), `CHEK' (electronic check/ACH),
 `LECB' (Phone bill billing), `BILL' (billing), `CASH' (cash),
-`WEST' (Western Union), or `COMP' (free)
+`WEST' (Western Union), `MCRD' (Manual credit card), or `COMP' (free)
 
 =item payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)
 
@@ -212,7 +212,7 @@ sub check {
     unless $self->crednum 
            || qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
 
-  $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|CASH|WEST)$/
+  $self->payby =~ /^(CARD|CHEK|LECB|BILL|COMP|CASH|WEST|MCRD)$/
     or return "Illegal payby";
   $self->payby($1);
 
index caac3a9..6168fa9 100644 (file)
@@ -331,6 +331,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 +357,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 +382,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}; },
   );
 
index b2f3f55..0370ab7 100755 (executable)
@@ -6,6 +6,7 @@ my %payby = (
   'BILL' => 'Check',
   'CASH' => 'Cash',
   'WEST' => 'Western Union',
+  'MCRD' => 'Manual credit card',
 );
 
 my($link, $linknum, $paid, $payby, $payinfo, $quickpay, $_date); 
index bf3df98..99ffc3d 100755 (executable)
@@ -17,7 +17,7 @@
      
        if ( $cgi->param('payby') ) {
          $cgi->param('payby') =~
-           /^(CARD|CHEK|BILL|PREP|CASH|WEST)(-(VisaMC|Amex|Discover|Maestro))?$/
+           /^(CARD|CHEK|BILL|PREP|CASH|WEST|MCRD)(-(VisaMC|Amex|Discover|Maestro))?$/
              or die "illegal payby ". $cgi->param('payby');
          push @search, "cust_pay.payby = '$1'";
          if ( $3 ) {
                        'Cash '. $cust_pay->payinfo;
                      } elsif ( $cust_pay->payby eq 'WEST' ) {
                        'Western Union'; #. $cust_pay->payinfo;
+                     } elsif ( $cust_pay->payby eq 'MCRD' ) {
+                       'Manual credit card'; #. $cust_pay->payinfo;
                      } else {
                        $cust_pay->payby. ' '. $cust_pay->payinfo;
                      }
index 18501d5..a28ead9 100644 (file)
@@ -25,6 +25,7 @@
               <OPTION VALUE="PREP">prepaid card</OPTION>
               <OPTION VALUE="CASH">cash</OPTION>
               <OPTION VALUE="WEST">Western Union</OPTION>
+              <OPTION VALUE="MCRD">manual credit card</OPTION>
             </SELECT>
         </TD>
       </TR>
index 8dcbd3a..5724414 100755 (executable)
@@ -29,7 +29,7 @@ my $link = $templatename ? "$templatename-$invnum" : $invnum;
 )) %>
 
 <% if ( $cust_bill->owed > 0
-        && ( $payby{'BILL'} || $payby{'CASH'} || $payby{'WEST'} )
+        && ( $payby{'BILL'} || $payby{'CASH'} || $payby{'WEST'} || $payby{'MCRD'} )
       )
    {
      my $s = 0;
@@ -58,6 +58,13 @@ my $link = $templatename ? "$templatename-$invnum" : $invnum;
   
   <% } %>
 
+  <% if ( $payby{'MCRD'} ) { %>
+  
+    <%= $s++ ? ' | ' : '' %>
+    <A HREF="<%= $p %>edit/cust_pay.cgi?payby=MCRD;invnum=<%= $invnum %>">manual credit card</A>
+  
+  <% } %>
+
   payment against this invoice<BR>
 
 <% } %>
index e58b624..f794ccf 100644 (file)
 
 <% } %>
 
+<% if ( $payby{'MCRD'} ) { %>
+
+  <%= $s++ ? ' | ' : '' %>
+  <A HREF="<%= $p %>edit/cust_pay.cgi?payby=MCRD;custnum=<%= $custnum %>">Post manual credit card payment</A>
+
+<% } %>
+
 <BR><A HREF="<%= $p %>edit/cust_credit.cgi?<%= $custnum %>">Post credit</A>
 <BR>
 
@@ -98,6 +105,7 @@ foreach my $cust_pay ($cust_main->cust_pay) {
   $payby =~ s/^COMP$/Complimentary by /; 
   $payby =~ s/^CASH$/Cash/;
   $payby =~ s/^WEST$/Western Union/;
+  $payby =~ s/^MCRD$/Manual credit card/;
   $payby =~ s/^BILL$//;
   my $info = $payby ? " ($payby$payinfo)" : '';