diff --git a/lib/NGCP/Panel/Controller/Domain.pm b/lib/NGCP/Panel/Controller/Domain.pm
index aaca01297e..b6102c8fc8 100644
--- a/lib/NGCP/Panel/Controller/Domain.pm
+++ b/lib/NGCP/Panel/Controller/Domain.pm
@@ -243,6 +243,28 @@ sub preferences_edit :Chained('preferences_detail') :PathPart('edit') :Args(0) {
return;
}
}
+
+ my $delete_param = $c->request->params->{delete};
+ my $deactivate_param = $c->request->params->{deactivate};
+ my $activate_param = $c->request->params->{activate};
+ my $param_id = $delete_param || $deactivate_param || $activate_param;
+ # only one parameter is processed at a time (?)
+ if($param_id) {
+ my $rs = $c->model('provisioning')
+ ->resultset('voip_dom_preferences')
+ ->find($param_id);
+ if($rs->attribute_id != $c->stash->{preference_meta}->id) {
+ # Invalid param (dom_pref does not belong to current pref)
+ } elsif($delete_param) {
+ $rs->delete();
+ } elsif ($deactivate_param) {
+ $rs->update({value => "#".$rs->value});
+ } elsif ($activate_param) {
+ my $new_value = $rs->value;
+ $new_value =~ s/^#//;
+ $rs->update({value => $new_value});
+ }
+ }
$c->stash(form => $form);
}
diff --git a/share/templates/helpers/pref_table.tt b/share/templates/helpers/pref_table.tt
index 7abc6af99f..3343228340 100644
--- a/share/templates/helpers/pref_table.tt
+++ b/share/templates/helpers/pref_table.tt
@@ -74,7 +74,12 @@
[% IF helper.preference_meta.max_occur != 1 %]
[% FOREACH v IN helper.preference.all %]
- Delete
+
+ [% IF v.value.substr(0,1) == '#' %]
+
+ [% ELSE %]
+
+ [% END %]
[% END %]
[% END %]