X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2Fcust_credit.pm;h=284d59de23e5049456fdcc9e9c781f886ea6bc55;hb=d5ae9f38bdea9e3de50f76aa8caf06956b4fb706;hp=54c201ad415c2efb7927754f3864f32683a7457a;hpb=4bbf90e800406ff75a5fed09ba5cd71293cda542;p=freeside.git diff --git a/FS/FS/cust_credit.pm b/FS/FS/cust_credit.pm index 54c201ad4..284d59de2 100644 --- a/FS/FS/cust_credit.pm +++ b/FS/FS/cust_credit.pm @@ -58,6 +58,8 @@ L and L for conversion functions. =item reason - text +=item closed - books closed flag, empty or `Y' + =back =head1 METHODS @@ -102,8 +104,6 @@ sub insert { return "error inserting $self: $error"; } - $dbh->commit or die $dbh->errstr if $oldAutoCommit; - #false laziness w/ cust_credit::insert if ( $unsuspendauto && $old_balance && $cust_main->balance <= 0 ) { my @errors = $cust_main->unsuspend; @@ -115,6 +115,8 @@ sub insert { } #eslaf + $dbh->commit or die $dbh->errstr if $oldAutoCommit; + ''; } @@ -126,7 +128,9 @@ Currently unimplemented. =cut sub delete { - return "Can't remove credit!" + my $self = shift; + return "Can't delete closed credit" if $self->closed =~ /^Y/i; + $self->SUPER::delete(@_); } =item replace OLD_RECORD @@ -156,10 +160,13 @@ sub check { || $self->ut_number('custnum') || $self->ut_numbern('_date') || $self->ut_money('amount') - || $self->ut_textn('reason'); + || $self->ut_textn('reason') + || $self->ut_enum('closed', [ '', 'Y' ]) ; return $error if $error; + return "amount must be > 0 " if $self->amount <= 0; + return "Unknown customer" unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } ); @@ -235,7 +242,7 @@ sub credited { =head1 VERSION -$Id: cust_credit.pm,v 1.12 2001-10-09 23:10:16 ivan Exp $ +$Id: cust_credit.pm,v 1.16 2002-06-04 14:35:52 ivan Exp $ =head1 BUGS