--- /dev/null
+package FS::Agent_Mixin;
+
+use strict;
+use FS::Record qw( qsearchs );
+use FS::agent;
+
+=head1 NAME
+
+FS::Agent_Mixin - Mixin class for objects that have an agent.
+
+=over 4
+
+=item agent
+
+Returns the agent (see L<FS::agent>) for this object.
+
+=cut
+
+sub agent {
+ my $self = shift;
+ qsearchs( 'agent', { 'agentnum' => $self->agentnum } );
+}
+
+=item agent_name
+
+Returns the agent name (see L<FS::agent>) for this object.
+
+=cut
+
+sub agent_name {
+ my $self = shift;
+ $self->agent->agent;
+}
+
+=back
+
+=head1 BUGS
+
+=cut
+
+1;
+
--- /dev/null
+<& elements/browse.html,
+ 'title' => 'Sales People',
+ 'name_singular' => 'sales person',
+ 'menubar' => ['Add a new sales person' => $p.'edit/sales.html'],
+ 'query' => { 'table' => 'sales' },
+ 'count_query' => 'SELECT COUNT(*) FROM sales',
+ 'header' => \@header,
+ 'fields' => \@fields,
+ 'links' => \@links,
+ 'disableable' => 1,
+ 'disabled_statuspos' => 1,
+ 'agent_virt' => 1,
+&>
+<%init>
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+
+die "access denied" unless $curuser->access_right('Edit sales people');
+
+my @header = ( 'Sales person' );
+my @fields = ( 'salesperson' );
+my @links = ( [$p.'edit/sales.html?', 'salesnum'] );
+
+if ( $curuser->access_right('Configuration') ) {
+ push @header, 'Agent';
+ push @fields, 'agent_name';
+ push @links, [ $p.'edit/agent.cgi?', 'agentnum' ];
+}
+
+#Sales people bring in business.<BR><BR>
+
+</%init>
--- /dev/null
+<& elements/process.html,
+ 'table' => 'sales',
+ 'viewall_dir' => 'browse',
+ 'agent_virt' => 1,
+&>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Edit sales people');
+
+</%init>
+
--- /dev/null
+<& elements/edit.html,
+ 'name_singular' => 'sales person',
+ 'table' => 'sales',
+ 'fields' => [ 'salesperson',
+ { field=>'agentnum', type=>'select-agent', disable_empty=>1, },
+ { field=>'disabled', type=>'checkbox', value=>'Y', },
+ ],
+ 'labels' => { 'salesnum' => 'Sales Person',
+ 'salesperson' => 'Name',
+ 'agentnum' => 'Agent',
+ 'disabled' => 'Disabled',
+ },
+ 'viewall_dir' => 'browse',
+ 'agent_virt' => 1,
+&>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Edit sales people');
+
+</%init>