X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fbrowse%2Fsvc_acct_pop.cgi;h=e71a8a7328c4b832557e35930eea78dc2a8f3302;hp=44cda81ad9d6fc0ea744fdd899dc2ee68f1ce3b9;hb=ac8410cdb67639afeb84c84e975fffadf3e6cce1;hpb=b8cfd0780aa40bb07f3215bf9cb58011f5e32a35 diff --git a/httemplate/browse/svc_acct_pop.cgi b/httemplate/browse/svc_acct_pop.cgi index 44cda81ad..e71a8a732 100755 --- a/httemplate/browse/svc_acct_pop.cgi +++ b/httemplate/browse/svc_acct_pop.cgi @@ -1,63 +1,78 @@ - -<% - my $accounts_sth = dbh->prepare("SELECT COUNT(*) FROM svc_acct - WHERE popnum = ? ") - or die dbh->errstr; +<% include( 'elements/browse.html', + 'title' => 'Access Numbers', + 'html_init' => $html_init, + 'name_singular' => 'access number', + 'query' => $query, + 'count_query' => $count_query, + 'header' => [ + '#', + 'City', + 'State', + 'Area code', + 'Exchange', + 'Local', + 'Accounts', + ], + 'fields' => [ + 'popnum', + 'city', + 'state', + 'ac', + 'exch', + 'loc', + $num_accounts_sub, + ], + 'align' => 'rllrrrr', + 'links' => [ map { $svc_acct_pop_link } (1..6) ], + ) %> -<%= header('Access Number Listing', menubar( 'Main Menu' => $p )) %> -Points of Presence

-Add new Access Number

-<%= table() %> - - - City - State - Area code - Exchange - Local - Accounts - - -<% -foreach my $svc_acct_pop ( sort { - #$a->getfield('popnum') <=> $b->getfield('popnum') - $a->state cmp $b->state || $a->city cmp $b->city - || $a->ac <=> $b->ac || $a->exch <=> $b->exch || $a->loc <=> $b->loc -} qsearch('svc_acct_pop',{}) ) { - - my $svc_acct_pop_link = $p . 'edit/svc_acct_pop.cgi?'. $svc_acct_pop->popnum; - - $accounts_sth->execute($svc_acct_pop->popnum) or die $accounts_sth->errstr; - my $num_accounts = $accounts_sth->fetchrow_arrayref->[0]; - - my $svc_acct_link = $p. 'search/svc_acct.cgi?popnum='. $svc_acct_pop->popnum; +<%init> -%> - - - <%= $svc_acct_pop->popnum %> - - <%= $svc_acct_pop->city %> - - <%= $svc_acct_pop->state %> - - <%= $svc_acct_pop->ac %> - - <%= $svc_acct_pop->exch %> - - <%= $svc_acct_pop->loc %> - - <%= $num_accounts %> - <% if ( $num_accounts ) { %><% } %> - active - <% if ( $num_accounts ) { %><% } %> - - -<% } %> - - - - - - +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('Dialup configuration') + || $curuser->access_right('Dialup global configuration'); + +my $html_init = qq! + Add new Access Number +

+!; + +my $query = { 'select' => '*, + ( SELECT COUNT(*) FROM svc_acct + WHERE svc_acct.popnum = svc_acct_pop.popnum + ) AS num_accounts + ', + 'table' => 'svc_acct_pop', + #'hashref' => { 'disabled' => '' }, + 'order_by' => 'ORDER BY state, city, ac, exch, loc', + }; + +my $count_query = "SELECT COUNT(*) FROM svc_acct_pop"; # WHERE DISABLED IS NULL OR DISABLED = ''"; + +my $svc_acct_pop_link = [ $p.'edit/svc_acct_pop.cgi?', 'popnum' ]; + +my $svc_acct_link = $p. 'search/svc_acct.cgi?popnum='; + +my $num_accounts_sub = sub { + my $svc_acct_pop = shift; + [ + [ + { 'data' => ''. + $svc_acct_pop->get('num_accounts'). + '', + 'align' => 'right', + }, + { 'data' => 'active', + 'align' => 'left', + 'link' => ( $svc_acct_pop->get('num_accounts') + ? $svc_acct_link. $svc_acct_pop->popnum + : '' + ), + }, + ], + ]; +}; +