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="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">
{% 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 tarifs 2025</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">
<a class="navAnimate dropdown-toggle" href="#" id="userDropdown" role="button"
data-bs-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
<i class="user-logo fas fa-user"></i>
<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" href="{{ path('admin') }}">Administration</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">
Prochain palier : <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="bg-dark text-white footer mt-auto">
<div class="container p-4 pb-0">
<section class="contactUs row">
<div class="footer-address col-md-4 text-center">
<i class="fab fa-envira fa-2x"></i>
<p class="text-address">Belgique</p>
<address>
22, rte des Fagnes<br/> B-4190 Ferrières <br/> Belgique
</address>
<div class="infoContact">
<p class="info-tel">
<i class="fas fa-mobile-alt"></i> <span>04 268 18 41</span>
</p>
<p class="info-tel">
<i class="fas fa-mobile-alt"></i> <span>04 349 03 03</span>
</p>
<p class="info-tel">
FAX : <span>02 893 02 54</span>
</p>
<p class="info-mail">
<i class="fa-solid fa-envelope"></i> <a href="mailto:commande@naturamedicatrix.be">commande@naturamedicatrix.be</a>
</p>
<p class="info-tva">TVA : BE 0543.862.766<br/></p>
<p class="info-bank">(Belgique)<br/><i class="fa-solid fa-building-columns"></i> BE94 7320 3186 0814 <span class="bank-bic">(BIC: CREGBEBB)</span></p>
<img class="img-fluid mb-2" src="{{ asset('img/leafy/leafy4x4.png') }}" alt="Leafy Footer">
</div>
</div>
<div class="footer-address col-md-4 text-center mb-5">
<i class="fab fa-envira fa-2x"></i>
<p class="text-address">France / Luxembourg</p>
<address>
8, Hannert dem Duarref<br/> L-9772 Troine (Wincrange)<br/> Grand-Duché de Luxembourg
</address>
<div class="infoContact">
<p class="info-tel">
<i class="fas fa-mobile-alt"></i> <span>09 77 42 37 05 (France)</span>
</p>
<p class="info-tel">
<i class="fas fa-mobile-alt"></i> <span>+352 20 88 11 95 (Luxembourg)</span>
</p>
<p class="info-tel">
FAX : <span>+33 9 74 48 31 02</span>
</p>
<p class="info-mail">
<i class="fa-solid fa-envelope"></i> <a href="mailto:commande@naturamedicatrix.fr">commande@naturamedicatrix.fr</a>
</p>
<p class="info-mail-lu">
<i class="fa-solid fa-envelope"></i> <a href="mailto:commande@naturamedicatrix.lu">commande@naturamedicatrix.lu</a>
</p>
<p class="info-tva"> TVA : LU26788281 <br/> TVA : FR3980213161500014</p>
</div>
<p class="info-bank">(Luxembourg)<br/><i class="fa-solid fa-building-columns"></i> LU09 0141 6495 2300 0000 <span class="bank-bic">(BIC: CELLLULL)</span></p>
<p class="info-bank">(France)<br/><i class="fa-solid fa-building-columns"></i> FR76 1670 6050 0753 9617 1298 620 <span class="bank-bic">(BIC: AGRIFRPP867)</span></p>
</div>
<div class="footer-address scientific-footer col-md-4 text-center">
<i class="fa-solid fa-capsules"></i>
<p class="text-address">Une question ? Contactez nos scientifiques</p>
<div class="info-scientific">
<p class="scientific-name">Anthony-Damien Désirée</p>
<p class="scientific-title">PhD</p>
<p class="scientific-desc">Doctorat en Biologie, Biochimie, Physiologie de la Nutrition (Université de Bourgogne, France)</p>
<p class="info-tel"><i class="fas fa-mobile-alt"></i> +33 (0)3 66 88 02 34 (France)</p>
<p class="info-tel"><i class="fas fa-mobile-alt"></i> +32 42 90 00 72 (Reste du monde)</p>
</div>
<hr/>
<div class="info-scientific mt-3" >
<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>
<p class="info-tel"><i class="fas fa-mobile-alt"></i> 04 85 44 01 24 (France)</p>
<p class="info-tel"><i class="fas fa-mobile-alt"></i> 03 66 88 02 34 (France)</p>
</div>
</div>
</section>
</div>
<div class="footer-copyright text-center p-3">
© {{ "now"|date("Y") }} Copyright:
<a class="text-white" href="{{ path('accueil') }}">NATURAMedicatrix</a>
</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" id="modal-invoices-dl" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Télécharger les tarifs 2025.</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body d-flex align-items-center justify-content-around">
<div class="row modalPartPdfTarif align-items-center mb-2">
<div class="col-md-12 d-flex flex-column justify-content-center align-items-center mb-3 mt-4">
<h3>PDF</h3>
<i class="fa-solid fa-file-pdf"></i>
</div>
<div class="row mb-3 modalTarifNM_Jacob_Olivie justify-content-center align-items-center border-top">
<div class="col-md-6 d-flex justify-content-center align-items-center flex-column">
<span style="font-size: 14px;" class="text-nowrap mt-3"><strong>Tarif NaturaMedicatrix-Olivie</strong></span>
<a href="{{ asset('tarifs/TARIF-Professionnel-NaturaMedicatrix-Olivie-2025.pdf') }}" target="_blank">
<button class="btn backgroundTextNav mt-3">Télécharger</button>
</a>
</div>
<div class="col-md-6 d-flex justify-content-center align-items-center flex-column ">
<span style="font-size: 14px;" class="text-nowrap mt-3"> <strong>Tarif Dr. Jacob’s®</strong></span>
<a href="{{ asset('tarifs/TARIF-Professionnel-JACOB\'s-2025.pdf') }}" target="_blank">
<button class="btn backgroundTextNav mt-3">Télécharger</button>
</a>
</div>
</div>
</div>
<div class="row modalPartExcelTarif align-items-center mb-2">
<div class="col-md-12 d-flex flex-column justify-content-center align-items-center mb-3 mt-4">
<h3>EXCEL</h3>
<i class="fa-solid fa-file-excel"></i>
{# <a href=""><button class="btn backgroundTextNav mt-3 mb-5">Télécharger</button></a>#}
</div>
<div class="row mb-3">
<div class="col-md-12 d-flex justify-content-center align-items-center flex-column border-top ">
<span style="font-size: 14px;" class="mt-3"><strong>Tarif 2025</strong></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_professionnel_2025_France.xlsx') }}" target="_blank">
<button class="btn backgroundTextNav mt-3">Télécharger</button>
</a>
{% else %}
<a href="{{ asset('tarifs/Tarif_professionnel_2025_Belgique.xlsx') }}" target="_blank">
<button class="btn backgroundTextNav mt-3">Télécharger</button>
</a>
{% endif %}
{% endfor %}
{% endif %}
</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>