projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
backport cust_svc_unsorted method from master, RT#26097
[freeside.git]
/
FS
/
FS
/
pay_batch.pm
diff --git
a/FS/FS/pay_batch.pm
b/FS/FS/pay_batch.pm
index
90b4eb8
..
e0a1c44
100644
(file)
--- a/
FS/FS/pay_batch.pm
+++ b/
FS/FS/pay_batch.pm
@@
-5,8
+5,9
@@
use vars qw( @ISA $DEBUG %import_info %export_info $conf );
use Time::Local;
use Text::CSV_XS;
use FS::Record qw( dbh qsearch qsearchs );
use Time::Local;
use Text::CSV_XS;
use FS::Record qw( dbh qsearch qsearchs );
-use FS::cust_pay;
use FS::Conf;
use FS::Conf;
+use FS::cust_pay;
+use FS::agent;
use Date::Parse qw(str2time);
use Business::CreditCard qw(cardtype);
use Date::Parse qw(str2time);
use Business::CreditCard qw(cardtype);
@@
-40,6
+41,8
@@
from FS::Record. The following fields are currently supported:
=item batchnum - primary key
=item batchnum - primary key
+=item agentnum - optional agent number for agent batches
+
=item payby - CARD or CHEK
=item status - O (Open), I (In-transit), or R (Resolved)
=item payby - CARD or CHEK
=item status - O (Open), I (In-transit), or R (Resolved)
@@
-112,12
+115,23
@@
sub check {
$self->ut_numbern('batchnum')
|| $self->ut_enum('payby', [ 'CARD', 'CHEK' ])
|| $self->ut_enum('status', [ 'O', 'I', 'R' ])
$self->ut_numbern('batchnum')
|| $self->ut_enum('payby', [ 'CARD', 'CHEK' ])
|| $self->ut_enum('status', [ 'O', 'I', 'R' ])
+ || $self->ut_foreign_keyn('agentnum', 'agent', 'agentnum')
;
return $error if $error;
$self->SUPER::check;
}
;
return $error if $error;
$self->SUPER::check;
}
+=item agent
+
+Returns the L<FS::agent> object for this template.
+
+=cut
+
+sub agent {
+ qsearchs('agent', { 'agentnum' => $_[0]->agentnum });
+}
+
=item rebalance
=cut
=item rebalance
=cut
@@
-357,12
+371,12
@@
sub import_results {
foreach ('paid', '_date', 'payinfo') {
$new_cust_pay_batch->$_($hash{$_}) if $hash{$_};
}
foreach ('paid', '_date', 'payinfo') {
$new_cust_pay_batch->$_($hash{$_}) if $hash{$_};
}
- $error = $new_cust_pay_batch->approve($hash{'paybatch'}
|| $self->batchnum
);
+ $error = $new_cust_pay_batch->approve($hash{'paybatch'});
$total += $hash{'paid'};
} elsif ( &{$declined_condition}(\%hash) ) {
$total += $hash{'paid'};
} elsif ( &{$declined_condition}(\%hash) ) {
- $error = $new_cust_pay_batch->decline;
+ $error = $new_cust_pay_batch->decline
($hash{'error_message'});
;
}
}
@@
-547,7
+561,6
@@
sub manual_approve {
my $self = shift;
my $date = time;
my %opt = @_;
my $self = shift;
my $date = time;
my %opt = @_;
- my $paybatch = $opt{'paybatch'} || $self->batchnum;
my $usernum = $opt{'usernum'} || die "manual approval requires a usernum";
my $conf = FS::Conf->new;
return 'manual batch approval disabled'
my $usernum = $opt{'usernum'} || die "manual approval requires a usernum";
my $conf = FS::Conf->new;
return 'manual batch approval disabled'
@@
-577,7
+590,9
@@
sub manual_approve {
'_date' => $date,
'usernum' => $usernum,
};
'_date' => $date,
'usernum' => $usernum,
};
- my $error = $new_cust_pay_batch->approve($paybatch);
+ my $error = $new_cust_pay_batch->approve();
+ # there are no approval options here (authorization, order_number, etc.)
+ # because the transaction wasn't really approved
if ( $error ) {
$dbh->rollback;
return 'paybatchnum '.$cust_pay_batch->paybatchnum.": $error";
if ( $error ) {
$dbh->rollback;
return 'paybatchnum '.$cust_pay_batch->paybatchnum.": $error";