diff --git a/lib/NGCP/Panel/Controller/Customer.pm b/lib/NGCP/Panel/Controller/Customer.pm index dc9b45955e..af64ba2d69 100644 --- a/lib/NGCP/Panel/Controller/Customer.pm +++ b/lib/NGCP/Panel/Controller/Customer.pm @@ -628,6 +628,7 @@ sub subscriber_create :Chained('base') :PathPart('subscriber/create') :Args(0) { if($pbx) { $form->params->{is_pbx_pilot} = 1 if $pbxadmin; $preferences->{cloud_pbx} = 1; + $preferences->{cloud_pbx_ext} = $form->params->{pbx_extension}; if($pbxadmin && $form->params->{e164}{cc} && $form->params->{e164}{sn}) { $preferences->{cloud_pbx_base_cli} = $form->params->{e164}{cc} . ($form->params->{e164}{ac} // '') . @@ -908,6 +909,7 @@ sub pbx_group_create :Chained('base') :PathPart('pbx/group/create') :Args(0) { $preferences->{cloud_pbx} = 1; $preferences->{cloud_pbx_hunt_policy} = $form->params->{pbx_hunt_policy}; $preferences->{cloud_pbx_hunt_timeout} = $form->params->{pbx_hunt_timeout}; + $preferences->{cloud_pbx_ext} = $form->params->{pbx_extension}; my $billing_subscriber = NGCP::Panel::Utils::Subscriber::create_subscriber( c => $c, schema => $schema, diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index dc491e0ae4..ffa75a455e 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -2088,7 +2088,16 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet $display_pref->create({ value => $form->params->{display_name} }); } } - + if($form->params->{pbx_extension}) { + my $pref = NGCP::Panel::Utils::Preferences::get_usr_preference_rs( + c => $c, attribute => 'cloud_pbx_ext', + prov_subscriber => $prov_subscriber); + if($pref->first) { + $pref->first->update({ value => $form->params->{pbx_extension} }); + } else { + $pref->create({ value => $form->params->{pbx_extension} }); + } + } my ($profile_set, $profile); if($form->values->{profile_set}{id}) { diff --git a/lib/NGCP/Panel/Role/API/Subscribers.pm b/lib/NGCP/Panel/Role/API/Subscribers.pm index 77ac35d521..30aa6a4b30 100644 --- a/lib/NGCP/Panel/Role/API/Subscribers.pm +++ b/lib/NGCP/Panel/Role/API/Subscribers.pm @@ -367,6 +367,7 @@ sub prepare_resource { } } + $preferences->{cloud_pbx_ext} = $resource->{pbx_extension}; $preferences->{shared_buddylist_visibility} = 1; $preferences->{display_name} = $resource->{display_name} if(defined $resource->{display_name}); @@ -382,6 +383,7 @@ sub prepare_resource { if($base_number) { $preferences->{cloud_pbx_base_cli} = $base_number->cc . ($base_number->ac // '') . $base_number->sn; } + } if(exists $resource->{external_id}) { $preferences->{ext_subscriber_id} = $resource->{external_id};