diff --git a/lib/NGCP/Panel/Controller/Customer.pm b/lib/NGCP/Panel/Controller/Customer.pm index ddab2b7c66..5244f6e935 100644 --- a/lib/NGCP/Panel/Controller/Customer.pm +++ b/lib/NGCP/Panel/Controller/Customer.pm @@ -92,6 +92,20 @@ sub base :Chained('list_customer') :PathPart('') :CaptureArgs(1) { }); } + my @subscribers = (); + foreach my $s($contract->first->voip_subscribers->search_rs({ status => 'active' })->all) { + my $sub = { $s->get_columns }; + $sub->{domain} = $s->domain->domain; + $sub->{primary_number} = {$s->primary_number->get_columns} if(defined $s->primary_number); + $sub->{locations} = [ map { { $_->get_columns } } $c->model('DB')->resultset('location')-> + search({ + username => $s->username, + domain => $s->domain->domain, + })->all ]; + push @subscribers, $sub; + } + $c->stash->{subscribers} = \@subscribers; + $c->stash(balance => $balance); $c->stash(fraud => $contract->first->contract_fraud_preference); $c->stash(template => 'customer/details.tt'); diff --git a/share/templates/customer/details.tt b/share/templates/customer/details.tt index fc113092be..79c1ddc04f 100644 --- a/share/templates/customer/details.tt +++ b/share/templates/customer/details.tt @@ -40,11 +40,15 @@ - [% FOR subscriber IN contract.voip_subscribers -%] + [% FOR subscriber IN subscribers -%] - [% subscriber.username %]@[% subscriber.domain.domain %] + [% subscriber.username %]@[% subscriber.domain %] [% subscriber.primary_number.cc %] [% subscriber.primary_number.ac %] [% subscriber.primary_number.sn %] - [% subscriber.provisioning_voip_subscriber.password %] + + [% FOR location IN subscriber.locations -%] + [% location.user_agent %]
+ [% END -%] + [% END -%] diff --git a/share/templates/subscriber/list.tt b/share/templates/subscriber/list.tt index 539f91213e..44d8222a70 100644 --- a/share/templates/subscriber/list.tt +++ b/share/templates/subscriber/list.tt @@ -16,6 +16,7 @@ helper.dt_buttons = [ { name = 'Terminate', uri = "/subscriber/'+full.id+'/terminate", class = 'btn-small btn-secondary', icon = 'icon-trash', condition = 'full.status != "terminated"' }, { name = 'Preferences', uri = "/subscriber/'+full.id+'/preferences", class = 'btn-small btn-tertiary', icon = 'icon-list', condition = 'full.status != "terminated"' }, + { name = 'Customer', uri = "/customer/'+full.contract_id+'/details", class = 'btn-small btn-tertiary', icon = 'icon-user' }, ]; helper.top_buttons = [ { name = 'Create Subscriber', uri = c.uri_for_action('/subscriber/create_list'), icon = 'icon-star' },