summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/Agent_Mixin.pm42
-rw-r--r--httemplate/browse/sales.html32
-rw-r--r--httemplate/edit/process/sales.html12
-rwxr-xr-xhttemplate/edit/sales.html21
4 files changed, 107 insertions, 0 deletions
diff --git a/FS/FS/Agent_Mixin.pm b/FS/FS/Agent_Mixin.pm
new file mode 100644
index 000000000..0f84ba96a
--- /dev/null
+++ b/FS/FS/Agent_Mixin.pm
@@ -0,0 +1,42 @@
+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;
+
diff --git a/httemplate/browse/sales.html b/httemplate/browse/sales.html
new file mode 100644
index 000000000..1cdc49085
--- /dev/null
+++ b/httemplate/browse/sales.html
@@ -0,0 +1,32 @@
+<& 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>
diff --git a/httemplate/edit/process/sales.html b/httemplate/edit/process/sales.html
new file mode 100644
index 000000000..b60276dcb
--- /dev/null
+++ b/httemplate/edit/process/sales.html
@@ -0,0 +1,12 @@
+<& 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>
+
diff --git a/httemplate/edit/sales.html b/httemplate/edit/sales.html
new file mode 100755
index 000000000..65cddfc13
--- /dev/null
+++ b/httemplate/edit/sales.html
@@ -0,0 +1,21 @@
+<& 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>