summaryrefslogtreecommitdiff
path: root/FS/FS/cust_pay_void.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-02-27 17:06:41 -0800
committerMark Wells <mark@freeside.biz>2014-02-27 17:06:41 -0800
commitbeff2bed3d06a91072427a15efef08b24c7cc8df (patch)
tree766f67c17b70af25083bbebdfc9ea549d8ce5247 /FS/FS/cust_pay_void.pm
parent07644a5463751fdaeb0dcd9cc3caf2d19eb877df (diff)
fix payment voiding, fallout from #13971
Diffstat (limited to 'FS/FS/cust_pay_void.pm')
-rw-r--r--FS/FS/cust_pay_void.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/FS/FS/cust_pay_void.pm b/FS/FS/cust_pay_void.pm
index 55b6c67..b2f777b 100644
--- a/FS/FS/cust_pay_void.pm
+++ b/FS/FS/cust_pay_void.pm
@@ -133,12 +133,16 @@ sub unvoid {
map { $_ => $self->get($_) } fields('cust_pay')
} );
my $error = $cust_pay->insert;
- if ( $error ) {
- $dbh->rollback if $oldAutoCommit;
- return $error;
+
+ my $cust_pay_pending =
+ qsearchs('cust_pay_pending', { void_paynum => $self->paynum });
+ if ( $cust_pay_pending ) {
+ $cust_pay_pending->set('paynum', $cust_pay->paynum);
+ $cust_pay_pending->set('void_paynum', '');
+ $error ||= $cust_pay_pending->replace;
}
- $error = $self->delete;
+ $error ||= $self->delete;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;