From b9a6b40b1646b638ff63c4628954915d218d61a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20H=C3=A4rter?= Date: Mon, 26 Feb 2024 16:11:03 +0100 Subject: [PATCH] Issue #2298: Accepted CodePolicy suggestions. --- Kernel/System/DynamicField/Backend.pm | 1 + .../DynamicField/Driver/BaseReference.pm | 2 ++ Kernel/System/DynamicField/Driver/Lens.pm | 11 +++--- Kernel/System/Web/FormCache.pm | 34 +++++++++++-------- Kernel/System/Web/UploadCache.pm | 1 + 5 files changed, 31 insertions(+), 18 deletions(-) diff --git a/Kernel/System/DynamicField/Backend.pm b/Kernel/System/DynamicField/Backend.pm index d22886c905..f3d33acd87 100644 --- a/Kernel/System/DynamicField/Backend.pm +++ b/Kernel/System/DynamicField/Backend.pm @@ -38,6 +38,7 @@ our @ObjectDependencies = ( 'Kernel::System::DynamicFieldValue', 'Kernel::System::Log', 'Kernel::System::Main', + 'Kernel::System::Web::FormCache', ); =head1 NAME diff --git a/Kernel/System/DynamicField/Driver/BaseReference.pm b/Kernel/System/DynamicField/Driver/BaseReference.pm index 58c497f7fb..110fa589f6 100644 --- a/Kernel/System/DynamicField/Driver/BaseReference.pm +++ b/Kernel/System/DynamicField/Driver/BaseReference.pm @@ -36,9 +36,11 @@ use Kernel::System::VariableCheck qw(IsArrayRefWithData IsStringWithData); our @ObjectDependencies = ( 'Kernel::Config', + 'Kernel::Output::HTML::Layout', 'Kernel::System::DB', 'Kernel::System::DynamicFieldValue', 'Kernel::System::Log', + 'Kernel::System::Web::FormCache', ); =head1 NAME diff --git a/Kernel/System/DynamicField/Driver/Lens.pm b/Kernel/System/DynamicField/Driver/Lens.pm index 0bd679c9ee..b7e5e444fa 100644 --- a/Kernel/System/DynamicField/Driver/Lens.pm +++ b/Kernel/System/DynamicField/Driver/Lens.pm @@ -35,11 +35,13 @@ use Kernel::Language qw(Translatable); our @ObjectDependencies = ( 'Kernel::Config', + 'Kernel::Output::HTML::Layout', 'Kernel::System::DB', 'Kernel::System::DynamicField', 'Kernel::System::DynamicField::Backend', 'Kernel::System::DynamicFieldValue', 'Kernel::System::Log', + 'Kernel::System::Web::FormCache', 'Kernel::System::Web::Request', ); @@ -643,7 +645,7 @@ sub GetFieldState { my $ReferenceID = $DFParam->{ $DynamicFieldConfig->{Config}{ReferenceDFName} } ? $DFParam->{ $DynamicFieldConfig->{Config}{ReferenceDFName} }[0] : undef; # get the current value of the referenced attribute field if an object is referenced - if ( $ReferenceID ) { + if ($ReferenceID) { $AttributeFieldValue = $Self->ValueGet( DynamicFieldConfig => $DynamicFieldConfig, @@ -668,7 +670,7 @@ sub GetFieldState { { my $ReferenceDFName = $DynamicFieldConfig->{Config}{ReferenceDFName}; - # if the value would change, we need to verify that the user is really allowed + # if the value would change, we need to verify that the user is really allowed # to access the provided referenced object via this form # this is the case if either the referenced object was shown via a search (1) # or is currently stored for the edited ticket/ci/... (2) @@ -678,7 +680,8 @@ sub GetFieldState { ); my $Allowed = 0; - if ( $LastSearchResults ) { + if ($LastSearchResults) { + # if a search has already been performed for this form id $Allowed = ( grep { $_ eq $ReferenceID } $LastSearchResults->@* ) ? 1 : 0; } @@ -687,7 +690,7 @@ sub GetFieldState { # TODO } - if ( $Allowed ) { + if ($Allowed) { $Return{NewValue} = $AttributeFieldValue; # already write the new value to DFParam, for possible values check further down diff --git a/Kernel/System/Web/FormCache.pm b/Kernel/System/Web/FormCache.pm index 46cf4fdd0f..a509c5097d 100644 --- a/Kernel/System/Web/FormCache.pm +++ b/Kernel/System/Web/FormCache.pm @@ -30,6 +30,11 @@ use Kernel::System::VariableCheck qw(IsHashRefWithData); our @ObjectDependencies = ( 'Kernel::Config', + 'Kernel::System::DB', + 'Kernel::System::Encode', + 'Kernel::System::Log', + 'Kernel::System::Storable', + 'Kernel::System::Web::UploadCache', ); =head1 NAME @@ -38,7 +43,7 @@ Kernel::System::Web::FormCache - a cache which stores relevant form data =head1 DESCRIPTION -All form data which has to be stored server side, except the upload cache. +All form data which has to be stored server side, except the upload cache. =head1 PUBLIC INTERFACE @@ -75,8 +80,8 @@ sub PrepareFormID { my ( $Self, %Param ) = @_; # check required params - for my $Needed ( qw/LayoutObject ParamObject/ ){ - if ( !$Param{ $Needed } ) { + for my $Needed (qw/LayoutObject ParamObject/) { + if ( !$Param{$Needed} ) { $Kernel::OM->Get('Kernel::System::Log')->Log( Priority => 'error', Message => "Need $Needed!", @@ -110,8 +115,8 @@ sub GetFormData { my ( $Self, %Param ) = @_; # check required params - for my $Needed ( qw/LayoutObject/ ){ - if ( !$Param{ $Needed } ) { + for my $Needed (qw/LayoutObject/) { + if ( !$Param{$Needed} ) { $Kernel::OM->Get('Kernel::System::Log')->Log( Priority => 'error', Message => "Need $Needed!", @@ -152,9 +157,10 @@ sub GetFormData { ROW: while ( my @Row = $DBObject->FetchrowArray() ) { + # unserialized values can be handled directly if ( !$Row[2] ) { - $FormData{$Row[0]} = $Row[1]; + $FormData{ $Row[0] } = $Row[1]; next ROW; } @@ -166,7 +172,7 @@ sub GetFormData { $EncodeObject->EncodeOutput( \$Value ); - $FormData{$Row[0]} = $Value; + $FormData{ $Row[0] } = $Value; } $Self->{Cache}{$SessionID}{$FormID} = \%FormData; @@ -192,8 +198,8 @@ sub SetFormData { my ( $Self, %Param ) = @_; # check required params - for my $Needed ( qw/LayoutObject Key/ ){ - if ( !$Param{ $Needed } ) { + for my $Needed (qw/LayoutObject Key/) { + if ( !$Param{$Needed} ) { $Kernel::OM->Get('Kernel::System::Log')->Log( Priority => 'error', Message => "Need $Needed!", @@ -230,6 +236,7 @@ create a new Form ID - usually this will be called by PrepareFormID() rather tha =cut sub FormIDCreate { + # return a new form id - this is also used by Web::UploadCache return time() . '.' . rand(12341241); } @@ -268,15 +275,14 @@ sub FormIDRemove { if ( $Param{SessionID} ) { push @SQLWhere, 'session_id = ?'; - push @Bind, \$Param{SessionID}; + push @Bind, \$Param{SessionID}; } if ( $Param{FormID} ) { push @SQLWhere, 'form_id = ?'; - push @Bind, \$Param{FormID}; + push @Bind, \$Param{FormID}; } - my $Success = $Kernel::OM->Get('Kernel::System::DB')->Do( SQL => 'DELETE FROM form_cache WHERE' . join( ' AND ', @SQLWhere ), Bind => \@Bind, @@ -330,10 +336,10 @@ sub DESTROY { push @KeysToDelete, $Key; # undefined values will just be deleted - next KEY if !defined $Data->{ $Key }; + next KEY if !defined $Data->{$Key}; my $Serialized = 0; - my $Value = $Data->{ $Key }; + my $Value = $Data->{$Key}; if ( ref $Value ) { $Value = encode_base64( $StorableObject->Serialize( Data => $Value ) diff --git a/Kernel/System/Web/UploadCache.pm b/Kernel/System/Web/UploadCache.pm index 18c475a381..dfca3826fd 100644 --- a/Kernel/System/Web/UploadCache.pm +++ b/Kernel/System/Web/UploadCache.pm @@ -21,6 +21,7 @@ use warnings; our @ObjectDependencies = ( 'Kernel::Config', + 'Kernel::System::Web::FormCache', ); =head1 NAME