diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index 2648b2431e..e7228bb0d7 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -2351,9 +2351,10 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet my $prov_subscriber = $subscriber->provisioning_voip_subscriber; my $form; my $pbx_ext; my $is_admin; my $subadmin_pbx; + my $is_pbx_customer = $c->stash->{billing_mapping}->product->class eq "pbxaccount"; my $base_number; - if($c->stash->{billing_mapping}->product->class eq "pbxaccount") { + if($is_pbx_customer) { $c->stash(customer_id => $subscriber->contract->id); if($subscriber->provisioning_voip_subscriber->is_pbx_pilot) { if($c->user->roles eq 'subscriberadmin') { @@ -2380,7 +2381,7 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet if($c->user->roles eq 'subscriberadmin') { $subadmin_pbx = 1; $c->stash(customer_id => $subscriber->contract->id); - $form = NGCP::Panel::Form::get("NGCP::Panel::Form::Customer::PbxExtensionSubscriberEditSubadminNoGroup", $c); + $form = NGCP::Panel::Form::get("NGCP::Panel::Form::Customer::SubscriberEditSubadmin", $c); } else { $form = NGCP::Panel::Form::get("NGCP::Panel::Form::SubscriberEdit", $c); $is_admin = 1; @@ -2649,7 +2650,9 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet subscriber_id =>$subscriber->id, reseller_id => $subscriber->contract->contact->reseller_id, exists $form->params->{e164} ? (primary_number => $form->params->{e164}) : (), - $subadmin_pbx && $prov_subscriber->admin ? () : (alias_numbers => $form->values->{alias_number}), + $is_pbx_customer && $subadmin_pbx && $prov_subscriber->admin + ? () + : (alias_numbers => $form->values->{alias_number}), ); # update the primary number and the cloud_pbx_base_cli pref for all other subscribers diff --git a/lib/NGCP/Panel/Form/Customer/SubscriberEditSubadmin.pm b/lib/NGCP/Panel/Form/Customer/SubscriberEditSubadmin.pm new file mode 100644 index 0000000000..b9b793dd2d --- /dev/null +++ b/lib/NGCP/Panel/Form/Customer/SubscriberEditSubadmin.pm @@ -0,0 +1,39 @@ +package NGCP::Panel::Form::Customer::SubscriberEditSubadmin; + +use HTML::FormHandler::Moose; +extends 'NGCP::Panel::Form::SubscriberEdit'; + +use NGCP::Panel::Utils::Form; + +with 'NGCP::Panel::Render::RepeatableJs'; + +has '+widget_wrapper' => ( default => 'Bootstrap' ); +has_field 'submitid' => ( type => 'Hidden' ); +sub build_render_list {[qw/submitid fields actions/]} +sub build_form_element_class {[qw(form-horizontal)]} + + +has_block 'fields' => ( + tag => 'div', + class => [qw/modal-body/], + render_list => [qw/email webusername webpassword password lock status external_id timezone/ ], +); + +has_block 'actions' => ( + tag => 'div', + class => [qw/modal-footer/], + render_list => [qw/save/], +); + +sub update_fields { + my $self = shift; + # my $c = $self->ctx; + # return unless $c; + + $self->field('profile_set')->inactive(1); + $self->field('profile')->inactive(1); +} + +1; + +# vim: set tabstop=4 expandtab: diff --git a/lib/NGCP/Panel/Form/SubscriberEdit.pm b/lib/NGCP/Panel/Form/SubscriberEdit.pm index c79409b7c4..75cdbfd47d 100644 --- a/lib/NGCP/Panel/Form/SubscriberEdit.pm +++ b/lib/NGCP/Panel/Form/SubscriberEdit.pm @@ -5,10 +5,6 @@ extends 'HTML::FormHandler'; use HTML::FormHandler::Widget::Block::Bootstrap; -use NGCP::Panel::Field::Domain; -use NGCP::Panel::Field::CustomerContract; -use NGCP::Panel::Field::Reseller; -use NGCP::Panel::Field::PosInteger; use NGCP::Panel::Utils::Form; with 'NGCP::Panel::Render::RepeatableJs';