X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_bill_pay.pm;h=c8b5525eabb1fa5d83e6299a6d3892523d6878db;hp=2b01051390cef4d6c6c0257f38e2dfb2daa00b85;hb=243b248a929e99a9cc64e16f29e4a49afeb87a3c;hpb=29a315f2dc4187e5558315f76c3d27d11e287620 diff --git a/FS/FS/cust_bill_pay.pm b/FS/FS/cust_bill_pay.pm index 2b0105139..c8b5525ea 100644 --- a/FS/FS/cust_bill_pay.pm +++ b/FS/FS/cust_bill_pay.pm @@ -1,13 +1,18 @@ package FS::cust_bill_pay; use strict; -use vars qw( @ISA ); +use vars qw( @ISA $conf ); use FS::Record qw( qsearch qsearchs dbh ); use FS::cust_bill; use FS::cust_pay; @ISA = qw( FS::Record ); +#ask FS::UID to run this stuff for us later +FS::UID->install_callback( sub { + $conf = new FS::Conf; +} ); + =head1 NAME FS::cust_bill_pay - Object methods for cust_bill_pay records @@ -101,7 +106,8 @@ sub insert { " greater than cust_pay.paid ". $cust_pay->paid; } - my $cust_bill = qsearchs('cust_bill', { 'invnum' => $self->invnum } ) or do { + my $cust_bill = $self->cust_bill; + unless ( $cust_bill ) { $dbh->rollback if $oldAutoCommit; return "unknown cust_bill.invnum: ". $self->invnum; }; @@ -120,17 +126,26 @@ sub insert { $dbh->commit or die $dbh->errstr if $oldAutoCommit; + if ( $conf->exists('invoice_send_receipts') ) { + my $send_error = $cust_bill->send; + warn "Error sending receipt: $send_error\n" if $send_error; + } + ''; } =item delete -Currently unimplemented (accounting reasons). +Deletes this payment application, unless the closed flag for the parent payment +(see L) is set. =cut sub delete { - return "Can't (yet?) delete cust_bill_pay records!"; + my $self = shift; + return "Can't delete application for closed payment" + if $self->cust_pay->closed =~ /^Y/i; + $self->SUPER::delete(@_); } =item replace OLD_RECORD @@ -162,11 +177,11 @@ sub check { ; return $error if $error; - return "amount must be > 0" if $self->amount == 0; + return "amount must be > 0" if $self->amount <= 0; $self->_date(time) unless $self->_date; - ''; #no error + $self->SUPER::check; } =item cust_pay @@ -193,10 +208,6 @@ sub cust_bill { =back -=head1 VERSION - -$Id: cust_bill_pay.pm,v 1.10 2001-12-21 20:55:35 ivan Exp $ - =head1 BUGS Delete and replace methods.