=item paybatch - text field for tracking card processing
+=item closed - books closed flag, empty or `Y'
+
=back
=head1 METHODS
'_date' => $self->_date,
};
$error = $cust_bill_pay->insert;
- if ( $error ) {
+ if ( $error =~
+ /total cust_bill_pay.amount and cust_credit_bill.amount .* for invnum .* greater than cust_bill.charged/ ) {
+ #warn $error;
+ my $cust_bill = qsearchs( 'cust_bill', { 'invnum' => $self->invnum } );
+ $new->custnum($cust_bill->custnum);
+ } elsif ( $error ) {
$dbh->rollback if $oldAutoCommit;
return $error;
+ } else {
+ $new->custnum($cust_bill_pay->cust_bill->custnum);
}
- $new->custnum($cust_bill_pay->cust_bill->custnum);
} else {
die;
}
=cut
sub delete {
- return "Can't (yet?) delete cust_pay records!";
+ my $self = shift;
+ return "Can't delete closed payment" if $self->closed =~ /^Y/i;
+ $self->SUPER::delete(@_);
}
=item replace OLD_RECORD
|| $self->ut_money('paid')
|| $self->ut_numbern('_date')
|| $self->ut_textn('paybatch')
+ || $self->ut_enum('closed', [ '', 'Y' ])
;
return $error if $error;
- return "paid must be > 0 " if $self->paid == 0;
+ return "paid must be > 0 " if $self->paid <= 0;
return "unknown cust_main.custnum: ". $self->custnum
unless $self->invnum
=head1 VERSION
-$Id: cust_pay.pm,v 1.12 2002-01-24 11:52:02 ivan Exp $
+$Id: cust_pay.pm,v 1.15 2002-01-29 16:33:15 ivan Exp $
=head1 BUGS