projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
suspend event option to skip packages with a start_date, RT#83847
[freeside.git]
/
FS
/
FS
/
part_event
/
Action
/
pkg_agent_credit.pm
diff --git
a/FS/FS/part_event/Action/pkg_agent_credit.pm
b/FS/FS/part_event/Action/pkg_agent_credit.pm
index
2502738
..
35cf07e
100644
(file)
--- a/
FS/FS/part_event/Action/pkg_agent_credit.pm
+++ b/
FS/FS/part_event/Action/pkg_agent_credit.pm
@@
-1,13
+1,14
@@
package FS::part_event::Action::pkg_agent_credit;
use strict;
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'; }
#a little false laziness w/pkg_referral_credit
sub do_action {
sub description { 'Credit the agent a specific amount'; }
#a little false laziness w/pkg_referral_credit
sub do_action {
- my( $self, $cust_pkg ) = @_;
+ my( $self, $cust_pkg
, $cust_event
) = @_;
my $cust_main = $self->cust_main($cust_pkg);
my $cust_main = $self->cust_main($cust_pkg);
@@
-18,16
+19,20
@@
sub do_action {
my $agent_cust_main = $agent->agent_cust_main;
#? or return "No customer record for agent ". $agent->agent;
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,
my $reasonnum = $self->option('reasonnum');
my $error = $agent_cust_main->credit(
$amount,
\$reasonnum,
- 'addlinfo' =>
- 'for customer #'. $cust_main->display_custnum. ': '.$cust_main->name,
+ '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"
);
die "Error crediting customer ". $agent_cust_main->custnum.
" for agent commission: $error"