TT#83502 api: drop ringtimeout pref when deleting last CFT

if there are no more *enabled* CFT left after editing
callforwards (simple/advanced), the ringtimeout has to
be removed.

Change-Id: Idc450b410a3822d787f32229a06d5c1f1438e632
changes/46/40846/7
Rene Krenn 5 years ago
parent 69e29109ff
commit f6a2802130

@ -417,6 +417,15 @@ sub update_item {
value => $resource->{cft_ringtimeout},
});
}
} elsif ($c->model('DB')->resultset('voip_cf_mappings')->search_rs({
subscriber_id => $item->provisioning_voip_subscriber->id,
type => 'cft',
enabled => 1,
})->count == 0) {
NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c,
attribute => 'ringtimeout',
prov_subscriber => $item->provisioning_voip_subscriber)->delete;
}
} catch($e) {

@ -366,6 +366,7 @@ sub update_item {
$mapping->delete;
$cf_preference->delete;
}
} catch($e) {
$c->log->error("Error Updating '$type': $e");
$self->error($c, HTTP_INTERNAL_SERVER_ERROR, "CallForward '$type' could not be updated.");
@ -386,6 +387,15 @@ sub update_item {
value => $resource->{cft}{ringtimeout},
});
}
} elsif ($c->model('DB')->resultset('voip_cf_mappings')->search_rs({
subscriber_id => $prov_subs->id,
type => 'cft',
enabled => 1,
})->count == 0) {
NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c,
attribute => 'ringtimeout',
prov_subscriber => $prov_subs)->delete;
}
$item->discard_changes;

Loading…
Cancel
Save