communigate provisioning phase 2: add svc_domain.trailer -> communigate TrailerText...
[freeside.git] / FS / FS / cust_pay_refund.pm
index 55a5eb7..cb9dbce 100644 (file)
@@ -77,10 +77,11 @@ error, otherwise returns false.
 
 sub insert {
   my $self = shift;
-  my $error = $self->SUPER::insert(@_);
-  return $error if $error;
-
-  '';
+  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
@@ -89,9 +90,9 @@ sub insert {
 
 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(@_);
 }
@@ -148,26 +149,26 @@ sub check {
   $self->SUPER::check;
 }
 
-=item sub cust_credit
+=item sub cust_pay
 
-Returns the credit (see L<FS::cust_credit>)
+Returns the payment (see L<FS::cust_pay>)
 
 =cut
 
-sub cust_credit {
+sub cust_pay {
   my $self = shift;
-  qsearchs( 'cust_credit', { 'crednum' => $self->crednum } );
+  qsearchs( 'cust_pay', { 'paynum' => $self->paynum } );
 }
 
-=item cust_bill 
+=item cust_refund
 
-Returns the invoice (see L<FS::cust_bill>)
+Returns the refund (see L<FS::cust_refund>)
 
 =cut
 
-sub cust_bill {
+sub cust_refund {
   my $self = shift;
-  qsearchs( 'cust_bill', { 'invnum' => $self->invnum } );
+  qsearchs( 'cust_refund', { 'refundnum' => $self->refundnum } );
 }
 
 =back