summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-08-05 22:53:50 -0700
committerIvan Kohler <ivan@freeside.biz>2015-08-05 22:53:50 -0700
commit83fef36304dae4f46748ba21d62cba606d8e88f0 (patch)
treebac19c90f690dde7595403c5d7a40a9ea3c65738
parent029eb49464888b53f73303fe38e15494a2842170 (diff)
consider csv/xls imported payments "manual" for payment receipt purposes, RT#33681
-rw-r--r--FS/FS/cust_pay.pm37
1 files changed, 20 insertions, 17 deletions
diff --git a/FS/FS/cust_pay.pm b/FS/FS/cust_pay.pm
index d135599a3..b81f16114 100644
--- a/FS/FS/cust_pay.pm
+++ b/FS/FS/cust_pay.pm
@@ -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, @_ );