diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index db83fcf961..5234e95a5c 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -1074,9 +1074,14 @@ sub preferences_callforward :Chained('base') :PathPart('preferences/callforward' $cf_preference->create({ value => $map->id }); if($cf_type eq 'cft') { if($ringtimeout_preference->first) { - $ringtimeout_preference->first->update({ - value => $c->request->params->{ringtimeout} - }); + if (!$cf_form->field('enabled')->value) { + $ringtimeout_preference->first->delete; + } + else { + $ringtimeout_preference->first->update({ + value => $c->request->params->{ringtimeout} + }); + } } else { $ringtimeout_preference->create({ value => $c->request->params->{ringtimeout}, @@ -1299,6 +1304,9 @@ sub preferences_callforward_advanced :Chained('base') :PathPart('preferences/cal $ringtimeout_preference->create({ value => $cf_form->field('ringtimeout')->value }); } } + if ($prov_subscriber->voip_cf_mappings->search_rs({ type => "cft", enabled => 1 })->count == 0) { + $ringtimeout_preference->delete; + } }); NGCP::Panel::Utils::Message::info( c => $c, @@ -2480,6 +2488,15 @@ sub preferences_callforward_delete :Chained('base') :PathPart('preferences/callf foreach my $map($mapping_rs->all) { $autoattendant_count += NGCP::Panel::Utils::Subscriber::check_dset_autoattendant_status($map->destination_set); } + if($cf_type eq 'cft') { + my $ringtimeout_preference = NGCP::Panel::Utils::Preferences::get_usr_preference_rs( + c => $c, prov_subscriber => $prov_subscriber, + attribute => 'ringtimeout' + ); + if($ringtimeout_preference->first) { + $ringtimeout_preference->delete; + } + } $mapping_rs->delete_all; my $cf_pref = NGCP::Panel::Utils::Preferences::get_usr_preference_rs( c => $c, diff --git a/share/templates/subscriber/preferences.tt b/share/templates/subscriber/preferences.tt index 2bdf686307..89d50b1a49 100644 --- a/share/templates/subscriber/preferences.tt +++ b/share/templates/subscriber/preferences.tt @@ -130,7 +130,7 @@ $( document ).ready(function() {