add option to credit customer sales person if there is no package sales person to...
[freeside.git] / FS / FS / part_event / Action / pkg_sales_credit.pm
index caa25cc..e7551cd 100644 (file)
@@ -1,7 +1,8 @@
 package FS::part_event::Action::pkg_sales_credit;
+use base qw( FS::part_event::Action::Mixin::pkg_sales_credit
+             FS::part_event::Action::pkg_referral_credit );
 
 use strict;
-use base qw( FS::part_event::Action::pkg_referral_credit );
 
 sub description { 'Credit the sales person a specific amount'; }
 
@@ -12,7 +13,12 @@ sub do_action {
   my $cust_main = $self->cust_main($cust_pkg);
 
   my $sales = $cust_pkg->sales;
-  return "No customer record for sales person ". $sales->salesperson
+  $sales ||= $self->cust_main($cust_pkg)->sales
+    if $self->option('cust_main_sales');
+
+  return '' unless $sales; #no sales person, no credit
+
+  die "No customer record for sales person ". $sales->salesperson
     unless $sales->sales_custnum;
 
   my $sales_cust_main = $sales->sales_cust_main;