X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fagent.cgi;h=001e6ba5051aa2b216e4bd9d242bc37d7cb22020;hb=3ce7691203a7737406bf2d4442f7fd84b81f847e;hp=2eef5bb918f52b9f29311cdcb62fd2617e7c151e;hpb=c58132f6a26349d09744ef2b3b235dfb7c3757f6;p=freeside.git diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index 2eef5bb91..001e6ba50 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -1,110 +1,371 @@ - - -<% - - my %search; - if ( $cgi->param('showdisabled') - || !dbdef->table('agent')->column('disabled') ) { - %search = (); - } else { - %search = ( 'disabled' => '' ); - } - - #bad false laziness with search/cust_main.cgi (also needs fixing up for - #old mysql) - my $ncancelled = " - 0 < ( SELECT COUNT(*) FROM cust_pkg - WHERE cust_pkg.custnum = cust_main.custnum - AND ( cust_pkg.cancel IS NULL - OR cust_pkg.cancel = 0 - ) - ) - OR 0 = ( SELECT COUNT(*) FROM cust_pkg - WHERE cust_pkg.custnum = cust_main.custnum - ) - "; - - my $ncancelled_sth = dbh->prepare("SELECT COUNT(*) FROM cust_main - WHERE agentnum = ? - AND ( $ncancelled ) ") - or die dbh->errstr; - - my $total_sth = dbh->prepare("SELECT COUNT(*) FROM cust_main - WHERE agentnum = ? ") - or die dbh->errstr; - -%> - -<%= header('Agent Listing', menubar( +% +% +% 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' )) %> Agents are resellers of your service. Agents may be limited to a subset of your full offerings (via their type).

-Add a new agent

+Add a new agent

+% if ( dbdef->table('agent')->column('disabled') ) { -<% if ( dbdef->table('agent')->column('disabled') ) { %> - <%= $cgi->param('showdisabled') + <% $cgi->param('showdisabled') ? do { $cgi->param('showdisabled', 0); '( hide disabled agents )'; } : do { $cgi->param('showdisabled', 1); '( show disabled agents )'; } %> -<% } %> +% } + + +<% include('/elements/table-grid.html') %> +% my $bgcolor1 = '#eeeeee'; +% my $bgcolor2 = '#ffffff'; +% my $bgcolor = ''; +% + -<%= table() %> - param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent - Type - Customers - Freq. - Prog. + param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent + Type + Customers + Customer
packages
+ Reports + Registration codes + Prepaid cards +% if ( $conf->config('ticket_system') ) { + + Ticketing +% } + + Payment Gateway Overrides + Freq. + Prog. -<% -# Agent # -# Agent +% +%# Agent # +%# Agent +% +%foreach my $agent ( sort { +% #$a->getfield('agentnum') <=> $b->getfield('agentnum') +% $a->getfield('agent') cmp $b->getfield('agent') +%} qsearch('agent', \%search ) ) { +% +% my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'. +% 'agentnum='. $agent->agentnum; +% +% my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum; +% +% if ( $bgcolor eq $bgcolor1 ) { +% $bgcolor = $bgcolor2; +% } else { +% $bgcolor = $bgcolor1; +% } +% +% + -foreach my $agent ( sort { - #$a->getfield('agentnum') <=> $b->getfield('agentnum') - $a->getfield('agent') cmp $b->getfield('agent') -} qsearch('agent', \%search ) ) { + + + <% $agent->agentnum %> +% if ( dbdef->table('agent')->column('disabled') +% && !$cgi->param('showdisabled') ) { - $ncancelled_sth->execute($agent->agentnum) or die $ncancelled_sth->errstr; - my $num_ncancelled = $ncancelled_sth->fetchrow_arrayref->[0]; + <% $agent->disabled ? 'DISABLED' : '' %> +% } - $total_sth->execute($agent->agentnum) or die $total_sth->errstr; - my $num_total = $total_sth->fetchrow_arrayref->[0]; - my $num_cancelled = $num_total - $num_ncancelled; + + <% $agent->agent %> + <% $agent->agent_type->atype %> - my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'. - 'agentnum='. $agent->agentnum; + + -%> + + - - -<% if ( dbdef->table('agent')->column('disabled') - && !$cgi->param('showdisabled') ) { %> - -<% } %> - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + <% my $num_prospect = $agent->num_prospect_cust_main %>  + +
- <%= $agent->agentnum %><%= $agent->disabled ? 'DISABLED' : '' %> - <%= $agent->agent %><%= $agent->agent_type->atype %> - <%= $num_ncancelled %> - active -
<%= $num_cancelled %> - cancelled +
+% if ( $num_prospect ) { + + +% } +prospects +% if ($num_prospect ) { + +% } + + +
+ + <% my $num_inactive = $agent->num_inactive_cust_main %>  + + +% if ( $num_inactive ) { + + +% } +inactive +% if ( $num_inactive ) { + +% } + +
+ + <% my $num_active = $agent->num_active_cust_main %>  + + +% if ( $num_active ) { + + +% } +active +% if ( $num_active ) { + +% } + +
+ + <% my $num_susp = $agent->num_susp_cust_main %>  + + +% if ( $num_susp ) { + + +% } +suspended +% if ( $num_susp ) { + +% } + +
+ + <% my $num_cancel = $agent->num_cancel_cust_main %>  + + +% if ( $num_cancel ) { + + +% } +cancelled +% if ( $num_cancel ) { + +% } + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + <% 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 %>  + + + +% if ( $num_susp_pkg ) { + + +% } +suspended +% if ( $num_susp_pkg ) { + +% } + +
+ + <% my $num_cancel_pkg = $agent->num_cancel_cust_pkg %>  + + +% if ( $num_cancel_pkg ) { + + +% } +cancelled +% if ( $num_cancel_pkg ) { + +% } + +
+ + + + Payments +
Credits +
A/R Aging + + + + + + <% my $num_reg_code = $agent->num_reg_code %> +% if ( $num_reg_code ) { + + +% } +Unused +% if ( $num_reg_code ) { + +% } + +
Generate codes - <%= $agent->freq %> - <%= $agent->prog %> + + + <% my $num_prepay_credit = $agent->num_prepay_credit %> +% if ( $num_prepay_credit ) { + + +% } +Unused +% if ( $num_prepay_credit ) { + +% } + +
Generate cards + +% if ( $conf->config('ticket_system') ) { + + + +% if ( $agent->ticketing_queueid ) { + + Queue: <% $agent->ticketing_queueid %>: <% $agent->ticketing_queue %>
+% } + + +% } + + + + +% foreach my $override ( +% # sort { } want taxclass-full stuff first? and default cards (empty cardtype) +% qsearch('agent_payment_gateway', { 'agentnum' => $agent->agentnum } ) +% ) { +% + + + + +% } + + + + +
+ <% $override->cardtype || 'Default' %> to <% $override->payment_gateway->gateway_module %> (<% $override->payment_gateway->gateway_username %>) + <% $override->taxclass + ? ' for '. $override->taxclass. ' only' + : '' + %> + (delete) +
(add override)
+ + + + +% } -<% } %>