ce9744a55837c066fbb0de1a3e121c87b51b993f
[freeside.git] / FS / FS / UI / agent.pm
1 package FS::UI::agent;
2
3 use strict;
4 use vars qw ( @ISA );
5 use FS::UI::Base;
6 use FS::Record qw( qsearchs );
7 use FS::agent;
8 use FS::agent_type;
9
10 @ISA = qw ( FS::UI::Base );
11
12 sub db_table { 'agent' };
13
14 sub db_name { 'Agent' };
15
16 sub db_description { <<END;
17 Agents are resellers of your service. Agents may be limited to a subset of your
18 full offerings (via their type).
19 END
20 }
21
22 sub list_fields {
23   'agentnum',
24   'typenum',
25 #  'freq',
26 #  'prog',
27 ; }
28
29 sub list_header {
30   'Agent',
31   'Type',
32 #  'Freq (n/a)',
33 #  'Prog (n/a)',
34 ; }
35
36 sub db_callback { 
37   'agentnum' =>
38     sub {
39       my ( $agentnum, $record ) = @_;
40       my $agent = $record->agent;
41       new FS::UI::_Link (
42         'table'  => 'agent',
43         'method' => 'edit',
44         'arg'    => [ $agentnum ],
45         'text'   => "$agentnum: $agent",
46       );
47     },
48   'typenum' =>
49     sub {
50       my $typenum = shift;
51       my $agent_type = qsearchs( 'agent_type', { 'typenum' => $typenum } );
52       my $atype = $agent_type->atype;
53       new FS::UI::_Link (
54         'table'  => 'agent_type',
55         'method' => 'edit',
56         'arg'    => [ $typenum ],
57         'text'   => "$typenum: $atype"
58       );
59     },
60 }
61
62 1;