templates/base.html.twig line 1
<!DOCTYPE html><html lang="fr" class="h-100"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>{% block title %}B2BNaturamedicatrix{% endblock %}</title><!-- Meta tags pour empêcher le cache des pages HTML --><meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="0"><meta name="app-version" content="{{ global_version() }}"><link rel="icon"href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css"integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg=="crossorigin="anonymous" referrerpolicy="no-referrer"/><link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css"><link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.4.1/css/buttons.dataTables.min.css"><link rel="stylesheet" href="{{ '/css/cart.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/register.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/profile.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/login.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/asidePromo.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/modal.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/products.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/footer.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/nav.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/generalConditions.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/video.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/calendarActionShock.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/main.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/utilities.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/rebate-progress.css?v=' ~ random() }}"><link rel="stylesheet" href="{{ '/css/admin-notification-badge.css?v=' ~ random() }}"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto"><script src="https://cdn.jsdelivr.net/npm/he/he.js"></script><script src="{{ '/js/main.js?v=' ~ random() }}" defer></script><script src="{{ '/js/nav.js?v=' ~ random() }}" defer></script><script src="{{ '/js/rebate-progress.js?v=' ~ random() }}" defer></script>{% block stylesheets %}{{ encore_entry_link_tags('app') }}{% endblock %}</head><body class="d-flex flex-column h-100 body-content{% block body_class %}{% endblock %}">{% if is_granted('IS_AUTHENTICATED_FULLY') %}<nav class="navbarResponsive{% if clients['infocommercial'] != null %} has-extended-control{% endif %}"><div class="container"><div class="navbarLogo"><a href="{{ path('products') }}"><img src="{{ asset('uploads/img/media/logo-naturamedicatrix-pro-v2.png') }}" alt="logo-naturamedicatrix-pro"/></a></div><div class="navbar-bottom-row"><div id="navbar"><ul><li><a class="navlinkUnderline" href="{{ path('products') }}"><span class="navlinkText backgroundTextNav"><i class="fa-solid fa-house me-2"></i>Commandes produits</span></a></li><li><a class="navlinkUnderline" href="{{ path('video') }}"><span class="navlinkText backgroundTextNav"><i class="far fa-play-circle me-2"></i>Informations produits</span></a></li><li><a class="navlinkUnderline" href="#"><span class="navlinkText backgroundTextNav btn-dl-tarif"><i class="far fa-arrow-alt-circle-down me-2"></i>Télécharger les derniers tarifs</span></a></li></ul></div><!-- Mobile menu toggle --><button class="mobile-menu-toggle" id="mobileMenuToggle" aria-label="Menu mobile" aria-expanded="false"><span></span><span></span><span></span></button><div class="navPartieUserAndCart">{% if is_granted('ROLE_COMMERCIAL') %}<div class="commercialControl{% if clients['infocommercial'] != null %} has-active-control{% endif %}">{% if clients['infocommercial'] != null %}<a class="navAnimate commercial-status" data-bs-toggle="modal" data-bs-target="#takeControlModal" href="#"><i class="fas fa-user-check"></i><span>{{ clients['infocommercial'].customer ? clients['infocommercial'].customer.email : 'Client inconnu' }}</span></a>{% else %}<a class="navAnimate commercial-control" data-bs-toggle="modal" data-bs-target="#takeControlModal" href="#"><i class="fas fa-users-cog"></i><span>Contrôle client</span></a>{% endif %}</div>{% endif %}<div class="userCart"><div class="dropdown">{% if is_granted('ROLE_ADMIN') %}{% set adminNotifications = get_admin_notifications() %}{% set totalNotifications = adminNotifications|length > 0 ? adminNotifications|reduce((carry, notif) => carry + notif.count, 0) : 0 %}{% endif %}<a class="navAnimate dropdown-toggle user-dropdown-wrapper" href="#" id="userDropdown" role="button"data-bs-toggle="dropdown"aria-haspopup="true" aria-expanded="false"><i class="user-logo fas fa-user"></i>{% if is_granted('ROLE_ADMIN') and totalNotifications > 0 %}<span class="user-notification-indicator"><i class="fas fa-bell"></i></span>{% endif %}<span>{{ app.user.email }}</span></a><div class="dropdown-menu dropdown-menu-right" aria-labelledby="userDropdown"><a class="dropdown-item" href="{{ path('profile') }}">Mon profil</a><a class="dropdown-item" href="{{ path('ordersHistory') }}">Historiques des commandes</a>{# <a class="dropdown-item" href="{{ path('profil_invoices') }}">Factures</a> #}<a class="dropdown-item" href="https://naturamedicatrix.photo/" target="_blank">Bibliothèque photos</a><a class="dropdown-item" href="{{ path('app_logout') }}">Déconnexion</a>{% if is_granted('ROLE_ADMIN') %}<a class="dropdown-item admin-link" href="{{ path('admin') }}"><span>Administration</span>{% if totalNotifications > 0 %}<span class="admin-notification-badge">{{ totalNotifications }}<div class="admin-notification-tooltip"><ul class="admin-alerts-list">{% for notification in adminNotifications %}<li>{{ notification.message }}</li>{% endfor %}</ul></div></span>{% endif %}</a>{% endif %}{# {% if is_granted('ROLE_COMMERCIAL') %}#}{# <a class="dropdown-item" href="{{ path('commercial_customer_informations') }}">Info client</a>#}{# {% endif %}#}</div></div></div><div id="myCart"><a class="navAnimate" href="{{ path('cartView') }}"><i id="myCartIcon" class="cart-logo fas fa-shopping-cart"></i>Panier <span id="myCartQuantity" data-no-rebate-qty="{{ noRebateQty }}">{{ basketContents }}</span></a></div></div></div></div><!-- Barre de progression des remises --><div class="rebate-progress-bar" id="rebateProgressBar" style="display: none;"><div class="container progress-container"><div class="progress-content"><div class="progress-info"><span class="current-status" id="currentStatus"><span id="statusText">Ajoutez des produits pour débloquer les remises</span></span><span class="next-target" id="nextTarget"><strong id="nextPalierText">4 produits → 13%</strong></span></div><div class="progress-container"><div class="progress-track"><div class="progress-fill" id="progressFill" style="width: 0%"></div><div class="progress-markers" id="progressMarkers"></div></div><div class="progress-percentage" id="progressPercentage">0%</div></div></div></div></div></nav>{% endif %}{% block body %}{% endblock %}{% block footer %}<!-- Footer -->{% if is_granted('IS_AUTHENTICATED_FULLY') %}<footer class="footer footer-b2b mt-auto"><div class="footer-top"><div class="container footer-shell"><div class="footer-intro"><div class="footer-intro-badge"><i class="fab fa-envira" aria-hidden="true"></i><span>Espace B2B Professionnel</span></div><p class="footer-intro-text">Coordonnées commerciales, administratives et scientifiques</p></div><section class="row g-4 footer-grid"><div class="col-12 col-lg-4"><article class="footer-panel"><h3 class="footer-panel-title">Belgique</h3><address class="footer-address-block">22, rte des Fagnes<br/>B-4190 Ferrières<br/>Belgique</address><ul class="footer-list"><li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>04 268 18 41</span></li><li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>04 349 03 03</span></li><li><i class="fas fa-fax" aria-hidden="true"></i><span>FAX : 02 893 02 54</span></li><li><i class="fa-solid fa-envelope" aria-hidden="true"></i><a href="mailto:commande@naturamedicatrix.be">commande@naturamedicatrix.be</a></li><li><i class="fa-solid fa-receipt" aria-hidden="true"></i><span>TVA : BE 0543.862.766</span></li></ul><div class="footer-bank-box"><strong>(Belgique)</strong><br/><i class="fa-solid fa-building-columns" aria-hidden="true"></i>BE94 7320 3186 0814<span class="bank-bic">(BIC: CREGBEBB)</span></div>{# <img class="footer-mascot" src="{{ asset('img/leafy/leafy4x4.png') }}" alt="Leafy Footer"> #}</article></div><div class="col-12 col-lg-4"><article class="footer-panel"><h3 class="footer-panel-title">France / Luxembourg</h3><address class="footer-address-block">8, Hannert dem Duarref<br/>L-9772 Troine (Wincrange)<br/>Grand-Duché de Luxembourg</address><ul class="footer-list"><li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>09 77 42 37 05 (France)</span></li><li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>+352 20 88 11 95 (Luxembourg)</span></li><li><i class="fas fa-fax" aria-hidden="true"></i><span>FAX : +33 9 74 48 31 02</span></li><li><i class="fa-solid fa-envelope" aria-hidden="true"></i><a href="mailto:commande@naturamedicatrix.fr">commande@naturamedicatrix.fr</a></li><li><i class="fa-solid fa-envelope" aria-hidden="true"></i><a href="mailto:commande@naturamedicatrix.lu">commande@naturamedicatrix.lu</a></li><li><i class="fa-solid fa-receipt" aria-hidden="true"></i><span>TVA : LU26 78 82 81</span></li><li><i class="fa-solid fa-receipt" aria-hidden="true"></i><span>TVA : FR39802131615</span></li></ul><div class="footer-bank-box"><strong>(Luxembourg)</strong><br/><i class="fa-solid fa-building-columns" aria-hidden="true"></i>LU09 0141 6495 2300 0000<span class="bank-bic">(BIC: CELLLULL)</span></div><div class="footer-bank-box"><strong>(France)</strong><br/><i class="fa-solid fa-building-columns" aria-hidden="true"></i>FR76 1670 6050 0753 9617 1298 620<span class="bank-bic">(BIC: AGRIFRPP867)</span></div></article></div><div class="col-12 col-lg-4"><article class="footer-panel footer-panel-scientific"><h3 class="footer-panel-title">Une question ? Contactez notre scientifique</h3><div class="info-scientific"><p class="scientific-name">Fabien Piasco</p><p class="scientific-title">Diététicien-nutritionniste</p><p class="scientific-desc">D.E.S.S. en nutrition Alimentation fonctionnelle et santé (U. Laval, Ca)D.U. Nutrition et maladies métaboliques (U. Rennes I)Diététicien D.E. / Diplômé en neuro-nutrition (SiiN)</p><ul class="footer-list footer-list-science"><li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>04 85 44 01 24 (France)</span></li><li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>03 66 88 02 34 (France)</span></li></ul></div></article></div></section></div></div><div class="footer-copyright"><div class="container footer-copyright-inner"><span>© {{ "now"|date("Y") }} NATURAMedicatrix</span><a href="{{ path('accueil') }}">Accueil</a></div></div></footer>{% endif %}<!-- Footer --><div class="modal fade" id="takeControlModal" tabindex="-1" aria-labelledby="takeControlModalLabel" aria-hidden="true">{# {{ dump(clients['clients'][7].AdditionalCompanyInformation[0].tva) }}#}<div class="modal-dialog modal-dialog-centered"><div class="modal-content"><div class="modal-header"><h5 class="modal-title text-center w-100">Prise de contrôle client</h5><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body p-4"><form action="{{ path('take_control') }}" method="post" class="w-100"><div class="mb-4"><div class="form-floating mb-3"><input type="text" id="searchInput" placeholder="Rechercher un client..." class="form-control" /><label for="searchInput">Rechercher un client...</label></div><div class="form-floating"><select class="form-select" name="userControlledId" id="userControlledId"><option value="">Sélectionner un client</option>{% for client in clients['clients'] %}{% for info in client.AdditionalCompanyInformation %}<option value="{{ client.id }}">{{ info.tva }} - {{ client.email }}</option>{% endfor %}{% endfor %}</select><label for="userControlledId">Choisir un client</label></div></div><div class="d-grid gap-2"><button type="submit" class="btn modern-btn-small-primary py-3"><i class="fas fa-user-check me-2"></i>Prendre le contrôle du client</button></div></form>{% if clients['infocommercial'] != null %}<div class="border-0 pt-0 mt-2"><div class="d-grid w-100"><a href="{{ path('close_control') }}" class="btn btn-back py-3"><i class="fas fa-user-times me-2"></i>Arrêter le contrôle du client</a></div></div>{% endif %}</div></div></div></div><div class="modal fade" id="modal-invoices-dl" tabindex="-1" aria-hidden="true" aria-labelledby="modalTarifsLabel"><div class="modal-dialog modal-lg modal-dialog-centered"><div class="modal-content"><div class="modal-header"><h5 class="modal-title" id="modalTarifsLabel">Télécharger les derniers tarifs</h5><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button></div><div class="modal-body"><div class="row g-4"><!-- Section PDF --><div class="col-md-7"><div class="tarif-section"><div class="tarif-section-header"><i class="fa-solid fa-file-pdf tarif-icon-pdf"></i><h3 class="tarif-section-title">Tarifs PDF</h3></div><div class="tarif-cards"><div class="tarif-card"><div class="tarif-card-body"><h6 class="tarif-card-title">Tarif NATURAMedicatrix — Olivie Pharma®</h6><span class="tarif-card-period">1<sup>er</sup> semestre 2026</span><a href="{{ asset('tarifs/TARIF-Pro-Natura-Olivie-2026.pdf') }}" target="_blank" class="btn-tarif"><i class="fa-solid fa-download me-2"></i>Télécharger</a></div></div><div class="tarif-card"><div class="tarif-card-body"><h6 class="tarif-card-title">Tarif Dr. Jacob's®</h6><span class="tarif-card-period">1<sup>er</sup> semestre 2026</span><a href="{{ asset('tarifs/TARIF-Professionnel-JACOB\'s-2026.pdf') }}" target="_blank" class="btn-tarif"><i class="fa-solid fa-download me-2"></i>Télécharger</a></div></div></div></div></div><!-- Section Excel --><div class="col-md-5"><div class="tarif-section"><div class="tarif-section-header"><i class="fa-solid fa-file-excel tarif-icon-excel"></i><h3 class="tarif-section-title">Tarif Excel</h3></div><div class="tarif-cards"><div class="tarif-card"><div class="tarif-card-body"><h6 class="tarif-card-title">Tarif 2026</h6><span class="tarif-card-period">1<sup>er</sup> semestre 2026</span>{% if app.user.AdditionalCompanyInformation is defined %}{% for data in app.user.AdditionalCompanyInformation %}{% if data.companyCountry == "France" or data.companyCountry == "Luxembourg" %}<a href="{{ asset('tarifs/Tarif-Pro-2026 FR .xlsx') }}" target="_blank" class="btn-tarif"><i class="fa-solid fa-download me-2"></i>Télécharger</a>{% else %}<a href="{{ asset('tarifs/Tarif-Pro-2026 FR .xlsx') }}" target="_blank" class="btn-tarif"><i class="fa-solid fa-download me-2"></i>Télécharger</a>{% endif %}{% endfor %}{% endif %}</div></div></div></div></div></div></div></div></div></div>{% endblock %}<!-- CDN BOOTSTRAP 5 --><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"crossorigin="anonymous"></script><!-- CDN jQuery--><script src="https://code.jquery.com/jquery-3.7.0.js" integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM="crossorigin="anonymous"></script><!-- CDN Easing, jQueryUI (animations) --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script><script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script><!-- CDN DATATABLES JS --><script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script><script type="text/javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/dataTables.buttons.min.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script><script type="text/javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/buttons.html5.min.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script><script>$(document).ready(function() {$("#myInput").on("keyup", function() {var value = $(this).val().toLowerCase();$("#table_all_clients tr").filter(function() {$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)});});$('.btn-dl-tarif').click(function(e){e.preventDefault(); // Empêche le comportement de lien par défaut$('#modal-invoices-dl').modal('show'); // Ouvre le modal});var $options = $("#userControlledId option").clone(); // clone original options$("#searchInput").on("keyup", function() {var searchVal = this.value.toLowerCase();$("#userControlledId").empty(); // remove all options$options.each(function() {var text = $(this).text().toLowerCase();if (text.indexOf(searchVal) !== -1) {$("#userControlledId").append(this);}});});});</script>{% block javascripts %}{{ encore_entry_script_tags('app') }}{% endblock %}</body></html>