{% extends admin.getTemplate('base_list_field') %} {% import '@kohinos/admin/sonata_entity_badge_theme.html.twig' as entity_badge %} {% block field %} {% apply spaceless %} {# Récupérer l'objet expediteur ou destinataire du flux #} {% set entityToDisplay = null %} {# Pour les flux, value contient déjà l'objet Account ou l'entité #} {# {% if value is not null %} {% set entityToDisplay = value %} {% endif %} #} {% if field_description.label|lower == 'expediteur' %} {% if object.flux is not null %} {% set entityToDisplay = object.expediteur %} {% endif %} {% elseif field_description.label|lower == 'destinataire' %} {% if object.flux is not null %} {% set entityToDisplay = object.destinataire %} {% endif %} {% elseif field_description.label|lower matches '/^Compte (groupe|comptoir|adherent|prestataire)/i' %} {% if object.account is defined and object.account.accountableObject is defined %} {% set entityToDisplay = object.account.accountableObject %} {% endif %} {% endif %} {# Afficher le badge approprié selon le type d'entité #} {% if entityToDisplay is not null %} {% if entityToDisplay is instanceof("App\\Entity\\Adherent") %} {{ entity_badge.render_adherent(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\Prestataire") %} {{ entity_badge.render_prestataire(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\Comptoir") %} {{ entity_badge.render_comptoir(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\Groupe") %} {{ entity_badge.render_groupe(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\Siege") %} {{ entity_badge.render_siege(entityToDisplay) }} {# Gestion des comptes Account* #} {% elseif entityToDisplay is instanceof("App\\Entity\\AccountAdherent") %} {{ entity_badge.render_account_adherent(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\AccountPrestataire") %} {{ entity_badge.render_account_prestataire(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\AccountComptoir") %} {{ entity_badge.render_account_comptoir(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\AccountGroupe") %} {{ entity_badge.render_account_groupe(entityToDisplay) }} {% elseif entityToDisplay is instanceof("App\\Entity\\AccountSiege") %} {{ entity_badge.render_account_siege(entityToDisplay) }} {% else %} {# Fallback si type non reconnu - afficher la valeur brute #} a{{ value }} {% endif %} {% else %} {# Pas d'entité à afficher #} - {% endif %} {% endapply %} {% endblock %}