text: # --
  # Copyright (C) 2001-2020 OTRS AG, https://otrs.com/
  # --
  # This software comes with ABSOLUTELY NO WARRANTY. For details, see
  # the enclosed file COPYING for license information (GPL). If you
  # did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
  # --
  
  package Kernel::Output::HTML::CustomerUser::Generic;
  
  use parent 'Kernel::Output::HTML::Base';
  
  use strict;
  use warnings;
  
  our $ObjectManagerDisabled = 1;
  
  sub Run {
      my ( $Self, %Param ) = @_;
  
      # check required params
      my @Params = split /;/, $Param{Config}->{Required};
      for my $Key (@Params) {
          return if !$Key;
          return if !$Param{Data}->{$Key};
      }
  
      # get all attributes
      @Params = split /;/, $Param{Config}->{Attributes};
  
      # get layout object
      my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
  
      # build url
      my $URL = '';
      KEY:
      for my $Key (@Params) {
          next KEY if !$Param{Data}->{$Key};
          if ($URL) {
              $URL .= ', ';
          }
          $URL .= $LayoutObject->LinkEncode( $Param{Data}->{$Key} );
      }
      $URL = $Param{Config}->{URL} . $URL;
  
      my $IconName = $Param{Config}->{IconName};
  
      # generate block
      $LayoutObject->Block(
          Name => 'CustomerItemRow',
          Data => {
              %{ $Param{Config} },
              URL      => $URL,
              IconName => $IconName,
          },
      );
  
      return 1;
  }
  
  1;
  