employee (otaker / access_user) commissioning, RT#6991
[freeside.git] / FS / FS / part_event / Action / pkg_referral_credit_pkg.pm
index eb9b510..667c4ce 100644 (file)
@@ -1,58 +1,9 @@
 package FS::part_event::Action::pkg_referral_credit_pkg;
 
 use strict;
-use base qw( FS::part_event::Action::pkg_referral_credit );
+use base qw( FS::part_event::Action::Mixin::credit_pkg
+             FS::part_event::Action::pkg_referral_credit );
 
 sub description { 'Credit the referring customer an amount based on the referred package'; }
 
-#sub eventtable_hashref {
-#  { 'cust_pkg' => 1 };
-#}
-
-sub option_fields {
-  ( 
-    'reasonnum' => { 'label'        => 'Credit reason',
-                     'type'         => 'select-reason',
-                     'reason_class' => 'R',
-                   },
-    'percent'   => { 'label'   => 'Percent',
-                     'type'    => 'input-percentage',
-                     'default' => '100',
-                   },
-    'what' => { 'label'   => 'Of',
-                'type'    => 'select',
-                #also add some way to specify in the package def, no?
-                'options' => [ qw( base_recur_permonth ) ],
-                'labels'  => { 'base_recur_permonth' => 'Base monthly fee', },
-              },
-  );
-
-}
-
-sub _calc_referral_credit {
-  my( $self, $cust_pkg ) = @_;
-
-  my $cust_main = $self->cust_main($cust_pkg);
-
-  my $part_pkg = $cust_pkg->part_pkg;
-
-  my $what = $self->option('what');
-
-  #false laziness w/Condition/cust_payments_pkg.pm
-  if ( $what eq 'base_recur_permonth' ) { #huh.  yuck.
-    if ( $part_pkg->freq !~ /^\d+$/ ) {
-      die 'WARNING: Not crediting customer '. $cust_main->referral_custnum.
-          ' for package '. $cust_pkg->pkgnum.
-          ' ( customer '. $cust_pkg->custnum. ')'.
-          ' - Referral credits not (yet) available for '.
-          ' packages with '. $part_pkg->freq_pretty. ' frequency';
-    }
-  }
-
-  my $percent = $self->option('percent');
-
-  sprintf('%.2f', $part_pkg->$what($cust_pkg) * $percent / 100 );
-
-}
-
 1;