X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_credit_refund.pm;h=9fc03f2d3d72799635be0abfaeaa4c743ce990c4;hp=36c77aa59b60a2791961484374c01dc35719facd;hb=74e058c8a010ef6feb539248a550d0bb169c1e94;hpb=f7fd2a3e34da751cbc02bbf215e99c6dc89adc15 diff --git a/FS/FS/cust_credit_refund.pm b/FS/FS/cust_credit_refund.pm index 36c77aa59..9fc03f2d3 100644 --- a/FS/FS/cust_credit_refund.pm +++ b/FS/FS/cust_credit_refund.pm @@ -3,11 +3,11 @@ package FS::cust_credit_refund; use strict; use vars qw( @ISA ); use FS::Record qw( qsearch qsearchs dbh ); -#use FS::UID qw(getotaker); +use FS::cust_main_Mixin; use FS::cust_credit; use FS::cust_refund; -@ISA = qw( FS::Record ); +@ISA = qw( FS::cust_main_Mixin FS::Record ); =head1 NAME @@ -70,20 +70,27 @@ otherwise returns false. sub insert { my $self = shift; - my $error = $self->SUPER::insert; - return $error if $error; - - ''; + return "Can't apply refund to closed credit" + if $self->cust_credit->closed =~ /^Y/i; + return "Can't apply credit to closed refund" + if $self->cust_refund->closed =~ /^Y/i; + $self->SUPER::insert(@_); } =item delete -Currently unimplemented (accounting reasons). +Remove this cust_credit_refund from the database. If there is an error, +returns the error, otherwise returns false. =cut sub delete { - return "Can't (yet?) delete cust_credit_refund records!"; + my $self = shift; + return "Can't remove refund from closed credit" + if $self->cust_credit->closed =~ /^Y/i; + return "Can't remove credit from closed refund" + if $self->cust_refund->closed =~ /^Y/i; + $self->SUPER::delete(@_); } =item replace OLD_RECORD