From f6c0d8f85e6fafac39e76a511316ae1904da94e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20H=C3=A4rter?= Date: Mon, 10 Jun 2024 15:31:02 +0200 Subject: [PATCH] Issue #3186: Enhanced error handling in AgentReferenceSearch. --- Kernel/Modules/AgentReferenceSearch.pm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Kernel/Modules/AgentReferenceSearch.pm b/Kernel/Modules/AgentReferenceSearch.pm index a4f4bffce1..439f044706 100644 --- a/Kernel/Modules/AgentReferenceSearch.pm +++ b/Kernel/Modules/AgentReferenceSearch.pm @@ -111,7 +111,14 @@ sub Run { my $InitialDynamicFieldConfig = $Kernel::OM->Get('Kernel::System::DynamicField')->DynamicFieldGet( Name => $FieldName, ); - return unless IsHashRefWithData($InitialDynamicFieldConfig); + if ( !IsHashRefWithData($InitialDynamicFieldConfig) ) { + return $LayoutObject->JSONReply( + Data => { + Success => 0, + Messsage => qq{Error reading the dynamic field '$FieldName'!}, + }, + ); + } # Check if we deal with a reference field my $IsReferenceField = $DynamicFieldBackendObject->HasBehavior( @@ -129,7 +136,14 @@ sub Run { $DynamicFieldConfig = $Kernel::OM->Get('Kernel::System::DynamicField')->DynamicFieldGet( ID => $InitialDynamicFieldConfig->{Config}{AttributeDF}, ); - return unless IsHashRefWithData($DynamicFieldConfig); + if ( !IsHashRefWithData($InitialDynamicFieldConfig) ) { + return $LayoutObject->JSONReply( + Data => { + Success => 0, + Messsage => qq{Error reading the dynamic field '$FieldName'!}, + }, + ); + } $IsReferenceField = $DynamicFieldBackendObject->HasBehavior( DynamicFieldConfig => $DynamicFieldConfig, @@ -141,7 +155,7 @@ sub Run { Data => { Success => 0, Messsage => qq{Error reading the dynamic field '$FieldName'!}, - } + }, ); } }