delete fees, RT#81713
[freeside.git] / FS / FS / quotation_pkg_discount.pm
index 633308c..1815294 100644 (file)
@@ -1,5 +1,6 @@
 package FS::quotation_pkg_discount;
 package FS::quotation_pkg_discount;
-use base qw( FS::Record );
+
+use base qw( FS::pkg_discount_Mixin FS::Record );
 use FS::Maketext 'mt'; # XXX not really correct
 
 use strict;
 use FS::Maketext 'mt'; # XXX not really correct
 
 use strict;
@@ -44,14 +45,14 @@ for.
 
 discountnum (L<FS::discount>)
 
 
 discountnum (L<FS::discount>)
 
-=item setup_amount
+=item setuprecur
 
 
-Amount that will be discounted from setup fees, per package quantity.
+Whether this is a setup or recur discount.
 
 
-=item recur_amount
+=item amount
 
 
-Amount that will be discounted from recurring fees in the first billing
-cycle, per package quantity.
+Amount that will be discounted from either setup or recur fees, per package 
+quantity.
 
 =back
 
 
 =back
 
@@ -78,27 +79,15 @@ sub table { 'quotation_pkg_discount'; }
 Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 
 Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 
-=cut
-
-# the insert method can be inherited from FS::Record
-
 =item delete
 
 Delete this record from the database.
 
 =item delete
 
 Delete this record from the database.
 
-=cut
-
-# the delete method can be inherited from FS::Record
-
 =item replace OLD_RECORD
 
 Replaces the OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 
 =item replace OLD_RECORD
 
 Replaces the OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 
-=cut
-
-# the replace method can be inherited from FS::Record
-
 =item check
 
 Checks all fields to make sure this is a valid quotation package discount.
 =item check
 
 Checks all fields to make sure this is a valid quotation package discount.
@@ -117,8 +106,8 @@ sub check {
     $self->ut_numbern('quotationpkgdiscountnum')
     || $self->ut_foreign_key('quotationpkgnum', 'quotation_pkg', 'quotationpkgnum' )
     || $self->ut_foreign_key('discountnum', 'discount', 'discountnum' )
     $self->ut_numbern('quotationpkgdiscountnum')
     || $self->ut_foreign_key('quotationpkgnum', 'quotation_pkg', 'quotationpkgnum' )
     || $self->ut_foreign_key('discountnum', 'discount', 'discountnum' )
-    || $self->ut_moneyn('setup_amount')
-    || $self->ut_moneyn('recur_amount')
+    || $self->ut_enum('setuprecur', ['setup', 'recur'])
+    || $self->ut_moneyn('amount')
   ;
   return $error if $error;
 
   ;
   return $error if $error;
 
@@ -127,18 +116,6 @@ sub check {
 
 =back
 
 
 =back
 
-=item amount
-
-Returns the total amount of this discount (setup + recur), for compatibility
-with L<FS::cust_bill_pkg_discount>.
-
-=cut
-
-sub amount {
-  my $self = shift;
-  return $self->get('setup_amount') + $self->get('recur_amount');
-}
-
 =item description
 
 Returns a string describing the discount (for use on the quotation).
 =item description
 
 Returns a string describing the discount (for use on the quotation).