diff --git a/lib/NGCP/Panel/Controller/API/NcosLevelsItem.pm b/lib/NGCP/Panel/Controller/API/NcosLevelsItem.pm
index 3f0d7ff3b4..e4ea52704c 100644
--- a/lib/NGCP/Panel/Controller/API/NcosLevelsItem.pm
+++ b/lib/NGCP/Panel/Controller/API/NcosLevelsItem.pm
@@ -173,7 +173,7 @@ sub DELETE :Allow {
my $item = $self->item_by_id($c, $id);
last unless $self->resource_exists($c, ncoslevel => $item);
- for my $pref(qw/adm_ncos_id subadm_ncos_id ncos_id/) {
+ for my $pref(qw/adm_ncos_id subadm_ncos_id ncos_id adm_cf_ncos_id/) {
my $rs = NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c, attribute => $pref,
);
diff --git a/lib/NGCP/Panel/Controller/NCOS.pm b/lib/NGCP/Panel/Controller/NCOS.pm
index 0c5cfbbb81..58c3f09b64 100644
--- a/lib/NGCP/Panel/Controller/NCOS.pm
+++ b/lib/NGCP/Panel/Controller/NCOS.pm
@@ -145,7 +145,7 @@ sub delete :Chained('base') :PathPart('delete') {
try {
my $schema = $c->model('DB');
$schema->txn_do(sub {
- for my $pref(qw/adm_ncos_id subadm_ncos_id ncos_id/) {
+ for my $pref(qw/adm_ncos_id subadm_ncos_id ncos_id adm_cf_ncos_id/) {
my $rs = NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c, attribute => $pref,
);
diff --git a/lib/NGCP/Panel/Form/Preferences.pm b/lib/NGCP/Panel/Form/Preferences.pm
index feb7849594..9f4dd8e8ec 100644
--- a/lib/NGCP/Panel/Form/Preferences.pm
+++ b/lib/NGCP/Panel/Form/Preferences.pm
@@ -49,7 +49,9 @@ sub field_list {
type => 'Select',
options => \@options,
};
- } elsif ($meta->attribute eq "ncos" || $meta->attribute eq "adm_ncos") {
+ } elsif ($meta->attribute eq "ncos" ||
+ $meta->attribute eq "adm_ncos" ||
+ $meta->attribute eq "adm_cf_ncos") {
my @options = map {{label => $_->level, value => $_->id}}
defined $ncos_rs ? $ncos_rs->all : ();
unshift @options, {label => '', value => ''};
diff --git a/lib/NGCP/Panel/Role/API/Preferences.pm b/lib/NGCP/Panel/Role/API/Preferences.pm
index 9c5c149951..0e7fe37897 100644
--- a/lib/NGCP/Panel/Role/API/Preferences.pm
+++ b/lib/NGCP/Panel/Role/API/Preferences.pm
@@ -393,7 +393,7 @@ sub update_item {
my $extra = [qw/
rewrite_caller_in_dpid rewrite_caller_out_dpid
rewrite_callee_in_dpid rewrite_callee_out_dpid
- ncos_id adm_ncos_id
+ ncos_id adm_ncos_id adm_cf_ncos_id
sound_set contract_sound_set
allowed_ips_grp man_allowed_ips_grp
/];
diff --git a/lib/NGCP/Panel/Utils/Preferences.pm b/lib/NGCP/Panel/Utils/Preferences.pm
index c88a14ce2a..7b46b4eeaa 100644
--- a/lib/NGCP/Panel/Utils/Preferences.pm
+++ b/lib/NGCP/Panel/Utils/Preferences.pm
@@ -105,6 +105,13 @@ sub load_preference_list {
$pref->{adm_ncos_id} = $tmp->id;
}
}
+ elsif($pref->attribute eq "adm_cf_ncos") {
+ if ($pref_values->{adm_cf_ncos_id} &&
+ (my $tmp = $c->stash->{ncos_levels_rs}
+ ->find($pref_values->{adm_cf_ncos_id}) )) {
+ $pref->{adm_cf_ncos_id} = $tmp->id;
+ }
+ }
elsif($pref->attribute eq "allowed_ips") {
$pref->{allowed_ips_group_id} = $pref_values->{allowed_ips_grp};
$pref->{allowed_ips_rs} = $c->model('DB')->resultset('voip_allowed_ip_groups')
@@ -222,6 +229,15 @@ sub create_preference_form {
if (defined $ncos_id_preference) {
$preselected_value = $ncos_id_preference->value;
}
+ } elsif ($c->stash->{preference_meta}->attribute eq "adm_cf_ncos") {
+ my $ncos_id_preference = $pref_rs->search({
+ 'attribute.attribute' => 'adm_cf_ncos_id'
+ },{
+ join => 'attribute'
+ })->first;
+ if (defined $ncos_id_preference) {
+ $preselected_value = $ncos_id_preference->value;
+ }
} elsif ($c->stash->{preference_meta}->attribute eq "allowed_ips") {
my $allowed_ips_grp = $pref_rs->search({
'attribute.attribute' => 'allowed_ips_grp'
@@ -535,7 +551,7 @@ sub create_preference_form {
);
$c->response->redirect($base_uri);
return 1;
- } elsif ($attribute eq "ncos" || $attribute eq "adm_ncos") {
+ } elsif ($attribute eq "ncos" || $attribute eq "adm_ncos" || $attribute eq "adm_cf_ncos") {
my $selected_level = $c->stash->{ncos_levels_rs}->find(
$form->field($attribute)->value
);
diff --git a/share/templates/helpers/pref_table.tt b/share/templates/helpers/pref_table.tt
index 524c988ca1..72771c6850 100644
--- a/share/templates/helpers/pref_table.tt
+++ b/share/templates/helpers/pref_table.tt
@@ -84,6 +84,13 @@
[% END -%]
+ [% ELSIF r.attribute == "adm_cf_ncos" -%]
+
[% ELSIF r.attribute == "sound_set" -%]