templates/base.html.twig line 1

  1. <!DOCTYPE html>
  2. <html lang="fr" class="h-100">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>{% block title %}B2BNaturamedicatrix{% endblock %}</title>
  7.     
  8.     <!-- Meta tags pour empêcher le cache des pages HTML -->
  9.     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
  10.     <meta http-equiv="Pragma" content="no-cache">
  11.     <meta http-equiv="Expires" content="0">
  12.     <meta name="app-version" content="{{ global_version() }}">
  13.     <link rel="icon"
  14.           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>">
  15.     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
  16.           integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
  17.     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css"
  18.           integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg=="
  19.           crossorigin="anonymous" referrerpolicy="no-referrer"/>
  20.     <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
  21.     <link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.4.1/css/buttons.dataTables.min.css">
  22.     <link rel="stylesheet" href="{{ '/css/cart.css?v=' ~ random() }}">
  23.     <link rel="stylesheet" href="{{ '/css/register.css?v=' ~ random() }}">
  24.     <link rel="stylesheet" href="{{ '/css/profile.css?v=' ~ random() }}">
  25.     <link rel="stylesheet" href="{{ '/css/login.css?v=' ~ random() }}">
  26.     <link rel="stylesheet" href="{{ '/css/asidePromo.css?v=' ~ random() }}">
  27.     <link rel="stylesheet" href="{{ '/css/modal.css?v=' ~ random() }}">
  28.     <link rel="stylesheet" href="{{ '/css/products.css?v=' ~ random() }}">
  29.     <link rel="stylesheet" href="{{ '/css/footer.css?v=' ~ random() }}">
  30.     <link rel="stylesheet" href="{{ '/css/nav.css?v=' ~ random() }}">
  31.     <link rel="stylesheet" href="{{ '/css/generalConditions.css?v=' ~ random() }}">
  32.     <link rel="stylesheet" href="{{ '/css/video.css?v=' ~ random() }}">
  33.     <link rel="stylesheet" href="{{ '/css/calendarActionShock.css?v=' ~ random() }}">
  34.     <link rel="stylesheet" href="{{ '/css/main.css?v=' ~ random() }}">
  35.     <link rel="stylesheet" href="{{ '/css/utilities.css?v=' ~ random() }}">
  36.     <link rel="stylesheet" href="{{ '/css/rebate-progress.css?v=' ~ random() }}">
  37.     <link rel="stylesheet" href="{{ '/css/admin-notification-badge.css?v=' ~ random() }}">
  38.     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto">
  39.     <script src="https://cdn.jsdelivr.net/npm/he/he.js"></script>
  40.     <script src="{{ '/js/main.js?v=' ~ random() }}" defer></script>
  41.     <script src="{{ '/js/nav.js?v=' ~ random() }}" defer></script>
  42.     <script src="{{ '/js/rebate-progress.js?v=' ~ random() }}" defer></script>
  43.     {% block stylesheets %}
  44.         {{ encore_entry_link_tags('app') }}
  45.     {% endblock %}
  46. </head>
  47. <body class="d-flex flex-column h-100 body-content{% block body_class %}{% endblock %}">
  48. {% if is_granted('IS_AUTHENTICATED_FULLY') %}
  49. <nav class="navbarResponsive{% if clients['infocommercial'] != null %} has-extended-control{% endif %}">
  50.     <div class="container">
  51.         <div class="navbarLogo">
  52.             <a href="{{ path('products') }}">
  53.                 <img src="{{ asset('uploads/img/media/logo-naturamedicatrix-pro-v2.png') }}" alt="logo-naturamedicatrix-pro"/>
  54.             </a>
  55.         </div>
  56.         <div class="navbar-bottom-row">
  57.             <div id="navbar">
  58.                 <ul>
  59.                     <li>
  60.                         <a class="navlinkUnderline" href="{{ path('products') }}">
  61.                             <span class="navlinkText backgroundTextNav"><i class="fa-solid fa-house me-2"></i>Commandes produits</span>
  62.                         </a>
  63.                     </li>
  64.                     <li>
  65.                         <a class="navlinkUnderline" href="{{ path('video') }}">
  66.                             <span class="navlinkText backgroundTextNav"><i class="far fa-play-circle me-2"></i>Informations produits</span>
  67.                         </a>
  68.                     </li>
  69.                     <li>
  70.                         <a class="navlinkUnderline" href="#">
  71.                             <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>
  72.                         </a>
  73.                     </li>
  74.                 </ul>
  75.             </div>
  76.             <!-- Mobile menu toggle -->
  77.             <button class="mobile-menu-toggle" id="mobileMenuToggle" aria-label="Menu mobile" aria-expanded="false">
  78.                 <span></span>
  79.                 <span></span>
  80.                 <span></span>
  81.             </button>
  82.             <div class="navPartieUserAndCart">
  83.             {% if is_granted('ROLE_COMMERCIAL') %}
  84.                 <div class="commercialControl{% if clients['infocommercial'] != null %} has-active-control{% endif %}">
  85.                     {% if clients['infocommercial'] != null %}
  86.                         <a class="navAnimate commercial-status" data-bs-toggle="modal" data-bs-target="#takeControlModal" href="#">
  87.                             <i class="fas fa-user-check"></i>
  88.                             <span>{{ clients['infocommercial'].customer ? clients['infocommercial'].customer.email : 'Client inconnu' }}</span>
  89.                         </a>
  90.                     {% else %}
  91.                         <a class="navAnimate commercial-control" data-bs-toggle="modal" data-bs-target="#takeControlModal" href="#">
  92.                             <i class="fas fa-users-cog"></i>
  93.                             <span>Contrôle client</span>
  94.                         </a>
  95.                     {% endif %}
  96.                 </div>
  97.             {% endif %}
  98.             <div class="userCart">
  99.                 <div class="dropdown">
  100.                     {% if is_granted('ROLE_ADMIN') %}
  101.                         {% set adminNotifications = get_admin_notifications() %}
  102.                         {% set totalNotifications = adminNotifications|length > 0 ? adminNotifications|reduce((carry, notif) => carry + notif.count, 0) : 0 %}
  103.                     {% endif %}
  104.                     <a class="navAnimate dropdown-toggle user-dropdown-wrapper" href="#" id="userDropdown" role="button"
  105.                        data-bs-toggle="dropdown"
  106.                        aria-haspopup="true" aria-expanded="false">
  107.                         <i class="user-logo fas fa-user"></i>
  108.                         {% if is_granted('ROLE_ADMIN') and totalNotifications > 0 %}
  109.                             <span class="user-notification-indicator">
  110.                                 <i class="fas fa-bell"></i>
  111.                             </span>
  112.                         {% endif %}
  113.                         <span>{{ app.user.email }}</span>
  114.                     </a>
  115.                     <div class="dropdown-menu dropdown-menu-right" aria-labelledby="userDropdown">
  116.                         <a class="dropdown-item" href="{{ path('profile') }}">Mon profil</a>
  117.                         <a class="dropdown-item" href="{{ path('ordersHistory') }}">Historiques des commandes</a>
  118.                         {# <a class="dropdown-item" href="{{ path('profil_invoices') }}">Factures</a> #}
  119.                         <a class="dropdown-item" href="https://naturamedicatrix.photo/" target="_blank">Bibliothèque photos</a>
  120.                         <a class="dropdown-item" href="{{ path('app_logout') }}">Déconnexion</a>
  121.                         {% if is_granted('ROLE_ADMIN') %}
  122.                             <a class="dropdown-item admin-link" href="{{ path('admin') }}">
  123.                                 <span>Administration</span>
  124.                                 {% if totalNotifications > 0 %}
  125.                                     <span class="admin-notification-badge">
  126.                                         {{ totalNotifications }}
  127.                                         <div class="admin-notification-tooltip">
  128.                                             <ul class="admin-alerts-list">
  129.                                                 {% for notification in adminNotifications %}
  130.                                                     <li>{{ notification.message }}</li>
  131.                                                 {% endfor %}
  132.                                             </ul>
  133.                                         </div>
  134.                                     </span>
  135.                                 {% endif %}
  136.                             </a>
  137.                         {% endif %}
  138. {#                        {% if is_granted('ROLE_COMMERCIAL') %}#}
  139. {#                            <a class="dropdown-item" href="{{ path('commercial_customer_informations') }}">Info client</a>#}
  140. {#                        {% endif %}#}
  141.                     </div>
  142.                 </div>
  143.             </div>
  144.             <div id="myCart">
  145.                 <a class="navAnimate" href="{{ path('cartView') }}"><i id="myCartIcon" class="cart-logo fas fa-shopping-cart"></i>
  146.                     Panier <span id="myCartQuantity" data-no-rebate-qty="{{ noRebateQty }}">{{ basketContents }}</span>
  147.                 </a>
  148.             </div>
  149.         </div>
  150.     </div>
  151.     </div>
  152.     
  153.     <!-- Barre de progression des remises -->
  154.     <div class="rebate-progress-bar" id="rebateProgressBar" style="display: none;">
  155.         <div class="container progress-container">
  156.             <div class="progress-content">
  157.                 <div class="progress-info">
  158.                     <span class="current-status" id="currentStatus">
  159.                         <span id="statusText">Ajoutez des produits pour débloquer les remises</span>
  160.                     </span>
  161.                     <span class="next-target" id="nextTarget">
  162.                         <strong id="nextPalierText">4 produits → 13%</strong>
  163.                     </span>
  164.                 </div>
  165.                 <div class="progress-container">
  166.                     <div class="progress-track">
  167.                         <div class="progress-fill" id="progressFill" style="width: 0%"></div>
  168.                         <div class="progress-markers" id="progressMarkers"></div>
  169.                     </div>
  170.                     <div class="progress-percentage" id="progressPercentage">0%</div>
  171.                 </div>
  172.             </div>
  173.         </div>
  174.     </div>
  175. </nav>
  176. {% endif %}
  177. {% block body %}{% endblock %}
  178. {% block footer %}
  179.     <!-- Footer -->
  180.     {% if is_granted('IS_AUTHENTICATED_FULLY') %}
  181.     <footer class="footer footer-b2b mt-auto">
  182.         <div class="footer-top">
  183.             <div class="container footer-shell">
  184.                 <div class="footer-intro">
  185.                     <div class="footer-intro-badge">
  186.                         <i class="fab fa-envira" aria-hidden="true"></i>
  187.                         <span>Espace B2B Professionnel</span>
  188.                     </div>
  189.                     <p class="footer-intro-text">Coordonnées commerciales, administratives et scientifiques</p>
  190.                 </div>
  191.                 <section class="row g-4 footer-grid">
  192.                     <div class="col-12 col-lg-4">
  193.                         <article class="footer-panel">
  194.                             <h3 class="footer-panel-title">Belgique</h3>
  195.                             <address class="footer-address-block">
  196.                                 22, rte des Fagnes<br/>B-4190 Ferrières<br/>Belgique
  197.                             </address>
  198.                             <ul class="footer-list">
  199.                                 <li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>04 268 18 41</span></li>
  200.                                 <li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>04 349 03 03</span></li>
  201.                                 <li><i class="fas fa-fax" aria-hidden="true"></i><span>FAX : 02 893 02 54</span></li>
  202.                                 <li><i class="fa-solid fa-envelope" aria-hidden="true"></i><a href="mailto:commande@naturamedicatrix.be">commande@naturamedicatrix.be</a></li>
  203.                                 <li><i class="fa-solid fa-receipt" aria-hidden="true"></i><span>TVA : BE 0543.862.766</span></li>
  204.                             </ul>
  205.                             <div class="footer-bank-box">
  206.                                 <strong>(Belgique)</strong><br/>
  207.                                 <i class="fa-solid fa-building-columns" aria-hidden="true"></i>
  208.                                 BE94 7320 3186 0814
  209.                                 <span class="bank-bic">(BIC: CREGBEBB)</span>
  210.                             </div>
  211.                             {# <img class="footer-mascot" src="{{ asset('img/leafy/leafy4x4.png') }}" alt="Leafy Footer"> #}
  212.                         </article>
  213.                     </div>
  214.                     <div class="col-12 col-lg-4">
  215.                         <article class="footer-panel">
  216.                             <h3 class="footer-panel-title">France / Luxembourg</h3>
  217.                             <address class="footer-address-block">
  218.                                 8, Hannert dem Duarref<br/>L-9772 Troine (Wincrange)<br/>Grand-Duché de Luxembourg
  219.                             </address>
  220.                             <ul class="footer-list">
  221.                                 <li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>09 77 42 37 05 (France)</span></li>
  222.                                 <li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>+352 20 88 11 95 (Luxembourg)</span></li>
  223.                                 <li><i class="fas fa-fax" aria-hidden="true"></i><span>FAX : +33 9 74 48 31 02</span></li>
  224.                                 <li><i class="fa-solid fa-envelope" aria-hidden="true"></i><a href="mailto:commande@naturamedicatrix.fr">commande@naturamedicatrix.fr</a></li>
  225.                                 <li><i class="fa-solid fa-envelope" aria-hidden="true"></i><a href="mailto:commande@naturamedicatrix.lu">commande@naturamedicatrix.lu</a></li>
  226.                                 <li><i class="fa-solid fa-receipt" aria-hidden="true"></i><span>TVA : LU26 78 82 81</span></li>
  227.                                 <li><i class="fa-solid fa-receipt" aria-hidden="true"></i><span>TVA : FR39802131615</span></li>
  228.                             </ul>
  229.                             <div class="footer-bank-box">
  230.                                 <strong>(Luxembourg)</strong><br/>
  231.                                 <i class="fa-solid fa-building-columns" aria-hidden="true"></i>
  232.                                 LU09 0141 6495 2300 0000
  233.                                 <span class="bank-bic">(BIC: CELLLULL)</span>
  234.                             </div>
  235.                             <div class="footer-bank-box">
  236.                                 <strong>(France)</strong><br/>
  237.                                 <i class="fa-solid fa-building-columns" aria-hidden="true"></i>
  238.                                 FR76 1670 6050 0753 9617 1298 620
  239.                                 <span class="bank-bic">(BIC: AGRIFRPP867)</span>
  240.                             </div>
  241.                         </article>
  242.                     </div>
  243.                     <div class="col-12 col-lg-4">
  244.                         <article class="footer-panel footer-panel-scientific">
  245.                             <h3 class="footer-panel-title">Une question ? Contactez notre scientifique</h3>
  246.                             <div class="info-scientific">
  247.                                 <p class="scientific-name">Fabien Piasco</p>
  248.                                 <p class="scientific-title">Diététicien-nutritionniste</p>
  249.                                 <p class="scientific-desc">
  250.                                     D.E.S.S. en nutrition Alimentation fonctionnelle et santé (U. Laval, Ca)
  251.                                     D.U. Nutrition et maladies métaboliques (U. Rennes I)
  252.                                     Diététicien D.E. / Diplômé en neuro-nutrition (SiiN)
  253.                                 </p>
  254.                                 <ul class="footer-list footer-list-science">
  255.                                     <li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>04 85 44 01 24 (France)</span></li>
  256.                                     <li><i class="fas fa-mobile-alt" aria-hidden="true"></i><span>03 66 88 02 34 (France)</span></li>
  257.                                 </ul>
  258.                             </div>
  259.                         </article>
  260.                     </div>
  261.                 </section>
  262.             </div>
  263.         </div>
  264.         <div class="footer-copyright">
  265.             <div class="container footer-copyright-inner">
  266.                 <span>© {{ "now"|date("Y") }} NATURAMedicatrix</span>
  267.                 <a href="{{ path('accueil') }}">Accueil</a>
  268.             </div>
  269.         </div>
  270.     </footer>
  271.     {% endif %}
  272.     <!-- Footer -->
  273.     <div class="modal fade" id="takeControlModal" tabindex="-1" aria-labelledby="takeControlModalLabel" aria-hidden="true">
  274. {#    {{ dump(clients['clients'][7].AdditionalCompanyInformation[0].tva) }}#}
  275.         <div class="modal-dialog modal-dialog-centered">
  276.             <div class="modal-content">
  277.                 <div class="modal-header">
  278.                     <h5 class="modal-title text-center w-100">Prise de contrôle client</h5>
  279.                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  280.                 </div>
  281.                 <div class="modal-body p-4">
  282.                     <form action="{{ path('take_control') }}" method="post" class="w-100">
  283.                         <div class="mb-4">
  284.                             <div class="form-floating mb-3">
  285.                                 <input type="text" id="searchInput" placeholder="Rechercher un client..." class="form-control" />
  286.                                 <label for="searchInput">Rechercher un client...</label>
  287.                             </div>
  288.                             
  289.                             <div class="form-floating">
  290.                                 <select class="form-select" name="userControlledId" id="userControlledId">
  291.                                     <option value="">Sélectionner un client</option>
  292.                                     {% for client in clients['clients'] %}
  293.                                         {% for info in client.AdditionalCompanyInformation %}
  294.                                             <option value="{{ client.id }}">{{ info.tva }} - {{ client.email }}</option>
  295.                                         {% endfor %}
  296.                                     {% endfor %}
  297.                                 </select>
  298.                                 <label for="userControlledId">Choisir un client</label>
  299.                             </div>
  300.                         </div>
  301.                         
  302.                         <div class="d-grid gap-2">
  303.                             <button type="submit" class="btn modern-btn-small-primary py-3">
  304.                                 <i class="fas fa-user-check me-2"></i>
  305.                                 Prendre le contrôle du client
  306.                             </button>
  307.                         </div>
  308.                     </form>
  309.                     {% if clients['infocommercial'] != null %}
  310.                     <div class="border-0 pt-0 mt-2">
  311.                         <div class="d-grid w-100">
  312.                             <a href="{{ path('close_control') }}" class="btn btn-back py-3">
  313.                                 <i class="fas fa-user-times me-2"></i>
  314.                                 Arrêter le contrôle du client
  315.                             </a>
  316.                         </div>
  317.                     </div>
  318.                     {% endif %}
  319.                 </div>
  320.                 
  321.                 
  322.             </div>
  323.         </div>
  324.     </div>
  325.     <div class="modal fade" id="modal-invoices-dl" tabindex="-1" aria-hidden="true" aria-labelledby="modalTarifsLabel">
  326.         <div class="modal-dialog modal-lg modal-dialog-centered">
  327.             <div class="modal-content">
  328.                 <div class="modal-header">
  329.                     <h5 class="modal-title" id="modalTarifsLabel">Télécharger les derniers tarifs</h5>
  330.                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  331.                 </div>
  332.                 <div class="modal-body">
  333.                     <div class="row g-4">
  334.                         <!-- Section PDF -->
  335.                         <div class="col-md-7">
  336.                             <div class="tarif-section">
  337.                                 <div class="tarif-section-header">
  338.                                     <i class="fa-solid fa-file-pdf tarif-icon-pdf"></i>
  339.                                     <h3 class="tarif-section-title">Tarifs PDF</h3>
  340.                                 </div>
  341.                                 <div class="tarif-cards">
  342.                                     <div class="tarif-card">
  343.                                         <div class="tarif-card-body">
  344.                                             <h6 class="tarif-card-title">Tarif NATURAMedicatrix — Olivie Pharma®</h6>
  345.                                             <span class="tarif-card-period">1<sup>er</sup> semestre 2026</span>
  346.                                             <a href="{{ asset('tarifs/TARIF-Pro-Natura-Olivie-2026.pdf') }}" target="_blank" class="btn-tarif">
  347.                                                 <i class="fa-solid fa-download me-2"></i>Télécharger
  348.                                             </a>
  349.                                         </div>
  350.                                     </div>
  351.                                     <div class="tarif-card">
  352.                                         <div class="tarif-card-body">
  353.                                             <h6 class="tarif-card-title">Tarif Dr. Jacob's®</h6>
  354.                                             <span class="tarif-card-period">1<sup>er</sup> semestre 2026</span>
  355.                                             <a href="{{ asset('tarifs/TARIF-Professionnel-JACOB\'s-2026.pdf') }}" target="_blank" class="btn-tarif">
  356.                                                 <i class="fa-solid fa-download me-2"></i>Télécharger
  357.                                             </a>
  358.                                         </div>
  359.                                     </div>
  360.                                 </div>
  361.                             </div>
  362.                         </div>
  363.                         <!-- Section Excel -->
  364.                         <div class="col-md-5">
  365.                             <div class="tarif-section">
  366.                                 <div class="tarif-section-header">
  367.                                     <i class="fa-solid fa-file-excel tarif-icon-excel"></i>
  368.                                     <h3 class="tarif-section-title">Tarif Excel</h3>
  369.                                 </div>
  370.                                 <div class="tarif-cards">
  371.                                     <div class="tarif-card">
  372.                                         <div class="tarif-card-body">
  373.                                             <h6 class="tarif-card-title">Tarif 2026</h6>
  374.                                             <span class="tarif-card-period">1<sup>er</sup> semestre 2026</span>
  375.                                             {% if app.user.AdditionalCompanyInformation is defined %}
  376.                                                 {% for data in app.user.AdditionalCompanyInformation %}
  377.                                                     {% if data.companyCountry == "France" or data.companyCountry == "Luxembourg" %}
  378.                                                         <a href="{{ asset('tarifs/Tarif-Pro-2026 FR .xlsx') }}" target="_blank" class="btn-tarif">
  379.                                                             <i class="fa-solid fa-download me-2"></i>Télécharger
  380.                                                         </a>
  381.                                                     {% else %}
  382.                                                         <a href="{{ asset('tarifs/Tarif-Pro-2026 FR .xlsx') }}" target="_blank" class="btn-tarif">
  383.                                                             <i class="fa-solid fa-download me-2"></i>Télécharger
  384.                                                         </a>
  385.                                                     {% endif %}
  386.                                                 {% endfor %}
  387.                                             {% endif %}
  388.                                         </div>
  389.                                     </div>
  390.                                 </div>
  391.                             </div>
  392.                         </div>
  393.                     </div>
  394.                 </div>
  395.             </div>
  396.         </div>
  397.     </div>
  398. {% endblock %}
  399. <!-- CDN BOOTSTRAP 5 -->
  400. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
  401.         integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
  402.         crossorigin="anonymous"></script>
  403. <!-- CDN jQuery-->
  404. <script src="https://code.jquery.com/jquery-3.7.0.js" integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM="
  405.         crossorigin="anonymous"></script>
  406. <!-- CDN Easing, jQueryUI (animations) -->
  407. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>
  408. <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
  409. <!-- CDN DATATABLES JS -->
  410. <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
  411. <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/dataTables.buttons.min.js"></script>
  412. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
  413. <script type="text/javascript" src="https://cdn.datatables.net/buttons/1.4.1/js/buttons.html5.min.js"></script>
  414. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
  415. <script>
  416.     $(document).ready(function() {
  417.         $("#myInput").on("keyup", function() {
  418.             var value = $(this).val().toLowerCase();
  419.             $("#table_all_clients tr").filter(function() {
  420.                 $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
  421.             });
  422.         });
  423.         $('.btn-dl-tarif').click(function(e){
  424.             e.preventDefault(); // Empêche le comportement de lien par défaut
  425.             $('#modal-invoices-dl').modal('show'); // Ouvre le modal
  426.         });
  427.         var $options = $("#userControlledId option").clone(); // clone original options
  428.         $("#searchInput").on("keyup", function() {
  429.             var searchVal = this.value.toLowerCase();
  430.             $("#userControlledId").empty(); // remove all options
  431.             $options.each(function() {
  432.                 var text = $(this).text().toLowerCase();
  433.                 if (text.indexOf(searchVal) !== -1) {
  434.                     $("#userControlledId").append(this);
  435.                 }
  436.             });
  437.         });
  438.     });
  439. </script>
  440. {% block javascripts %}
  441.     {{ encore_entry_script_tags('app') }}
  442. {% endblock %}
  443. </body>
  444. </html>