X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fbrowse%2Fagent.cgi;h=3fe68c15d582fd959f1ed49a4e0958f6d8916afc;hp=001e6ba5051aa2b216e4bd9d242bc37d7cb22020;hb=85291fb4046b876aa1f33ae3e1a57823c30a446e;hpb=3ce7691203a7737406bf2d4442f7fd84b81f847e diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index 001e6ba50..3fe68c15d 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -1,19 +1,4 @@ -% -% -% my %search; -% if ( $cgi->param('showdisabled') -% || !dbdef->table('agent')->column('disabled') ) { -% %search = (); -% } else { -% %search = ( 'disabled' => '' ); -% } -% -% my $conf = new FS::Conf; -% -% - <% include("/elements/header.html",'Agent Listing', menubar( - 'Main Menu' => $p, 'Agent Types' => $p. 'browse/agent_type.cgi', # 'Add new agent' => '../edit/agent.cgi' )) %> @@ -35,30 +20,34 @@ full offerings (via their type).

% my $bgcolor1 = '#eeeeee'; % my $bgcolor2 = '#ffffff'; % my $bgcolor = ''; -% - param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent Type + Master Customer + Commissions + Access Groups + Invoice
Template
Customers Customer
packages
Reports - Registration codes + Registration
codes
Prepaid cards -% if ( $conf->config('ticket_system') ) { +% if ( $conf->config('ticket_system') ) { Ticketing % } +% if ( $conf->config('currencies') ) { + Currencies +% } + Payment Gateway Overrides - Freq. - Prog. + Configuration Overrides -% + %# Agent # %# Agent -% %foreach my $agent ( sort { % #$a->getfield('agentnum') <=> $b->getfield('agentnum') % $a->getfield('agent') cmp $b->getfield('agent') @@ -74,224 +63,219 @@ full offerings (via their type).

% } else { % $bgcolor = $bgcolor1; % } -% -% - - - <% $agent->agentnum %> -% if ( dbdef->table('agent')->column('disabled') -% && !$cgi->param('showdisabled') ) { - <% $agent->disabled ? 'DISABLED' : '' %> -% } +% ## +% # agentnum +% ## + + <% $agent->agentnum %> + + +% ## +% # disabled +% ## +% if ( ! $cgi->param('showdisabled') ) { + + <% $agent->disabled ? 'DISABLED' + : 'Active' + %> + +% } +% ## +% # agent +% ## + + <% $agent->agent %> + - - <% $agent->agent %> - <% $agent->agent_type->atype %> +% ## +% # type +% ## + + <% $agent->agent_type->atype %> + +% ## +% # master customer +% ## - +% if ( $agent->agent_custnum ) { + <& /elements/small_custview.html, + $agent->agent_custnum, + scalar($conf->config('countrydefault')), + 1, #show balance + $p.'view/cust_main.cgi', + &> +% } + - - +% ## +% # commissions +% ## - - + - - -% } -active -% if ( $num_active ) { - -% } +% ## +% # invoice template +% ## + - - +% ## +% # customers +% ## - - + +% ## +% # customer packages +% ## + +% ## +% # reports +% ## +% ## +% # registration codes +% ## + +% ## +% # prepaid cards +% ## + -% if ( $conf->config('ticket_system') ) { - +% ## +% # ticketing +% ## +% if ( $conf->config('ticket_system') ) { % } +% ## +% # currencies +% ## +% if ( $conf->config('currencies') ) { + % } +% ## +% # payment gateway overrides +% ## -
- - <% my $num_prospect = $agent->num_prospect_cust_main %>  - - -% if ( $num_prospect ) { + - -% } -prospects -% if ($num_prospect ) { - -% } + - +% #surprising amount of false laziness w/ edit/process/agent.cgi +% my @pkg_class = qsearch('pkg_class', { 'disabled'=>'' }); +% foreach my $pkg_class ( '', @pkg_class ) { +% my %agent_pkg_class = ( 'agentnum' => $agent->agentnum, +% 'classnum' => $pkg_class ? $pkg_class->classnum : '' +% ); +% my $agent_pkg_class = +% qsearchs( 'agent_pkg_class', \%agent_pkg_class ) +% || new FS::agent_pkg_class \%agent_pkg_class; +% my $param = 'classnum'. $agent_pkg_class{classnum}; - - - - + + + - -% } -inactive -% if ( $num_inactive ) { - -% } +% } - - +
-
- - <% my $num_inactive = $agent->num_inactive_cust_main %>  - - -% if ( $num_inactive ) { +
<% $agent_pkg_class->commission_percent || 0 %>%<% $pkg_class ? $pkg_class->classname : mt('(no package class)') |h %> +
-
- - <% my $num_active = $agent->num_active_cust_main %>  - - -% if ( $num_active ) { +% ## +% # access groups +% ## + +% foreach my $access_group ( +% map $_->access_group, +% qsearch('access_groupagent', { 'agentnum' => $agent->agentnum }) +% ) { + <% $access_group->groupname |h %>
+% } +
+ <% $agent->invoice_template || '(Default)' %> +
- - <% my $num_susp = $agent->num_susp_cust_main %>  - - + - +% my $num = 0; +% unless ( $disable_counts ) { + +% } + - - - - - +% } +
-% if ( $num_susp ) { +% my @cust_status = +% qw( prospect inactive ordered active suspended cancelled ); +% my %method = ( 'suspended' => 'susp', +% 'cancelled' => 'cancel' +% ); +% my %PL = ( 'prospect' => 'prospects', ); +% my %link = ( 'cancelled' => 'showcancelledcustomers=1&cancelled' ); +% my $statuscolor = FS::cust_main->statuscolors; +% +% foreach my $status ( @cust_status ) { +% my $meth = exists($method{$status}) ? $method{$status} : $status; +% $meth = 'num_'. $meth. '_cust_main'; +% my $link = exists($link{$status}) ? $link{$status} : $status; - +
+ + <% $num = $agent->$meth() %>  + + +% if ( $num || $disable_counts ) { +% + + "> % } -suspended -% if ( $num_susp ) { +<% exists($PL{$status}) ? $PL{$status} : $status %> +% if ($num || $disable_counts ) { % } -
- - <% my $num_cancel = $agent->num_cancel_cust_main %>  - - -% if ( $num_cancel ) { - - -% } -cancelled -% if ( $num_cancel ) { - -% } - -
- - - - - - - - - - - +% #my @pkg_status = FS::cust_pkg->statuses; +% my @pkg_status = ( 'on hold', 'one-time charge', 'not yet billed', +% qw( active suspended cancelled ) ); +% my %method = ( 'one-time charge' => 'inactive', +% 'suspended' => 'susp', +% 'cancelled' => 'cancel', +% ); +% my $statuscolor = FS::cust_pkg->statuscolors; +% +% foreach my $status ( @pkg_status ) { +% my $magic = exists($method{$status}) ? $method{$status} : $status; +% $magic =~ s/ /_/g; +% my $meth = 'num_'. $magic. '_cust_pkg'; +% ( my $label = $status ) =~ s/ / /g; - - +% my $num = 0; +% unless ( $disable_counts ) { + +% } - - - - - - - +% }
- - <% my $num_inactive_pkg = $agent->num_inactive_cust_pkg %>  - - -% if ( $num_inactive_pkg ) { - - -% } -inactive -% if ( $num_inactive_pkg ) { - -% } - -
- - <% my $num_active_pkg = $agent->num_active_cust_pkg %>  - - -% if ( $num_active_pkg ) { - - -% } -active -% if ( $num_active_pkg ) { - -% } - -
- - <% my $num_susp_pkg = $agent->num_susp_cust_pkg %>  - +
+ + <% $num = $agent->$meth() %>  + + -% if ( $num_susp_pkg ) { +% if ( $num || $disable_counts ) { - + % } -suspended -% if ( $num_susp_pkg ) { +<% $label %> +% if ( $num || $disable_counts ) { % }
- - <% my $num_cancel_pkg = $agent->num_cancel_cust_pkg %>  - - -% if ( $num_cancel_pkg ) { - - -% } -cancelled -% if ( $num_cancel_pkg ) { - -% } -
- Payments + Package Churn +
Payments
Credits -
A/R Aging +
A/R Aging -
<% my $num_reg_code = $agent->num_reg_code %> % if ( $num_reg_code ) { @@ -306,6 +290,10 @@ Unused
Generate codes
<% my $num_prepay_credit = $agent->num_prepay_credit %> % if ( $num_prepay_credit ) { @@ -319,21 +307,35 @@ Unused
Generate cards
-% if ( $agent->ticketing_queueid ) { - - Queue: <% $agent->ticketing_queueid %>: <% $agent->ticketing_queue %>
+% if ( $agent->ticketing_queueid ) { + Queue: <% $agent->ticketing_queueid %>: + <% $agent->ticketing_queue %> +
+% } +
+ <% join('
', sort keys %{ $agent->agent_currency_hashref } ) %>
- + - +% ## +% # configuration overrides +% ## + + % }
+ % foreach my $override ( % # sort { } want taxclass-full stuff first? and default cards (empty cardtype) % qsearch('agent_payment_gateway', { 'agentnum' => $agent->agentnum } ) @@ -347,7 +349,7 @@ Unused ? ' for '. $override->taxclass. ' only' : '' %> - (delete) + (delete) % } @@ -358,15 +360,59 @@ Unused
+ +% foreach my $override ( +% qsearch('conf', { 'agentnum' => $agent->agentnum } ) +% ) { +% + + + + +% } + + + + +
+ <% $override->name %> (delete) +
(view/add/edit overrides)
+
+ + + +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my %search; +if ( $cgi->param('showdisabled') + || !dbdef->table('agent')->column('disabled') ) { + %search = (); +} else { + %search = ( 'disabled' => '' ); +} + +my $conf = new FS::Conf; +my $disable_counts = $conf->exists('agent-disable_counts'); + +