{# Données dynamiques entreprise (ADMIN)#} {% set company = Globals.getCompany() %} {% set companyName = company.name is iterable ? (company.name|first|default('')) : (company.name|default('')) %} {% set companyTitle = websiteSettingService.get('title') is iterable ? (websiteSettingService.get('title')|first|default(companyName)) : (websiteSettingService.get('title')|default(companyName)) %} {% set companyDescription = websiteSettingService.get('description') is iterable ? (websiteSettingService.get('description')|first|default('')) : (websiteSettingService.get('description')|default('')) %} {% set companyKeywords = websiteSettingService.get('keywords') is iterable ? (websiteSettingService.get('keywords')|first|default('')) : (websiteSettingService.get('keywords')|default('')) %} {% block title %} {{ companyTitle }} — Administration {% endblock %} {# META — valeurs textuelles uniquement #} {# CSRF pour AJAX #} {# URLs images globales #} {# STYLESHEETS #} {% block stylesheets %} {# SECTION: Bootstrap 5 – CSS cœur (layout + composants) #} {# SECTION: DataTables – intégration Bootstrap 5 (local) #} {# SECTION: Select2 – styles (local, compatible BS5) #} {# Toastr #} {# SECTION: Icônes – Font Awesome 6 #} {# SECTION: Icônes – Line Awesome #} {# SECTION: Vendor CSS – thème admin (sans Bootstrap 4 core) #} {# SECTION: Styles applicatifs compilés #} {# SECTION: Styles custom spécifiques projet #} {# SECTION: Thème CRM global (toujours en dernier) #} {# SECTION: Favicon #} {% endblock %} {# META PIXEL (ADMIN — optionnel) #} {% block meta_pixel %} {% endblock %}
{% set route_name = app.request.attributes.get('_route') %} {% set arrayRight = [] %} {% for right in app.user.groupUser.rights %} {% set arrayRight = arrayRight|merge([ right.code ]) %} {% endfor %} {{ include('@admin/includes/_topnav.html.twig') }}
{{ include('@admin/includes/_aside.html.twig') }}
{% set hasSubheader = block('subheader')|trim is not empty or block('stat')|trim is not empty or block('breadcrumb')|trim is not empty %} {% if hasSubheader %}
{% block subheader %}{% endblock %}
{% block breadcrumb %}{% endblock %}
{% block stat %}{% endblock %}
{% endif %}
{% if false %} {% set _flashMessages = app.session.flashbag.all() %} {% if _flashMessages %} {% for type, messages in _flashMessages %} {% for flashMessage in messages %}
{{ flashMessage|raw }}
{% endfor %} {% endfor %} {% endif %} {% endif %} {% block bodycontent %} {% endblock %}
{{ include('@admin/includes/_footer.html.twig') }}
{# include('@admin/_quick_sidebar.html.twig') #}
{# include('@admin/includes/_quick_nav.html.twig') #} {% block modal %} {{ include('@admin/includes/modals/_modal_create_user.html.twig') }} {{ include('@admin/includes/modals/_modal_create_product.html.twig') }} {{ include('@admin/includes/modals/_modal_choose_customer_to_create_bc.html.twig') }} {{ include('@admin/includes/modals/_modal_choose_supplier_to_create_bc.html.twig') }} {{ include('@admin/includes/modals/_modal_supplier.html.twig') }} {{ include('@admin/includes/modals/_modal_promotion.html.twig') }} {{ include('@admin/includes/modals/_modal_edit_produit.html.twig') }} {{ include('@admin/includes/modals/_modal_edit_user.html.twig') }} {{ include('@admin/includes/modals/_modal_edit_info_livraison.html.twig') }} {{ include('@admin/includes/modals/_modal_adresses.html.twig') }} {{ include('@admin/includes/modals/_modal_slider.html.twig') }} {% endblock %} {% if app.user and ("INTERNAL_MESSENGER" in arrayRight or is_granted('ROLE_SUPER_ADMIN')) %} {{ include('@admin/internal_messenger/_global_widget.html.twig') }} {% endif %} {% block js %} {# #} {# GUARD: Neutralisation définitive des scripts Bootstrap 4 / Metronic #} {# JS global CRM #} {# SECTION: Core JS – jQuery (requis pour plugins legacy) #} {# SECTION: Bootstrap 5 – Bundle global (Popper inclus) #} {# SECTION: Plugins jQuery – Select2 (local, compatible BS5) #} {# SECTION: DataTables – Core + intégration Bootstrap 5 (local) #} {# Toastr #} {# SECTION: JS applicatif – logique métier admin #} {# SECTION: Bundles Admin – thème uniquement (Bootstrap 4 exclu) #} {# #} {##} {# SECTION: Routing JS – FOSJsRouting #} {# SECTION: Plugins UI/Formulaires legacy (à migrer ultérieurement) #} {# SECTION: Impression & exports #} {# SECTION: Statistiques & graphiques (Chart.js v2) #} {% if app.user and ("INTERNAL_MESSENGER" in arrayRight or is_granted('ROLE_SUPER_ADMIN')) %} {% endif %} {# SECTION: Plugins UI divers #} {##} {# SECTION: Notifications – Toastr (configuration globale) #} {% endblock %} {% block extra_scripts %} {% endblock %} {#
#}