Merge branch 'master' of git.freeside.biz:/home/git/freeside
authorMark Wells <mark@freeside.biz>
Fri, 7 Aug 2015 05:00:10 +0000 (22:00 -0700)
committerMark Wells <mark@freeside.biz>
Fri, 7 Aug 2015 05:00:10 +0000 (22:00 -0700)
FS/FS/cust_pay.pm
FS/FS/cust_svc.pm

index d135599..b81f161 100644 (file)
@@ -1226,23 +1226,26 @@ sub process_batch_import {
     return %hash;
   };
 
-  my $opt = { 'table'   => 'cust_pay',
-              'params'  => [ '_date', 'agentnum', 'payby', 'paybatch' ],
-                                         #agent_custid isn't a cust_pay field, see hash callback
-              'formats' => { 'simple' => [ qw(custnum agent_custid paid payinfo invnum) ] },
-              'format_types' => { 'simple' => '' }, #force infer from file extension
-              'default_csv' => 1, #if it's not .xls, it'll read as csv, regardless of extension
-              'format_hash_callbacks' => { 'simple' => $hashcb },
-              'postinsert_callback' => sub {
-                 my $cust_pay = shift;
-                 my $cust_main = $cust_pay->cust_main ||
-                   return "can't find customer to which payments apply";
-                 my $error = $cust_main->apply_payments_and_credits;
-                 return $error
-                   ? "can't apply payments to customer ".$cust_pay->custnum."$error"
-                   : '';
-              },
-            };
+  my $opt = {
+    'table'        => 'cust_pay',
+    'params'       => [ '_date', 'agentnum', 'payby', 'paybatch' ],
+                        #agent_custid isn't a cust_pay field, see hash callback
+    'formats'      => { 'simple' =>
+                          [ qw(custnum agent_custid paid payinfo invnum) ] },
+    'format_types' => { 'simple' => '' }, #force infer from file extension
+    'default_csv'  => 1, #if not .xls, will read as csv, regardless of extension
+    'format_hash_callbacks' => { 'simple' => $hashcb },
+    'insert_args_callback'  => sub { ( 'manual'=>1 ) },
+    'postinsert_callback'   => sub {
+      my $cust_pay = shift;
+      my $cust_main = $cust_pay->cust_main
+                        or return "can't find customer to which payments apply";
+      my $error = $cust_main->apply_payments_and_credits;
+      return $error
+               ? "can't apply payments to customer ".$cust_pay->custnum."$error"
+               : '';
+    },
+  };
 
   FS::Record::process_batch_import( $job, $opt, @_ );
 
index c5099fc..974af67 100644 (file)
@@ -121,7 +121,7 @@ sub insert {
   my $error = $self->SUPER::insert;
 
   #check if this releases a hold (see FS::pkg_svc provision_hold)
-  $error ||= $self->_provision_hold;
+  $error ||= $self->_check_provision_hold;
 
   if ( $error ) {
     $dbh->rollback if $oldAutoCommit;
@@ -460,7 +460,7 @@ sub replace {
   } # if this is a location change
 
   #check if this releases a hold (see FS::pkg_svc provision_hold)
-  $error ||= $new->_provision_hold;
+  $error ||= $new->_check_provision_hold;
 
   if ( $error ) {
     $dbh->rollback if $oldAutoCommit;
@@ -1246,7 +1246,7 @@ sub smart_search_param {
 # then removes hold from pkg
 # returns $error or '' on success,
 # does not indicate if pkg status was changed
-sub _provision_hold {
+sub _check_provision_hold {
   my $self = shift;
 
   # check status of cust_pkg