From e3db35dd9eaf806703569a6c7cc50c1faecf2b3f Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Thu, 5 Jun 2025 20:40:22 +0200 Subject: [PATCH] MT#62568 fix get_subscriber_enable_2fa() and get_chained_preference_rs() * get_chained_preference_rs() now returns undef if the provided preference does not exist * fix Utils::Auth::get_subscriber_enable_2fa() also check if $rs is defined, in case if 'enable_2fa' preference does not exists in the database. Change-Id: Iffd7abc39c4e62a0c81a74a4dc18c04477445d34 --- lib/NGCP/Panel/Utils/Auth.pm | 2 +- lib/NGCP/Panel/Utils/Preferences.pm | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/NGCP/Panel/Utils/Auth.pm b/lib/NGCP/Panel/Utils/Auth.pm index 353dd15bf9..07e736364e 100644 --- a/lib/NGCP/Panel/Utils/Auth.pm +++ b/lib/NGCP/Panel/Utils/Auth.pm @@ -878,7 +878,7 @@ sub get_subscriber_enable_2fa { }, ); - if ($rs->first) { + if ($rs && $rs->first) { return 1 if $rs->first->value; } diff --git a/lib/NGCP/Panel/Utils/Preferences.pm b/lib/NGCP/Panel/Utils/Preferences.pm index 50a83fbc9b..ef4be09e2a 100644 --- a/lib/NGCP/Panel/Utils/Preferences.pm +++ b/lib/NGCP/Panel/Utils/Preferences.pm @@ -2529,6 +2529,8 @@ sub get_chained_preference_rs { ->resultset('voip_preferences') ->find({ attribute => $attr }); + return unless $preference; + my $type_meta = $params->{type} // 'usr'; my $type_order = $params->{order} // $type_order_default->{$type_meta}; my $provisioning_subscriber = $params->{provisioning_subscriber};