From 8985839509c3c853d8e8d0b0490b71085b71ec02 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Thu, 30 Nov 2023 14:19:12 +0100 Subject: [PATCH] MT#58834 fix headerrule conditions/actions dp_id check * address a 500 error when rwr_set_id is specified but empty and dp_id is also specified Change-Id: I0160a3c2f6b3cf139935c4e2daf7e1635dafb99a --- lib/NGCP/Panel/Role/API/HeaderRuleActions.pm | 4 ++-- lib/NGCP/Panel/Role/API/HeaderRuleConditions.pm | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/NGCP/Panel/Role/API/HeaderRuleActions.pm b/lib/NGCP/Panel/Role/API/HeaderRuleActions.pm index c317fbe914..24f5e076d2 100644 --- a/lib/NGCP/Panel/Role/API/HeaderRuleActions.pm +++ b/lib/NGCP/Panel/Role/API/HeaderRuleActions.pm @@ -79,12 +79,12 @@ sub check_resource { my ($self, $c, $item, $old_resource, $resource, $form, $process_extras) = @_; my $schema = $c->model('DB'); - unless (defined $resource->{rule_id}) { + unless ($resource->{rule_id}) { $self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Required: 'rule_id'"); return; } - if (!defined $resource->{rwr_set_id} && (defined $resource->{rwr_dp} || defined $resource->{rwr_dp_id})) { + if (!$resource->{rwr_set_id} && (defined $resource->{rwr_dp} || defined $resource->{rwr_dp_id})) { $self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Missing 'rwr_set_id' (when rwr_dp is set)."); return; } diff --git a/lib/NGCP/Panel/Role/API/HeaderRuleConditions.pm b/lib/NGCP/Panel/Role/API/HeaderRuleConditions.pm index 0436bd4132..52180c7bfd 100644 --- a/lib/NGCP/Panel/Role/API/HeaderRuleConditions.pm +++ b/lib/NGCP/Panel/Role/API/HeaderRuleConditions.pm @@ -99,12 +99,12 @@ sub check_resource { my ($self, $c, $item, $old_resource, $resource, $form, $process_extras) = @_; my $schema = $c->model('DB'); - unless (defined $resource->{rule_id}) { + unless ($resource->{rule_id}) { $self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Required: 'rule_id'"); return; } - if (!defined $resource->{rwr_set_id} && (defined $resource->{rwr_dp} || defined $resource->{rwr_dp_id})) { + if (!$resource->{rwr_set_id} && (defined $resource->{rwr_dp} || defined $resource->{rwr_dp_id})) { $self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Missing 'rwr_set_id' (when rwr_dp is set)."); return; } @@ -124,6 +124,7 @@ sub check_resource { $self->error($c, HTTP_UNPROCESSABLE_ENTITY, "Invalid 'rule_id'."); return; } + return 1 unless $resource->{rwr_set_id}; my $rwr_set = $schema->resultset('voip_rewrite_rule_sets')->find({