working textradius export
[freeside.git] / FS / FS / cust_credit.pm
index 3044af7..284d59d 100644 (file)
@@ -58,6 +58,8 @@ L<Time::Local> and L<Date::Parse> 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,7 +160,8 @@ 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;
 
@@ -237,7 +242,7 @@ sub credited {
 
 =head1 VERSION
 
-$Id: cust_credit.pm,v 1.14 2002-01-24 16:58:47 ivan Exp $
+$Id: cust_credit.pm,v 1.16 2002-06-04 14:35:52 ivan Exp $
 
 =head1 BUGS