TT#19656 Add lock level fields to the subscriber forms with status

Change-Id: Ie041125174257cb62e210c007fa471c113fae70e
changes/60/14760/9
Irina Peshinskaya 8 years ago
parent 5f29fe2895
commit 1c4b8285fb

@ -846,6 +846,11 @@ sub subscriber_create :Chained('base') :PathPart('subscriber/create') :Args(0) {
}
my @events_to_create = ();
my $event_context = { events_to_create => \@events_to_create };
if($form->values->{lock} && ( $form->values->{lock} > 0 ) ){
$form->values->{status} = 'locked';
}
$billing_subscriber = NGCP::Panel::Utils::Subscriber::create_subscriber(
c => $c,
schema => $schema,
@ -855,6 +860,19 @@ sub subscriber_create :Chained('base') :PathPart('subscriber/create') :Args(0) {
preferences => $preferences,
event_context => $event_context,
);
if($billing_subscriber->status eq 'locked') {
$form->values->{lock} ||= 4;
} else {
$form->values->{lock} = 0;
}
NGCP::Panel::Utils::Subscriber::lock_provisoning_voip_subscriber(
c => $c,
prov_subscriber => $billing_subscriber->provisioning_voip_subscriber,
level => $form->values->{lock},
) if ($billing_subscriber->provisioning_voip_subscriber);
NGCP::Panel::Utils::ProfilePackages::underrun_lock_subscriber(c => $c, subscriber => $billing_subscriber);
if($pbx && !$pbxadmin && $form->value->{alias_select}) {

@ -2761,8 +2761,9 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet
);
}
$form->values->{lock} ||= 0;
NGCP::Panel::Utils::ProfilePackages::get_contract_balance(c => $c, contract => $subscriber->contract);
$form->values->{lock} ||= 0;
NGCP::Panel::Utils::Subscriber::lock_provisoning_voip_subscriber(
c => $c,
prov_subscriber => $subscriber->provisioning_voip_subscriber,

@ -40,7 +40,7 @@ has_field 'domain' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/domain e164 e164range e164range_add display_name email webusername webpassword username password administrative status external_id profile_set/ ],
render_list => [qw/domain e164 e164range e164range_add display_name email webusername webpassword username password administrative lock status external_id profile_set/ ],
);
1;

@ -23,7 +23,7 @@ has_field 'pbx_extension' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/domain group_select alias_select pbx_extension display_name email webusername webpassword username password administrative status external_id timezone profile_set profile/ ],
render_list => [qw/domain group_select alias_select pbx_extension display_name email webusername webpassword username password administrative lock status external_id timezone profile_set profile/ ],
);
override 'field_list' => sub {

@ -17,7 +17,7 @@ has_field 'pbx_extension' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/group_select alias_select pbx_extension display_name email webusername webpassword username password status profile/ ],
render_list => [qw/group_select alias_select pbx_extension display_name email webusername webpassword username password lock status profile/ ],
);
sub field_list {

@ -123,6 +123,12 @@ has_field 'administrative' => (
},
);
has_field 'lock' => (
type => '+NGCP::Panel::Field::SubscriberLockSelect',
label => 'Lock Level',
validate_when_empty => 1,
);
has_field 'status' => (
type => '+NGCP::Panel::Field::SubscriberStatusSelect',
label => 'Status',
@ -180,7 +186,7 @@ has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
#render_list => [qw/display_name webusername webpassword username password status external_id profile_set timezone profile/ ],
render_list => [qw/e164 display_name email webusername webpassword username password administrative status timezone profile_set profile/ ],
render_list => [qw/e164 display_name email webusername webpassword username password administrative lock status timezone profile_set profile/ ],
);
has_block 'actions' => (

@ -41,7 +41,7 @@ has_field 'email' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/e164 alias_number alias_number_add email webusername webpassword password external_id administrative status timezone profile_set profile/ ],
render_list => [qw/e164 alias_number alias_number_add email webusername webpassword password external_id administrative lock status timezone profile_set profile/ ],
);
has_block 'actions' => (

@ -77,6 +77,12 @@ has_field 'password' => (
},
);
has_field 'lock' => (
type => '+NGCP::Panel::Field::SubscriberLockSelect',
label => 'Lock Level',
validate_when_empty => 1,
);
has_field 'status' => (
type => '+NGCP::Panel::Field::SubscriberStatusSelect',
label => 'Status',
@ -134,7 +140,7 @@ has_field 'save' => (
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/domain e164 email webusername webpassword username password status external_id administrative timezone profile_set/ ],
render_list => [qw/domain e164 email webusername webpassword username password lock status external_id administrative timezone profile_set/ ],
);
has_block 'actions' => (

@ -104,6 +104,12 @@ has_field 'password' => (
},
);
has_field 'lock' => (
type => '+NGCP::Panel::Field::SubscriberLockSelect',
label => 'Lock Level',
validate_when_empty => 1,
);
has_field 'status' => (
type => '+NGCP::Panel::Field::SubscriberStatusSelect',
label => 'Status',
@ -160,11 +166,10 @@ has_field 'save' => (
label => '',
);
has_block 'fields' => (
tag => 'div',
class => [qw/modal-body/],
render_list => [qw/contract domain e164 email webusername webpassword username password status external_id administrative timezone profile_set/ ],
render_list => [qw/contract domain e164 email webusername webpassword username password lock status external_id administrative timezone profile_set/ ],
);
has_block 'actions' => (

Loading…
Cancel
Save