X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction%2Fpkg_agent_credit.pm;h=35cf07ea22fb5d899eebfe413bdc5e4a40dc7b74;hb=72e4046329988c9a99b4aefc4e69b678f1e29fcb;hp=e1c77be075e9d544bc43dde82dfaeea9e864d84e;hpb=3185fe4edea62dd3fa9818cf80902e96fe2a2d21;p=freeside.git diff --git a/FS/FS/part_event/Action/pkg_agent_credit.pm b/FS/FS/part_event/Action/pkg_agent_credit.pm index e1c77be07..35cf07ea2 100644 --- a/FS/FS/part_event/Action/pkg_agent_credit.pm +++ b/FS/FS/part_event/Action/pkg_agent_credit.pm @@ -1,7 +1,8 @@ package FS::part_event::Action::pkg_agent_credit; use strict; -use base qw( FS::part_event::Action::pkg_referral_credit ); +use base qw( FS::part_event::Action::Mixin::credit_flat + FS::part_event::Action ); sub description { 'Credit the agent a specific amount'; } @@ -18,18 +19,20 @@ sub do_action { my $agent_cust_main = $agent->agent_cust_main; #? or return "No customer record for agent ". $agent->agent; - my $amount = $self->_calc_credit($cust_pkg); - return '' unless $amount > 0; + my $warning = ''; + my $amount = $self->_calc_credit($cust_pkg, $agent, \$warning); + return $warning unless $amount > 0; my $reasonnum = $self->option('reasonnum'); my $error = $agent_cust_main->credit( $amount, \$reasonnum, - 'eventnum' => $cust_event->eventnum, - 'addlinfo' => 'for customer #'. $cust_main->display_custnum. - ': '.$cust_main->name, - #'commission_agentnum' => $agent->agentnum, + 'eventnum' => $cust_event->eventnum, + 'addlinfo' => 'for customer #'. $cust_main->display_custnum. + ': '.$cust_main->name, + 'commission_agentnum' => $agent->agentnum, + 'commission_pkgnum' => $cust_pkg->pkgnum, ); die "Error crediting customer ". $agent_cust_main->custnum. " for agent commission: $error"