eliminate some false laziness in FS::Misc::send_email vs. msg_template/email.pm send_...
[freeside.git] / FS / FS / agent_pkg_class.pm
index 1683c1a..2a2f5db 100644 (file)
@@ -1,8 +1,10 @@
 package FS::agent_pkg_class;
+use base qw( FS::Commission_Mixin FS::Record );
 
 use strict;
-use base qw( FS::Record );
-use FS::Record qw( qsearch qsearchs );
+#use FS::Record qw( qsearch qsearchs );
+use FS::agent;
+use FS::pkg_class;
 
 =head1 NAME
 
@@ -25,7 +27,7 @@ FS::agent_pkg_class - Object methods for agent_pkg_class records
 
 =head1 DESCRIPTION
 
-An FS::agent_pkg_class object represents an commission for a specific agent
+An FS::agent_pkg_class object represents a commission for a specific agent
 and package class.  FS::agent_pkg_class inherits from FS::Record.  The
 following fields are currently supported:
 
@@ -103,13 +105,31 @@ sub check {
   $self->SUPER::check;
 }
 
+sub cust_credit_search {
+  my $self = shift;
+  my $agent = $self->agent;
+  $agent->cust_credit_search(@_, commission_classnum => $self->classnum);
+}
+
+sub cust_bill_pkg_search {
+  my $self = shift;
+  my $agent = $self->agent;
+  $agent->cust_bill_pkg_search(@_, classnum => $self->classnum);
+}
+
+sub classname {
+  my $self = shift;
+  my $pkg_class = $self->pkg_class;
+  $pkg_class ? $pkg_class->classname : '(no package class)';
+}
+
 =back
 
 =head1 BUGS
 
 =head1 SEE ALSO
 
-L<FS::Record>, schema.html from the base documentation.
+L<FS::agent>, L<FS::pkg_class>, L<FS::Record>.
 
 =cut