X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fphone_inventory_provisioned.html;h=37fef8a2157c32eaee3895e8580d97e50aaae951;hb=783eefa4a70dd88dd13ffd73c4e23361288628f0;hp=5d4b4217ea80423cf9e16d3b03dfb313b590bd2c;hpb=b5c4237a34aef94976bc343c8d9e138664fc3984;p=freeside.git diff --git a/httemplate/search/phone_inventory_provisioned.html b/httemplate/search/phone_inventory_provisioned.html index 5d4b4217e..37fef8a21 100644 --- a/httemplate/search/phone_inventory_provisioned.html +++ b/httemplate/search/phone_inventory_provisioned.html @@ -1,43 +1,54 @@ <% include( 'elements/search.html', - 'title' => 'Phone Number (DID) Search Results', - 'name_singular' => 'phone number', + 'title' => 'LATA Search Results', + 'name_singular' => 'LATA', 'query' => { 'table' => 'phone_avail', 'hashref' => {}, 'select' => 'distinct latanum', }, 'count_query' => 'SELECT COUNT(distinct latanum) FROM phone_avail', - 'header' => [ 'LATA #', + 'header' => [ 'LATA', 'Available', 'Provisioned', 'Have Usage', ], 'fields' => [ - 'latanum', - sub { + sub { # LATA + my $did_order = shift; + my $lata = $did_order->lata; + $lata = $lata ? $lata->description : ''; + $did_order->latanum . " - " . $lata; + }, + sub { # Available my $latanum = shift->latanum; my @dids = qsearch('phone_avail', - { 'svcnum' => '', - 'latanum' => $latanum, - } - ); + { 'svcnum' => '', + 'latanum' => $latanum, + } + ); return scalar(@dids); }, - sub { + sub { # Provisioned my $latanum = shift->latanum; my @dids = provisioned_dids($latanum); return scalar(@dids); }, - sub { - my $latanum = shift->latanum; - my @dids = provisioned_dids($latanum); + sub { # Have Usage + my $did_order = shift; + my @dids = provisioned_dids($did_order->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); + my $cust_svc = $did->cust_svc; + next unless $cust_svc; + + my $svcnum = $cust_svc->svcnum; + my $sql = "select count(1) from cdr where src = + (select phonenum from svc_phone where svcnum = $svcnum) + or charged_party = (select phonenum from svc_phone where + svcnum = $svcnum)"; + my $c = $did_order->scalar_sql($sql); + $count++ if $c > 0; } $count; }, @@ -65,6 +76,8 @@ %> <%init> +warn "started @ ".time; + die "access denied" unless ( $FS::CurrentUser::CurrentUser->access_right('List inventory') && $FS::CurrentUser::CurrentUser->access_right('List services') @@ -74,12 +87,10 @@ die "access denied" sub provisioned_dids { my $latanum = shift; - qsearch({ 'table' => 'phone_avail', - 'hashref' => { - 'latanum' => $latanum, - }, - 'extra_sql' => ' and svcnum is not null ', - }); + qsearch({ 'table' => 'phone_avail', + 'hashref' => { 'latanum' => $latanum, }, + 'extra_sql' => ' and svcnum is not null ', + }); }