X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fbrowse%2Fagent.cgi;h=0d808cd0d5f1be27ca609f034255eea88acf7c20;hb=50ae1571b51626d2dd1cb878b94dff6fec747408;hp=c74ef2b6385b581b562f6a7b645578ca8f4a8bc8;hpb=f38abb144955686f880a528ed6fe4c9c5453517b;p=freeside.git diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index c74ef2b63..0d808cd0d 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -1,33 +1,50 @@ + <% -#Begin silliness -# -#use FS::UI::CGI; -#use FS::UI::agent; -# -#$ui = new FS::UI::agent; -#$ui->browse; -#exit; -#__END__ -#End silliness + #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; + +%> -print header('Agent Listing', menubar( +<%= header('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).

-END -print &table(), < - Agent - Type - Freq. (unimp.) - Prog. (unimp.) - -END +Add a new agent

+ +<%= table() %> + + Agent + Type + Customers + Freq. + Prog. + +<% # Agent # # Agent @@ -35,33 +52,35 @@ foreach my $agent ( sort { #$a->getfield('agentnum') <=> $b->getfield('agentnum') $a->getfield('agent') cmp $b->getfield('agent') } qsearch('agent',{}) ) { - my($hashref)=$agent->hashref; - my($typenum)=$hashref->{typenum}; - my($agent_type)=qsearchs('agent_type',{'typenum'=>$typenum}); - my($atype)=$agent_type->getfield('atype'); - print < - - $hashref->{agentnum} - - $hashref->{agent} - $atype - $hashref->{freq} - $hashref->{prog} - -END -} + $ncancelled_sth->execute($agent->agentnum) or die $ncancelled_sth->errstr; + my $num_ncancelled = $ncancelled_sth->fetchrow_arrayref->[0]; + + $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; + +%> -print < - Add a new agent - Add a new agent type + + <%= $agent->agentnum %> + + <%= $agent->agent %> + <%= $agent->agent_type->atype %> + + <%= $num_ncancelled %> + active +
<%= $num_cancelled %> + cancelled + + <%= $agent->freq %> + <%= $agent->prog %> - +<% } %> + + -END - -%>