From a1f4779a046f4bca9dcda00de4809e7e10a93e4b Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Tue, 19 Feb 2019 13:19:12 +0100 Subject: [PATCH] TT#53326 Fix showing display name in field dev creation form Change-Id: I3fae1a43231bdc7a9de249667da7cef7af5c6f8e --- lib/NGCP/Panel/Controller/Customer.pm | 23 +++++++++++++++++++++++ share/templates/customer/details.tt | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/lib/NGCP/Panel/Controller/Customer.pm b/lib/NGCP/Panel/Controller/Customer.pm index f383aaed16..a5a102867e 100644 --- a/lib/NGCP/Panel/Controller/Customer.pm +++ b/lib/NGCP/Panel/Controller/Customer.pm @@ -381,14 +381,37 @@ sub base :Chained('list_customer') :PathPart('') :CaptureArgs(1) { { name => "provisioning_voip_subscriber.pbx_hunt_policy", search => 1, title => $c->loc("Hunt Policy") }, { name => "provisioning_voip_subscriber.pbx_hunt_timeout", search => 1, title => $c->loc("Serial Hunt Timeout") }, ]); + $c->stash->{subscribers} = $c->model('DB')->resultset('voip_subscribers')->search({ contract_id => $contract_id, status => { '!=' => 'terminated' }, 'provisioning_voip_subscriber.is_pbx_group' => 0, }, { join => 'provisioning_voip_subscriber', + order_by => [qw/username/], }); + if($c->config->{features}->{cloudpbx}) { + + # we maintain the display names in a separate hash identified by + # subscriber uuid, because if we put the display name in the + # above query, we'll implicitly filter subscribers without a + # display name due to the inner join + my $subscriber_display_rs = $c->model('DB')->resultset('voip_subscribers')->search({ + contract_id => $contract_id, + status => { '!=' => 'terminated' }, + 'provisioning_voip_subscriber.is_pbx_group' => 0, + 'attribute.attribute' => 'display_name', + }, { + join => { 'provisioning_voip_subscriber' => { 'voip_usr_preferences' => 'attribute' }}, + '+select' => ['voip_usr_preferences.value'], + '+as' => ['display_name'], + order_by => [qw/voip_usr_preferences.value pbx_extension/], + }); + foreach my $sub ($subscriber_display_rs->all) { + $c->stash->{subscriber_displays}->{$sub->uuid} = $sub->get_column('display_name'); + } + $c->stash->{pbx_groups} = NGCP::Panel::Utils::Subscriber::get_pbx_subscribers_rs( c => $c, schema => $c->model('DB'), diff --git a/share/templates/customer/details.tt b/share/templates/customer/details.tt index 3411ab875e..71ec872ea6 100644 --- a/share/templates/customer/details.tt +++ b/share/templates/customer/details.tt @@ -963,10 +963,10 @@ function create_ranges_annotations(id,type,ranges){ '' + '