<% include( 'elements/search.html', 'title' => 'Phone Number (DID) Search Results', 'name_singular' => 'phone number', 'query' => { 'table' => 'phone_avail', 'hashref' => {}, 'select' => 'distinct latanum', }, 'count_query' => 'SELECT COUNT(distinct latanum) FROM phone_avail', 'header' => [ 'LATA #', 'Available', 'Provisioned', 'Have Usage', ], 'fields' => [ 'latanum', sub { my $latanum = shift->latanum; my @dids = qsearch('phone_avail', { 'svcnum' => '', 'latanum' => $latanum, } ); return scalar(@dids); }, sub { my $latanum = shift->latanum; my @dids = provisioned_dids($latanum); return scalar(@dids); }, sub { my $latanum = shift->latanum; my @dids = provisioned_dids($latanum); my $count = 0; foreach my $did ( @dids ) { next unless $did->cust_svc; my $svc_phone = $did->cust_svc->svc_x; next unless $svc_phone; my @cdrs = $svc_phone->get_cdrs; $count++ if scalar(@cdrs); } $count; }, ], 'align' => 'lccc', 'links' => [ '', '', '', '', ], 'color' => [ '', '', '', '', ], 'style' => [ '', '', '', '', ], ) %> <%init> die "access denied" unless ( $FS::CurrentUser::CurrentUser->access_right('List inventory') && $FS::CurrentUser::CurrentUser->access_right('List services') ); # XXX: agent virtualize sub provisioned_dids { my $latanum = shift; qsearch({ 'table' => 'phone_avail', 'hashref' => { 'latanum' => $latanum, }, 'extra_sql' => ' and svcnum is not null ', }); }