X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fbrowse%2Fagent.cgi;h=79f6c3dcfca1ee1af0fa7fc334f2156486139e87;hb=aac3f675b2bb9d6a90cb2c6b9c85951961475376;hp=067a06b30e2326e0bac867ebf23fcd851af18159;hpb=1fd6d8cf5d7854860ef4fd10ed89828e0c04ec39;p=freeside.git diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index 067a06b30..79f6c3dcf 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -1,66 +1,86 @@ - + + <% -#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 foreach my $agent ( sort { - $a->getfield('agentnum') <=> $b->getfield('agentnum') + #$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 - -%>