{# Override du template list_string pour détecter les objets Account cachés derrière __toString() #} {% import '@kohinos/admin/sonata_entity_badge_theme.html.twig' as entity_badge %} {% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %} {% block field %} {% apply spaceless %} {# Essayer de récupérer l'objet original au lieu de la string #} {% set fieldName = field_description.name %} {% set entityToDisplay = attribute(object, fieldName, [], 'method') %} {# 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 %} {# Rendu normal string pour types non reconnus #} {{ value }} {% endif %} {% else %} {# Rendu normal si pas d'objet #} {{ value }} {% endif %} {% endapply %} {% endblock %}