X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fbrowse%2Fagent.cgi;h=79f6c3dcfca1ee1af0fa7fc334f2156486139e87;hp=138b61365fb14ed8550c6e537524da2edf9112c2;hb=aac3f675b2bb9d6a90cb2c6b9c85951961475376;hpb=6ef34dda51afba96d8dc6c4dd72427c3d4003945 diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index 138b61365..79f6c3dcf 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -1,82 +1,86 @@ -<% -# + -use strict; -use vars qw( $ui $cgi $p $agent ); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); -use FS::CGI qw(header menubar table popurl); -use FS::agent; -use FS::agent_type; +<% -#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 + ) + "; -$cgi = new CGI; + my $ncancelled_sth = dbh->prepare("SELECT COUNT(*) FROM cust_main + WHERE agentnum = ? + AND $ncancelled ") + or die dbh->errstr; -&cgisuidsetup($cgi); + my $total_sth = dbh->prepare("SELECT COUNT(*) FROM cust_main + WHERE agentnum = ? ") + or die dbh->errstr; -$p = popurl(2); +%> -print $cgi->header( '-expires' => 'now' ), 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 $agent ( sort { - $a->getfield('agentnum') <=> $b->getfield('agentnum') +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 new agent - Add new agent type + + <%= $agent->agentnum %> + + <%= $agent->agent %> + <%= $agent->agent_type->atype %> + + <%= $num_ncancelled %> + active +
<%= $num_cancelled %> + cancelled + + <%= $agent->freq %> + <%= $agent->prog %> - +<% } %> + + -END - -%>