|
|
|
|
@ -646,34 +646,34 @@ sub subscriber_create :Chained('base') :PathPart('subscriber/create') :Args(0) {
|
|
|
|
|
my $pbxgroups = [];
|
|
|
|
|
if($pbx && !$pbxadmin) {
|
|
|
|
|
my $pilot = $c->stash->{pilot};
|
|
|
|
|
$form->params->{domain}{id} = $pilot->domain_id;
|
|
|
|
|
$form->values->{domain}{id} = $pilot->domain_id;
|
|
|
|
|
if ($form->value->{group_select}) {
|
|
|
|
|
$pbxgroups = decode_json($form->value->{group_select});
|
|
|
|
|
}
|
|
|
|
|
my $base_number = $pilot->primary_number;
|
|
|
|
|
if($base_number) {
|
|
|
|
|
$preferences->{cloud_pbx_base_cli} = $base_number->cc . $base_number->ac . $base_number->sn;
|
|
|
|
|
if(defined $form->params->{pbx_extension}) {
|
|
|
|
|
$form->params->{e164}{cc} = $base_number->cc;
|
|
|
|
|
$form->params->{e164}{ac} = $base_number->ac;
|
|
|
|
|
$form->params->{e164}{sn} = $base_number->sn . $form->params->{pbx_extension};
|
|
|
|
|
if(defined $form->values->{pbx_extension}) {
|
|
|
|
|
$form->values->{e164}{cc} = $base_number->cc;
|
|
|
|
|
$form->values->{e164}{ac} = $base_number->ac;
|
|
|
|
|
$form->values->{e164}{sn} = $base_number->sn . $form->values->{pbx_extension};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if($pbx) {
|
|
|
|
|
$form->params->{is_pbx_pilot} = 1 if $pbxadmin;
|
|
|
|
|
$form->values->{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} // '') .
|
|
|
|
|
$form->params->{e164}{sn};
|
|
|
|
|
$preferences->{cloud_pbx_ext} = $form->values->{pbx_extension};
|
|
|
|
|
if($pbxadmin && $form->values->{e164}{cc} && $form->values->{e164}{sn}) {
|
|
|
|
|
$preferences->{cloud_pbx_base_cli} = $form->values->{e164}{cc} .
|
|
|
|
|
($form->values->{e164}{ac} // '') .
|
|
|
|
|
$form->values->{e164}{sn};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($c->stash->{pilot}) {
|
|
|
|
|
my $profile_set = $c->stash->{pilot}->provisioning_voip_subscriber->voip_subscriber_profile_set;
|
|
|
|
|
if($profile_set) {
|
|
|
|
|
$form->params->{profile_set}{id} = $profile_set->id;
|
|
|
|
|
$form->values->{profile_set}{id} = $profile_set->id;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -681,14 +681,14 @@ sub subscriber_create :Chained('base') :PathPart('subscriber/create') :Args(0) {
|
|
|
|
|
|
|
|
|
|
# TODO: only if it's not a fax/conf extension:
|
|
|
|
|
$preferences->{shared_buddylist_visibility} = 1;
|
|
|
|
|
$preferences->{display_name} = $form->params->{display_name}
|
|
|
|
|
if($form->params->{display_name});
|
|
|
|
|
$preferences->{display_name} = $form->values->{display_name}
|
|
|
|
|
if($form->values->{display_name});
|
|
|
|
|
}
|
|
|
|
|
if($c->stash->{contract}->external_id) {
|
|
|
|
|
$preferences->{ext_contract_id} = $c->stash->{contract}->external_id;
|
|
|
|
|
}
|
|
|
|
|
if(defined $form->params->{external_id}) {
|
|
|
|
|
$preferences->{ext_subscriber_id} = $form->params->{external_id};
|
|
|
|
|
if(defined $form->values->{external_id}) {
|
|
|
|
|
$preferences->{ext_subscriber_id} = $form->values->{external_id};
|
|
|
|
|
}
|
|
|
|
|
if($c->stash->{billing_mapping}->billing_profile->prepaid) {
|
|
|
|
|
$preferences->{prepaid} = 1;
|
|
|
|
|
@ -697,7 +697,7 @@ sub subscriber_create :Chained('base') :PathPart('subscriber/create') :Args(0) {
|
|
|
|
|
c => $c,
|
|
|
|
|
schema => $schema,
|
|
|
|
|
contract => $c->stash->{contract},
|
|
|
|
|
params => $form->params,
|
|
|
|
|
params => $form->values,
|
|
|
|
|
admin_default => 0,
|
|
|
|
|
preferences => $preferences,
|
|
|
|
|
);
|
|
|
|
|
@ -968,26 +968,26 @@ sub pbx_group_create :Chained('base') :PathPart('pbx/group/create') :Args(0) {
|
|
|
|
|
my $base_number = $pilot->primary_number;
|
|
|
|
|
if($base_number) {
|
|
|
|
|
$preferences->{cloud_pbx_base_cli} = $base_number->cc . $base_number->ac . $base_number->sn;
|
|
|
|
|
if(defined $form->params->{pbx_extension}) {
|
|
|
|
|
$form->params->{e164}{cc} = $base_number->cc;
|
|
|
|
|
$form->params->{e164}{ac} = $base_number->ac;
|
|
|
|
|
$form->params->{e164}{sn} = $base_number->sn . $form->params->{pbx_extension};
|
|
|
|
|
if(defined $form->values->{pbx_extension}) {
|
|
|
|
|
$form->values->{e164}{cc} = $base_number->cc;
|
|
|
|
|
$form->values->{e164}{ac} = $base_number->ac;
|
|
|
|
|
$form->values->{e164}{sn} = $base_number->sn . $form->values->{pbx_extension};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
$form->params->{is_pbx_pilot} = 0;
|
|
|
|
|
$form->params->{is_pbx_group} = 1;
|
|
|
|
|
$form->params->{domain}{id} = $pilot->domain_id;
|
|
|
|
|
$form->params->{status} = 'active';
|
|
|
|
|
$form->values->{is_pbx_pilot} = 0;
|
|
|
|
|
$form->values->{is_pbx_group} = 1;
|
|
|
|
|
$form->values->{domain}{id} = $pilot->domain_id;
|
|
|
|
|
$form->values->{status} = 'active';
|
|
|
|
|
$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};
|
|
|
|
|
$preferences->{cloud_pbx_hunt_policy} = $form->values->{pbx_hunt_policy};
|
|
|
|
|
$preferences->{cloud_pbx_hunt_timeout} = $form->values->{pbx_hunt_timeout};
|
|
|
|
|
$preferences->{cloud_pbx_ext} = $form->values->{pbx_extension};
|
|
|
|
|
my $billing_subscriber = NGCP::Panel::Utils::Subscriber::create_subscriber(
|
|
|
|
|
c => $c,
|
|
|
|
|
schema => $schema,
|
|
|
|
|
contract => $c->stash->{contract},
|
|
|
|
|
params => $form->params,
|
|
|
|
|
params => $form->values,
|
|
|
|
|
admin_default => 0,
|
|
|
|
|
preferences => $preferences,
|
|
|
|
|
);
|
|
|
|
|
@ -1069,23 +1069,23 @@ sub pbx_group_edit :Chained('pbx_group_base') :PathPart('edit') :Args(0) {
|
|
|
|
|
my $schema = $c->model('DB');
|
|
|
|
|
$schema->txn_do(sub {
|
|
|
|
|
my $old_extension = $c->stash->{pbx_group}->provisioning_voip_subscriber->pbx_extension;
|
|
|
|
|
$c->stash->{pbx_group}->provisioning_voip_subscriber->update($form->params);
|
|
|
|
|
$c->stash->{pbx_group}->provisioning_voip_subscriber->update($form->values);
|
|
|
|
|
NGCP::Panel::Utils::Subscriber::update_subscriber_pbx_policy(
|
|
|
|
|
c => $c,
|
|
|
|
|
prov_subscriber => $c->stash->{pbx_group}->provisioning_voip_subscriber,
|
|
|
|
|
'values' => {
|
|
|
|
|
cloud_pbx_hunt_policy => $form->params->{pbx_hunt_policy},
|
|
|
|
|
cloud_pbx_hunt_timeout => $form->params->{pbx_hunt_timeout},
|
|
|
|
|
cloud_pbx_hunt_policy => $form->values->{pbx_hunt_policy},
|
|
|
|
|
cloud_pbx_hunt_timeout => $form->values->{pbx_hunt_timeout},
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
if(defined $form->params->{pbx_extension} &&
|
|
|
|
|
$form->params->{pbx_extension} ne $old_extension) {
|
|
|
|
|
if(defined $form->values->{pbx_extension} &&
|
|
|
|
|
$form->values->{pbx_extension} ne $old_extension) {
|
|
|
|
|
my $sub = $c->stash->{pbx_group};
|
|
|
|
|
my $base_number = $c->stash->{pilot}->primary_number;
|
|
|
|
|
my $e164 = {
|
|
|
|
|
cc => $sub->primary_number->cc,
|
|
|
|
|
ac => $sub->primary_number->ac,
|
|
|
|
|
sn => $base_number->sn . $form->params->{pbx_extension},
|
|
|
|
|
sn => $base_number->sn . $form->values->{pbx_extension},
|
|
|
|
|
};
|
|
|
|
|
NGCP::Panel::Utils::Subscriber::update_subscriber_numbers(
|
|
|
|
|
c => $c,
|
|
|
|
|
@ -1148,12 +1148,12 @@ sub pbx_device_create :Chained('base') :PathPart('pbx/device/create') :Args(0) {
|
|
|
|
|
my $err;
|
|
|
|
|
my $schema = $c->model('DB');
|
|
|
|
|
$schema->txn_do( sub {
|
|
|
|
|
my $station_name = $form->params->{station_name};
|
|
|
|
|
my $identifier = lc $form->params->{identifier};
|
|
|
|
|
my $station_name = $form->values->{station_name};
|
|
|
|
|
my $identifier = lc $form->values->{identifier};
|
|
|
|
|
if($identifier =~ /^([a-f0-9]{2}:){5}[a-f0-9]{2}$/) {
|
|
|
|
|
$identifier =~ s/\://g;
|
|
|
|
|
}
|
|
|
|
|
my $profile_id = $form->params->{profile_id};
|
|
|
|
|
my $profile_id = $form->values->{profile_id};
|
|
|
|
|
my $fdev = $c->stash->{contract}->autoprov_field_devices->create({
|
|
|
|
|
profile_id => $profile_id,
|
|
|
|
|
identifier => $identifier,
|
|
|
|
|
@ -1272,13 +1272,13 @@ sub pbx_device_edit :Chained('pbx_device_base') :PathPart('edit') :Args(0) {
|
|
|
|
|
my $schema = $c->model('DB');
|
|
|
|
|
$schema->txn_do( sub {
|
|
|
|
|
my $fdev = $c->stash->{pbx_device};
|
|
|
|
|
my $station_name = $form->params->{station_name};
|
|
|
|
|
my $identifier = lc $form->params->{identifier};
|
|
|
|
|
my $station_name = $form->values->{station_name};
|
|
|
|
|
my $identifier = lc $form->values->{identifier};
|
|
|
|
|
if($identifier =~ /^([a-f0-9]{2}:){5}[a-f0-9]{2}$/) {
|
|
|
|
|
$identifier =~ s/\://g;
|
|
|
|
|
}
|
|
|
|
|
my $old_identifier = $fdev->identifier;
|
|
|
|
|
my $profile_id = $form->params->{profile_id};
|
|
|
|
|
my $profile_id = $form->values->{profile_id};
|
|
|
|
|
$fdev->update({
|
|
|
|
|
profile_id => $profile_id,
|
|
|
|
|
identifier => $identifier,
|
|
|
|
|
|