diff options
author | Mark Wells <mark@freeside.biz> | 2014-02-27 17:06:41 -0800 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2014-02-27 17:06:41 -0800 |
commit | beff2bed3d06a91072427a15efef08b24c7cc8df (patch) | |
tree | 766f67c17b70af25083bbebdfc9ea549d8ce5247 /FS/FS/cust_pay_void.pm | |
parent | 07644a5463751fdaeb0dcd9cc3caf2d19eb877df (diff) |
fix payment voiding, fallout from #13971
Diffstat (limited to 'FS/FS/cust_pay_void.pm')
-rw-r--r-- | FS/FS/cust_pay_void.pm | 12 |
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; |