1# -- 2# Copyright (C) 2001-2020 OTRS AG, https://otrs.com/ 3# -- 4# This software comes with ABSOLUTELY NO WARRANTY. For details, see 5# the enclosed file COPYING for license information (GPL). If you 6# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt. 7# -- 8 9package Kernel::System::SysConfig::ValueType::Entity::DynamicField; 10 11use strict; 12use warnings; 13 14use Kernel::System::VariableCheck qw(:all); 15 16use parent qw(Kernel::System::SysConfig::ValueType::Entity); 17 18our @ObjectDependencies = ( 19 'Kernel::System::DynamicField', 20 'Kernel::System::Web::Request', 21); 22 23=head1 NAME 24 25Kernel::System::SysConfig::ValueType::Entity::DynamicField - System configuration dynamic-field entity type backend. 26 27=head1 PUBLIC INTERFACE 28 29=head2 new() 30 31Create an object. Do not use it directly, instead use: 32 33 use Kernel::System::ObjectManager; 34 local $Kernel::OM = Kernel::System::ObjectManager->new(); 35 my $EntityTypeObject = $Kernel::OM->Get('Kernel::System::SysConfig::ValueType::Entity::DynamicField'); 36 37=cut 38 39sub new { 40 my ( $Type, %Param ) = @_; 41 42 # Allocate new hash for object. 43 my $Self = {}; 44 bless( $Self, $Type ); 45 46 return $Self; 47} 48 49sub EntityValueList { 50 my ( $Self, %Param ) = @_; 51 52 my $DynamicFields = $Kernel::OM->Get('Kernel::System::DynamicField')->DynamicFieldList( 53 ObjectType => $Param{EntitySubType} || '', 54 ResultType => 'HASH', 55 Valid => 1, 56 ); 57 58 my @Result; 59 60 for my $ID ( sort keys %{$DynamicFields} ) { 61 push @Result, $DynamicFields->{$ID}; 62 } 63 64 return @Result; 65} 66 67sub EntityLookupFromWebRequest { 68 my ( $Self, %Param ) = @_; 69 70 my $DynamicFieldID = $Kernel::OM->Get('Kernel::System::Web::Request')->GetParam( Param => 'ID' ) // ''; 71 72 return if !$DynamicFieldID; 73 74 my $DynamicField = $Kernel::OM->Get('Kernel::System::DynamicField')->DynamicFieldGet( 75 ID => $DynamicFieldID, 76 ); 77 78 return if !IsHashRefWithData($DynamicField); 79 80 return $DynamicField->{Name} || ''; 81} 82 831; 84 85=head1 TERMS AND CONDITIONS 86 87This software is part of the OTRS project (L<https://otrs.org/>). 88 89This software comes with ABSOLUTELY NO WARRANTY. For details, see 90the enclosed file COPYING for license information (GPL). If you 91did not receive this file, see L<https://www.gnu.org/licenses/gpl-3.0.txt>. 92 93=cut 94