From 83fef36304dae4f46748ba21d62cba606d8e88f0 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 5 Aug 2015 22:53:50 -0700 Subject: consider csv/xls imported payments "manual" for payment receipt purposes, RT#33681 --- FS/FS/cust_pay.pm | 37 ++++++++++++++++++++----------------- 1 file 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, @_ ); -- cgit v1.2.1 From 29302d859b546f27061bcaf9d91c982df2ac1a27 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Thu, 6 Aug 2015 23:11:20 -0500 Subject: RT#18361: Delay package from billing until services are provisioned [rename method] --- FS/FS/cust_svc.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm index c5099fc59..974af6743 100644 --- a/FS/FS/cust_svc.pm +++ b/FS/FS/cust_svc.pm @@ -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 -- cgit v1.2.1