diff options
author | ivan <ivan> | 2002-01-24 02:26:49 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-01-24 02:26:49 +0000 |
commit | 579b08e47d45dec6ea0729164a6e24613c02be26 (patch) | |
tree | 0ba5d96557ec5b39fb2c254e0c82218c4c0c508d /FS | |
parent | d89908c40c18df348f580852f906853184fabd3c (diff) |
fix cust_refund::insert
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cust_refund.pm | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/FS/FS/cust_refund.pm b/FS/FS/cust_refund.pm index 7b8b29f5e..6bf2da595 100644 --- a/FS/FS/cust_refund.pm +++ b/FS/FS/cust_refund.pm @@ -93,10 +93,23 @@ sub insert { local $FS::UID::AutoCommit = 0; my $dbh = dbh; + if ( $self->crednum ) { + my $cust_credit = qsearchs('cust_bill', { 'invnum' => $self->invnum } ) + or do { + $dbh->rollback if $oldAutoCommit; + return "Unknown cust_credit.crednum: ". $self->crednum; + }; + $self->custnum($cust_credit->custnum); + } + my $error = $self->check; return $error if $error; - die; + $error = $self->SUPER::insert; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return $error; + } if ( $self->crednum ) { my $cust_credit_refund = new FS::cust_credit_refund { @@ -110,14 +123,9 @@ sub insert { $dbh->rollback if $oldAutoCommit; return $error; } - $self->custnum($cust_credit_refund->cust_credit->custnum); + #$self->custnum($cust_credit_refund->cust_credit->custnum); } - $error = $self->SUPER::insert; - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return $error; - } $dbh->commit or die $dbh->errstr if $oldAutoCommit; @@ -206,7 +214,7 @@ sub check { my $error = $self->ut_number('refundnum') - || $self->ut_number('custnum') + || $self->ut_numbern('custnum') || $self->ut_money('amount') || $self->ut_numbern('_date') || $self->ut_textn('paybatch') @@ -218,8 +226,8 @@ sub check { $self->_date(time) unless $self->_date; return "unknown cust_main.custnum: ". $self->custnum - unless $self->invnum - || qsearchs( 'cust_main', { 'custnum' => $self->custnum } ); + unless $self->crednum + || qsearchs( 'cust_main', { 'custnum' => $self->custnum } ); $self->payby =~ /^(CARD|BILL|COMP)$/ or return "Illegal payby"; $self->payby($1); @@ -251,7 +259,7 @@ sub check { =head1 VERSION -$Id: cust_refund.pm,v 1.9 2002-01-22 15:57:33 ivan Exp $ +$Id: cust_refund.pm,v 1.10 2002-01-24 02:26:49 ivan Exp $ =head1 BUGS |