commissions per agent and package class, RT#18232
[freeside.git] / FS / FS / part_event / Action / Mixin / credit_agent_pkg_class.pm
1 package FS::part_event::Action::Mixin::credit_agent_pkg_class;
2 use base qw( FS::part_event::Action::Mixin::credit_pkg );
3
4 use strict;
5
6 sub option_fields {
7   my $class = shift;
8   my %option_fields = $class->SUPER::option_fields;
9   delete $option_fields{'percent'};
10   %option_fields;
11 }
12
13 sub _calc_credit_percent {
14   my( $self, $cust_pkg ) = @_;
15
16   my $agent_pkg_class = qsearchs( 'agent_pkg_class', {
17     'agentnum' => $self->cust_main($cust_pkg)->agentnum,
18     'classnum' => $cust_pkg->classnum,
19   });
20
21   $agent_pkg_class ? $agent_pkg_class->commission_percent : 0;
22
23 }
24
25 1;