templates/dashboard_layout.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3. <head>
  4.   <meta charset="utf-8">
  5.   <meta content="width=device-width, initial-scale=1.0" name="viewport">
  6.   <meta content="" name="description">
  7.   <meta content="" name="keywords">
  8.     <title>
  9.         {% block title %} {{ app_name  }} {% endblock %}
  10.     </title>
  11.   {% block special_javascript %}
  12.   {% endblock special_javascript %}
  13.   <!-- Favicons -->
  14.   <link href="assets/img/favicon.png" rel="icon">
  15.   <link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
  16.     {% block stylesheets %}
  17.  
  18.   <!-- Vendor CSS Files -->
  19. <meta content="" name="description">
  20.   <meta content="" name="keywords">
  21.   <!-- Favicons -->
  22.   <link href="assets/img/favicon.png" rel="icon">
  23.   <link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
  24.    <!-- Google Fonts -->
  25.    
  26.   <link href="https://fonts.gstatic.com" rel="preconnect">
  27.   <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Nunito:300,300i,400,400i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet">
  28.   <!-- Vendor CSS Files -->
  29.   <link href="{{ asset('framework/nad/assets/vendor/bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
  30.   <link href="{{ asset('framework/nad/assets/vendor/bootstrap-icons/bootstrap-icons.css') }}" rel="stylesheet">
  31.   <link href="{{ asset('framework/nad/assets/vendor/boxicons/css/boxicons.min.css') }}" rel="stylesheet">
  32.   <link href="{{ asset('framework/nad/assets/vendor/quill/quill.snow.css') }}" rel="stylesheet">
  33.   <link href="{{ asset('framework/nad/assets/vendor/quill/quill.bubble.css') }}" rel="stylesheet">
  34.   <link href="{{ asset('framework/nad/assets/vendor/remixicon/remixicon.css') }}" rel="stylesheet">
  35.   <link href="{{ asset('framework/nad/assets/vendor/simple-datatables/style.css') }}" rel="stylesheet">
  36.   
  37.   <!-- Template Main CSS File -->
  38.   <link href="{{ asset('framework/nad/assets/css/style.css') }}" rel="stylesheet">
  39.   <link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
  40.     <link href="{{ asset('framework/slick/slick-theme.css') }}" rel="stylesheet" type="text/css">
  41.   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css" integrity="sha512-6S2HWzVFxruDlZxI3sXOZZ4/eJ8AcxkQH1+JjSe/ONCEqR9L4Ysq5JdT5ipqtzU7WHalNwzwBv+iE51gNHJNqQ==" crossorigin="anonymous" referrerpolicy="no-referrer" />
  42.     <link href="https://cdn.datatables.net/1.13.1/css/jquery.dataTables.min.css" rel="stylesheet" type="text/css">
  43.   <link href="{{ asset('css/general.css') }}" rel="stylesheet">
  44.     <style>
  45.         .resultat-temp-recherche, .resultat-temp-recherche a{
  46.             color: #000;
  47.         }
  48.         .resultat-temp-recherche{
  49.             color: #000;
  50.             height: 50px;
  51.         }
  52.         
  53.         .resultat-temp-recherche:hover{
  54.             background: #F9C852;
  55.         }
  56.     </style>
  57.     {% endblock stylesheets%}
  58. </head>
  59. <body>
  60.  {% block header %}
  61.     <!-- ======= Header ======= -->
  62.   <header id="header" class="header fixed-top d-flex align-items-center">
  63.     <div class="d-flex align-items-center justify-content-between">
  64.       <a href="{{ path('home') }}" class="logo d-flex align-items-center">
  65.         <img src="assets/img/logo.png" alt="">
  66.         <span class="d-none d-lg-block">{{ app_name }}</span>
  67.       </a>
  68.       <i class="bi bi-list toggle-sidebar-btn"></i>
  69.     </div><!-- End Logo -->
  70.     <div class="search-bar">
  71.       <form class="search-form d-flex align-items-center" method="POST" action="#">
  72.         <input type="text" name="query" id="searchInput" placeholder="Search" title="Enter search keyword">
  73.         <button type="submit" title="Search"><i class="bi bi-search"></i></button>
  74.       </form>
  75.     </div><!-- End Search Bar -->
  76.    
  77.     <nav class="header-nav ms-auto">
  78.       <ul class="d-flex align-items-center">
  79.         <li class="nav-item d-block d-lg-none">
  80.           <a class="nav-link nav-icon search-bar-toggle " href="#">
  81.             <i class="bi bi-search"></i>
  82.           </a>
  83.         </li><!-- End Search Icon-->
  84.         <li class="nav-item">
  85.           <img class="chargement" src="{{ asset('image/loading.gif') }}" />
  86.         </li>
  87.        
  88.        
  89.         {% if userBoutique.role == constant('App\\Entity\\RoleBoutique::ADMIN') or userBoutique.role == constant('App\\Entity\\RoleBoutique::MANAGER') %}
  90.                               
  91.                        
  92.             <li class="nav-item">
  93.                 <a href="{{ path('admin.users', {'slug': boutique.slug}) }}">
  94.                               <i class="bi bi-people"></i>
  95.                  {{ 'admin.users.users' | trans }}
  96.                 </a>
  97.              </li>
  98.         {% endif %}
  99.         <li class="nav-item">
  100.         <a href="{{ path('admin.my_tickets', {'slug': boutique.slug, 'id': app.user.id}) }}">
  101.           <i class="nav-link-icon bi bi-chat"></i>
  102.             {{ 'admin.my_tickets' | trans }}</a>
  103.         </li>    
  104.         <li class="nav-item dropdown pe-3">
  105.           <a class="nav-link nav-profile d-flex align-items-center pe-0" href="#" data-bs-toggle="dropdown">
  106.           {% if app.user %}
  107.                 <img src="{{ asset(app.user.avatar.url) }}" alt="Profile" class="rounded-circle">
  108.           {% endif %}
  109.             <span class="d-none d-md-block dropdown-toggle ps-2">{% if app.user %}{{ app.user.username }}{% endif %}</span>
  110.           </a>
  111.           <ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow profile">
  112.             <li class="dropdown-header">
  113.               {% if app.user %}<h6>{{ app.user.nomComplet }}</h6>{% endif %}
  114.               <span>{# Fonction #}</span>
  115.             </li>
  116.             {#
  117.             <li>
  118.               <hr class="dropdown-divider">
  119.             </li>
  120.             <li>
  121.               <a class="dropdown-item d-flex align-items-center" href="users-profile.html">
  122.                 <i class="bi bi-person"></i>
  123.                 <span>My Profile</span>
  124.               </a>
  125.             </li>
  126.             <li>
  127.               <hr class="dropdown-divider">
  128.             </li>
  129.             <li>
  130.               <a class="dropdown-item d-flex align-items-center" href="users-profile.html">
  131.                 <i class="bi bi-gear"></i>
  132.                 <span>Account Settings</span>
  133.               </a>
  134.             </li>
  135.             <li>
  136.               <hr class="dropdown-divider">
  137.             </li>
  138.             <li>
  139.               <a class="dropdown-item d-flex align-items-center" href="pages-faq.html">
  140.                 <i class="bi bi-question-circle"></i>
  141.                 <span>Need Help?</span>
  142.               </a>
  143.             </li>
  144.             #}
  145.             
  146.             <li>
  147.               <hr class="dropdown-divider">
  148.             </li>
  149.              <li>
  150.               <a href="{{ path('admin.my_invoices', {'slug': boutique.slug}) }}" type="button" tabindex="0" class="dropdown-item">
  151.                 <span>
  152.                  {{ 'admin.my_invoices' | trans }}</span>
  153.                     
  154.               </a>
  155.             </li>
  156.              <li>
  157.               <hr class="dropdown-divider">
  158.             </li>
  159.             <li>
  160.               <a class="dropdown-item d-flex align-items-center" href="{{ path('app_logout') }}">
  161.                 <i class="bi bi-box-arrow-right"></i>
  162.                 <span>Se déconnecter</span>
  163.               </a>
  164.             </li>
  165.           </ul><!-- End Profile Dropdown Items -->
  166.         </li><!-- End Profile Nav -->
  167.         <li class="nav-item dropdown">
  168.            <a class="nav-link nav-icon" href="#" data-bs-toggle="dropdown">
  169.             <i class="bi bi-bell"></i>
  170.             <span class="badge bg-primary badge-number">{{ render(controller('App\\Controller\\AdminController::nombreCommandeEnRetard', {'slug': boutique.slug})) }}</span>
  171.           </a>
  172.           <ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow notifications">
  173.             <li class="dropdown-header">
  174.               Vous avez {{ render(controller('App\\Controller\\AdminController::nombreCommandeEnRetard', {'slug': boutique.slug})) }} document expirés
  175.               <a href="#"><span class="badge rounded-pill bg-primary p-2 ms-2"></a>
  176.             </li>
  177.             <li>
  178.               <hr class="dropdown-divider">
  179.             </li>
  180.              <li class="notification-item">
  181.              <a href="{{ path('admin.liste_commande_en_retard', {'slug': boutique.slug}) }}" type="button" tabindex="0" class="dropdown-item">
  182.              
  183.               <div>
  184.                 <h4>{{ 'admin.display_expired_elements' | trans }}</h4>
  185.               </div>
  186.               </a>
  187.             </li>
  188.           </ul>
  189.              
  190.                                                                       
  191.         </li>
  192.       </ul>
  193.     </nav><!-- End Icons Navigation -->
  194.   </header>
  195. <span id="site-locale" hidden>{{ app.request.getLocale() }}</span>
  196. {% endblock  header %}
  197.   {% block sidebar  %}
  198.       <!-- ======= Sidebar ======= -->
  199.         {{ include('admin/side_menu.html.twig') }}
  200.     {% endblock sidebar  %}
  201.     {% block body  %}
  202.         <main id="main" class="main">
  203.             {% block real_content  %}
  204.             {% endblock real_content  %}
  205.         </main>
  206.     {% endblock body  %}    
  207.             
  208.         
  209.     {% block footer %}
  210.     
  211.     {% endblock footer %}
  212. {% block facebook_chatbot %}
  213. {% endblock facebook_chatbot %}
  214.     {% block javascripts %}
  215.     {{ include('modules/__scripts.twig') }}
  216.  
  217.     {# Vendor JS Files #}
  218.     
  219.         
  220.          <!-- Vendor JS Files -->
  221.     <script src="{{ asset('framework/nad/assets/vendor/apexcharts/apexcharts.min.js') }}"></script>
  222.     <script src="{{ asset('framework/nad/assets/vendor/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
  223.     <script src="{{ asset('framework/nad/assets/vendor/chart.js/chart.min.js') }}"></script>
  224.     <script src="{{ asset('framework/nad/assets/vendor/echarts/echarts.min.js') }}"></script>
  225.     <script src="{{ asset('framework/nad/assets/vendor/quill/quill.min.js') }}"></script>
  226.     <script src="{{ asset('framework/nad/assets/vendor/simple-datatables/simple-datatables.js') }}"></script>
  227.     <script src="{{ asset('framework/nad/assets/vendor/tinymce/tinymce.min.js') }}"></script>
  228.     <script src="{{ asset('framework/nad/assets/vendor/php-email-form/validate.js') }}"></script>
  229.     {# Template Main JS File #}
  230.     <script src="{{ asset('framework/nad/assets/js/main.js') }}"></script>
  231.     
  232.   
  233. <script src="https://cdn.ckeditor.com/ckeditor5/23.1.0/classic/ckeditor.js"></script>
  234. <script src="{{ asset('js/general.js') }}"></script>
  235. {# <script type="module" src="{{ asset('js/assieckadapter.js') }}">#}
  236.     
  237.     {% set translate = 'js/' ~ app.getRequest().getLocale() ~ '_translate.min.js' %}
  238.     <script type="text/javascript" src="{{ asset(translate) }}"></script>
  239.     
  240.     <script type="text/javascript">
  241.         $(function(){
  242.             $searchInput = $('#searchInput');
  243.             $('#myDataTable').DataTable(
  244.                 {
  245.                 "ordering": false,
  246.         "lengthMenu": [[100, 50, 25, 10], [100, 50, 25, 10]],
  247.         "pageLength": 100 
  248.                 }
  249.             );
  250.       $('.my-data-table').DataTable(
  251.                 {
  252.                 "ordering": false,
  253.         "lengthMenu": [[100, 50, 25, 10], [100, 50, 25, 10]],
  254.         "pageLength": 100 
  255.                 }
  256.             );
  257.             
  258.             
  259.             var $searchName = $('.search-name');
  260.             var $searchTempResultUrl = $('#searchTempResultUrl'), $searchTempResult = $('#searchTempResult'); 
  261.             $searchTempResult.css('display', 'none');
  262.             
  263.             $searchName.keyup(function(){
  264.                 $searchTempResult.show();
  265.                 formData = new FormData;
  266.                 formData.append('q', $(this).val());
  267.                 $.ajax({
  268.                 url: $searchTempResultUrl.text(),
  269.                 method: 'POST',
  270.                 data: formData,
  271.                 processData: false,
  272.                 contentType: false,
  273.                 success: function (data, textStatus, jqXHR) {
  274.                    
  275.                     $searchTempResult.html(data);
  276.                  },
  277.                 error: function(jqXHR, textStatus, errorThrown ){
  278.                 }
  279.                 });
  280.             });
  281.             
  282.             $searchName.blur(function(){
  283.                 setTimeout(function(){
  284.                     $searchTempResult.css('display', 'none');
  285.                 }, 1500);
  286.             });
  287.         });
  288.     </script>
  289. {% endblock javascripts %}
  290.     
  291.   </body>
  292. </html>