From 251d07aa41b6830a0a2f2a51c14fa94586d843c2 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Mon, 16 Feb 2015 13:53:20 -0600 Subject: RT#27710: Credit voiding --- FS/FS/cust_credit.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'FS/FS/cust_credit.pm') diff --git a/FS/FS/cust_credit.pm b/FS/FS/cust_credit.pm index deebe2764..76fdecbdf 100644 --- a/FS/FS/cust_credit.pm +++ b/FS/FS/cust_credit.pm @@ -382,13 +382,18 @@ adds a record of the voided credit to the cust_credit_void table. =cut -# yes, false laziness with cust_pay and cust_bill -# but frankly I don't have time to fix it now - sub void { my $self = shift; my $reason = shift; + unless (ref($reason) || !$reason) { + $reason = FS::reason->new_or_existing( + 'class' => 'X', + 'type' => 'Void credit', + 'reason' => $reason + ); + } + local $SIG{HUP} = 'IGNORE'; local $SIG{INT} = 'IGNORE'; local $SIG{QUIT} = 'IGNORE'; @@ -403,7 +408,7 @@ sub void { my $cust_credit_void = new FS::cust_credit_void ( { map { $_ => $self->get($_) } $self->fields } ); - $cust_credit_void->set('void_reason', $reason); + $cust_credit_void->set('void_reasonnum', $reason->reasonnum); my $error = $cust_credit_void->insert; if ( $error ) { $dbh->rollback if $oldAutoCommit; -- cgit v1.2.1