{# Template universel pour afficher une entité avec badge et icône #} {% extends admin.getTemplate('base_list_field') %} {% import '@kohinos/admin/sonata_entity_badge_theme.html.twig' as entity_badge %} {% block field %} {% apply spaceless %} {# Utiliser la valeur directement (pour les champs normaux) #} {% set entityToDisplay = value %} {# Si value est null, essayer d'utiliser object.FIELD_NAME (pour les virtual fields) #} {% if entityToDisplay is null and field_description.name is defined %} {% set fieldName = field_description.name %} {% if fieldName == 'accountOwner' and object.adherent is defined %} {% set entityToDisplay = object.adherent %} {% elseif fieldName == 'accountOwner' and object.prestataire is defined %} {% set entityToDisplay = object.prestataire %} {% elseif fieldName == 'owner' and object.adherent is defined %} {% set entityToDisplay = object.adherent %} {% elseif fieldName == 'owner' and object.prestataire is defined %} {% set entityToDisplay = object.prestataire %} {% 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 pour types non reconnus #} {{ entityToDisplay }} {% endif %} {% else %} {# Pas d'entité à afficher #} N/A {% endif %} {% endapply %} {% endblock %}