diff options
author | levinse <levinse> | 2011-01-18 00:59:02 +0000 |
---|---|---|
committer | levinse <levinse> | 2011-01-18 00:59:02 +0000 |
commit | 13a5d5ea7770ef1868e1d9af95a27065008484b7 (patch) | |
tree | 7b2598004ca4bf7b1f3b7828a65e95e901a4e1dd /httemplate/search | |
parent | 8ce6ed212e593c9bfe4834e981b4e987cabe4e8d (diff) |
added DID availability/inventory/provisioning report, RT10988
Diffstat (limited to 'httemplate/search')
-rw-r--r-- | httemplate/search/phone_inventory_provisioned.html | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/httemplate/search/phone_inventory_provisioned.html b/httemplate/search/phone_inventory_provisioned.html new file mode 100644 index 000000000..c3de38f37 --- /dev/null +++ b/httemplate/search/phone_inventory_provisioned.html @@ -0,0 +1,87 @@ +<% include( 'elements/search.html', + 'title' => 'Phone Number (DID) Search Results', + 'name_singular' => 'phone number', + 'query' => { + 'table' => 'phone_avail', + 'hashref' => {}, + 'select' => 'distinct npa||nxx as npanxx' + }, + 'count_query' => 'SELECT COUNT(distinct npa||nxx) FROM phone_avail', + 'header' => [ 'NPANXX', + 'Available', + 'Provisioned', + 'Have Usage', + ], + 'fields' => [ + 'npanxx', + sub { + my $npanxx = shift->npanxx; + my @dids = qsearch('phone_avail', + { 'svcnum' => '', + 'npa' => substr($npanxx,0,3), + 'nxx' => substr($npanxx,3,3), + } + ); + return scalar(@dids); + }, + sub { + my $npanxx = shift->npanxx; + my @dids = provisioned_dids($npanxx); + return scalar(@dids); + }, + sub { + my $npanxx = shift->npanxx; + my @dids = provisioned_dids($npanxx); + 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 $npanxx = shift; + qsearch({ 'table' => 'phone_avail', + 'hashref' => { + 'npa' => substr($npanxx,0,3), + 'nxx' => substr($npanxx,3,3), + }, + 'extra_sql' => ' and svcnum is not null ', + }); +} + +</%init> |