TT#67108 peer rule unique check

Change-Id: Ic76194a526e7a11ca3cc8db8d76de0883e1cf20b
(cherry picked from commit b12b5d1d08)
changes/20/37520/1
Rene Krenn 6 years ago
parent 82cecf2620
commit 0582dc2317

@ -620,6 +620,15 @@ sub rules_create :Chained('rules_list') :PathPart('create') :Args(0) {
if($posted && $form->validated) {
try {
$form->values->{callee_prefix} //= '';
$form->values->{caller_pattern} //= '';
$form->values->{callee_pattern} //= '';
my $dup_item = $c->model('DB')->resultset('voip_peer_rules')->find({
group_id => $c->stash->{group_result}->id,
callee_pattern => $form->values->{callee_pattern},
caller_pattern => $form->values->{caller_pattern},
callee_prefix => $form->values->{callee_prefix},
});
die("peering rule already exists") if $dup_item;
$c->stash->{group_result}->voip_peer_rules->create($form->values);
NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c);
NGCP::Panel::Utils::Message::info(
@ -694,7 +703,16 @@ sub rules_edit :Chained('rules_base') :PathPart('edit') :Args(0) {
if($posted && $form->validated) {
try {
$form->values->{callee_prefix} //= '';
$form->values->{caller_pattern} //= '';
$form->values->{callee_pattern} //= '';
$form->values->{group_id} = $form->values->{group}{id};
my $dup_item = $c->model('DB')->resultset('voip_peer_rules')->find({
group_id => $form->values->{group_id},
callee_pattern => $form->values->{callee_pattern},
caller_pattern => $form->values->{caller_pattern},
callee_prefix => $form->values->{callee_prefix},
});
die("peering rule already exists") if ($dup_item && $dup_item->id != $c->stash->{rule_result}->id);
$c->stash->{rule_result}->update($form->values);
NGCP::Panel::Utils::Peering::_sip_lcr_reload(c => $c);
NGCP::Panel::Utils::Message::info(

Loading…
Cancel
Save