From b850771110c55414fbfb53b17bfc96b898a27650 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Thu, 19 Jan 2023 18:32:25 +0100 Subject: [PATCH] MT#56432 UI prevent ncos level timeset to have different reseller_id Change-Id: Ic4874d48e59a4104ddc297ee29fc136a8faf7c37 --- lib/NGCP/Panel/Controller/NCOS.pm | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/NGCP/Panel/Controller/NCOS.pm b/lib/NGCP/Panel/Controller/NCOS.pm index 82fcab3d50..6c92e86cca 100644 --- a/lib/NGCP/Panel/Controller/NCOS.pm +++ b/lib/NGCP/Panel/Controller/NCOS.pm @@ -126,6 +126,13 @@ sub edit :Chained('base') :PathPart('edit') { delete $form->values->{reseller}; $form->values->{time_set_id} = $form->values->{timeset}{id}; delete $form->values->{reseller}; + my $time_set_id = $form->values->{time_set_id}; + if ($time_set_id) { + my $timeset = $c->model('DB')->resultset('voip_time_sets')->find($time_set_id); + if ($form->values->{reseller_id} != $timeset->reseller_id) { + die "'timeset reseller_id' is different from the NCOS one"; + } + } $level->update($form->values); delete $c->session->{created_objects}->{reseller}; NGCP::Panel::Utils::Message::info( @@ -210,10 +217,20 @@ sub create :Chained('levels_list') :PathPart('create') :Args(0) { if($posted && $form->validated) { try { my $level = $c->stash->{levels_rs}; - unless($c->user->is_superuser) { + unless ($c->user->is_superuser) { $form->values->{reseller}{id} = $c->user->reseller_id; } - $form->values->{time_set_id} = $form->values->{timeset}{id}; + if ($form->values->{timeset}) { + my $time_set_id = $form->values->{timeset}{id}; + if ($time_set_id) { + my $timeset = $c->model('DB')->resultset('voip_time_sets')->find($time_set_id); + if ($form->values->{reseller}{id} != $timeset->reseller_id) { + die "'timeset reseller_id' is different from the NCOS one"; + } + } + } else { + delete $form->values->{timeset}; + } $level->create($form->values); delete $c->session->{created_objects}->{reseller}; NGCP::Panel::Utils::Message::info(