X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_pay_refund.pm;h=28f757d6660c3649be9fc5e55b09751fad1f05f1;hb=09af85fc0e7a48392c930c9672a99448cf9630d4;hp=15e0e533ac0ef3570b250ecf5036e48ffc33929c;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git diff --git a/FS/FS/cust_pay_refund.pm b/FS/FS/cust_pay_refund.pm index 15e0e533a..28f757d66 100644 --- a/FS/FS/cust_pay_refund.pm +++ b/FS/FS/cust_pay_refund.pm @@ -1,14 +1,9 @@ package FS::cust_pay_refund; +use base qw(FS::Record); use strict; -use vars qw( @ISA ); #$conf ); -use FS::UID qw( getotaker ); use FS::Record qw( qsearchs ); # qsearch ); use FS::cust_main; -use FS::cust_pay; -use FS::cust_refund; - -@ISA = qw( FS::Record ); #ask FS::UID to run this stuff for us later #FS::UID->install_callback( sub { @@ -73,15 +68,26 @@ sub table { 'cust_pay_refund'; } Adds this cust_pay_refund to the database. If there is an error, returns the error, otherwise returns false. +=cut + +sub insert { + my $self = shift; + return "Can't apply refund to closed payment" + if $self->cust_pay->closed =~ /^Y/i; + return "Can't apply payment to closed refund" + if $self->cust_refund->closed =~ /^Y/i; + $self->SUPER::insert(@_); +} + =item delete =cut sub delete { my $self = shift; - return "Can't apply refund to closed payment" + return "Can't remove refund from closed payment" if $self->cust_pay->closed =~ /^Y/i; - return "Can't apply closed refund" + return "Can't remove payment from closed refund" if $self->cust_refund->closed =~ /^Y/i; $self->SUPER::delete(@_); } @@ -142,24 +148,10 @@ sub check { Returns the payment (see L) -=cut - -sub cust_pay { - my $self = shift; - qsearchs( 'cust_pay', { 'paynum' => $self->paynum } ); -} - =item cust_refund Returns the refund (see L) -=cut - -sub cust_refund { - my $self = shift; - qsearchs( 'cust_refund', { 'refundnum' => $self->refundnum } ); -} - =back =head1 BUGS