templates/home/index.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block title %}Accueil{% endblock %}
  3. {% block body %}
  4.     <div class="container-fluid" {{ stimulus_controller('filtre-page-telechargements') }}>
  5.         <div class="row">
  6.             <div class="col-lg-3 col-md-4 col-12 mt-2">
  7.                 <div class="shadow-sm p-2 bg-white border rounded">
  8.                     <form >
  9.                         <label for="" class="text-center h6 d-block">
  10.                             Rechercher un fichier
  11.                         </label>
  12.                         <input type="text" class="form-control" placeholder="Rechercher ici"
  13.                                name="searchFile"
  14.                                 {{ stimulus_target('filtre-page-telechargements','inputSearch',) }}
  15.                                 {{ stimulus_action('filtre-page-telechargements','searchFile','input') }}>
  16.                         <input type="button" value="Retour à la liste" class="btn btn-primary mt-2 d-none"
  17.                                 {{ stimulus_target('filtre-page-telechargements','btnReset') }}
  18.                                 {{ stimulus_action('filtre-page-telechargements','resetSearch','click') }}>
  19.                         <br>
  20.                     </form>
  21.                 </div>
  22.                 <div class="shadow-sm p-2 bg-white border mt-2 rounded">
  23.                     <form action="">
  24.                         <label for="" class="text-center h6 d-block">
  25.                             Filtre par catégorie
  26.                         </label>
  27.                         <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault" checked
  28.                                 {{ stimulus_action('filtre-page-telechargements','checkAllCat','click') }}>
  29.                         {% for categorie in listeCategories %}
  30.                             <div class="form-check">
  31.                                 <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault" checked
  32.                                    data-categorie-id="{{ categorie.idCategorie }}"
  33.                                        {{ stimulus_action('filtre-page-telechargements','triCategorie','click') }}
  34.                                         {{ stimulus_target('filtre-page-telechargements','categorieCheckBox') }}>
  35.                                 <label class="form-check-label text-left" for="flexCheckDefault">
  36.                                     {{ categorie.nomCategorie }}
  37.                                 </label>
  38.                             </div>
  39.                         {% else %}
  40.                             <p class="text-center">Aucune catégorie disponible</p>
  41.                         {% endfor %}
  42.                     </form>
  43.                 </div>
  44.             </div>
  45.             <div class="col-lg-9 col-md-8 col-12 mt-2 mb-2">
  46.                 {% if is_granted('IS_AUTHENTICATED_FULLY') %}
  47.                     <div class="alert alert-success">
  48.                         <i class="fas fa-circle-check"></i>
  49.                         Vous êtes connectés, tous les fichiers sont téléchargeables.
  50.                     </div>
  51.                 {% else %}
  52.                     <div class="alert alert-danger">
  53.                         <i class="fas fa-circle-exclamation"></i>
  54.                         Vous n'êtes pas connectés, vous ne pouvez pas accéder aux fichiers nécessitant
  55.                         un compte actif pour être téléchargés..
  56.                     </div>
  57.                 {% endif %}
  58.                 <div class="p-2 rounded">
  59.                     <p class="text-center h5"> Liste des fichiers</p>
  60.                     <div class="mt-5">
  61.                         {{ _self.renderCategories(listeCategories,listeFichiers) }}
  62.                     </div>
  63.                 </div>
  64.             </div>
  65.         </div>
  66.     </div>
  67.     {% macro renderCategories(categories,listeFichiers, indent = 0) %}
  68.         {% for categorie in categories %}
  69.             <div style="padding-left: {{ indent }}px;"
  70.                  data-categorie-id="{{ categorie.idCategorie }}"
  71.                     {{ stimulus_target('filtre-page-telechargements','categorieDiv') }}
  72.                  class="shadow-sm border bg-white rounded-top d-block mt-3 p-2">
  73.                 {{ categorie.nomCategorie }}
  74.                 <i class="fas fa-chevron-down pt-1  float-end" style="cursor:pointer;"
  75.                         {{ stimulus_action('filtre-page-telechargements','showDivFichier','click') }}>
  76.                 </i>
  77.             </div>
  78.             <div class="shadow-sm border rounded-bottom d-block p-2 pointer d-none"
  79.                     {{ stimulus_target('filtre-page-telechargements','divlisteFichier') }}
  80.                  id="{{ categorie.idCategorie }}">
  81.                 {% for fichier in listeFichiers %}
  82.                     {% if fichier.idCategorie.idCategorie == categorie.idCategorie %}
  83.                         {% if fichier.roleNeedToDl == 'aucun' or is_granted('IS_AUTHENTICATED_FULLY') %}
  84.                             <a class="m-0 p-0 nav-link" href="/telechargement/{{fichier.idFichier}}">
  85.                                 <div class="d-block m-2 p-2 border shadow-sm bg-white "
  86.                                  {{ stimulus_target('filtre-page-telechargements','divFichier') }}
  87.                             data-nom-fichier = "{{ fichier.nomFichier }}{{ fichier.typeFichier }}">
  88.                                 <p class="h6">
  89.                                     {{ fichier.nomFichier }}
  90.                                     <span class="float-end" style="margin-top:-2px;margin-right: -8px;">
  91.                                             {% if fichier.typeFichier == '.rar' %} <span class="type rar">RAR</span>
  92.                                             {% elseif fichier.typeFichier == '.pdf' %}<span class="type pdf">PDF</span>
  93.                                             {% elseif fichier.typeFichier == '.doc' %}<span class="type doc">DOC</span>
  94.                                             {% elseif fichier.typeFichier == '.xls' %}<span class="type xls">XLS</span>
  95.                                             {% elseif fichier.typeFichier == '.docx' %}<span class="type doc">DOCX</span>
  96.                                             {% elseif fichier.typeFichier == '.xlsx' %}<span class="type xls">XLSX</span>
  97.                                             {% elseif fichier.typeFichier == '.bin' %}<span class="type bin">BIN</span>
  98.                                             {% elseif fichier.typeFichier == '.csv' %}<span class="type csv">CSV</span>
  99.                                             {% elseif fichier.typeFichier == '.txt' %}<span class="type txt">TXT</span>
  100.                                             {% elseif fichier.typeFichier == '.png' %}<span class="type png">PNG</span>
  101.                                             {% elseif fichier.typeFichier == '.jpg' %}<span class="type jpg">JPG</span>
  102.                                             {% elseif fichier.typeFichier == '.jpeg' %}<span class="type jpeg">JPEG</span>
  103.                                             {% elseif fichier.typeFichier == '.svg' %}<span class="type svg">SVG</span>
  104.                                             {% elseif fichier.typeFichier == '.zip' %}<span class="type zip">ZIP</span>
  105.                                             {% elseif fichier.typeFichier == '.exe' %}<span class="type exe">EXE</span>
  106.                                             {% elseif fichier.typeFichier == '.gzip' %}<span class="type gzip">GZIP</span>
  107.                                             {% elseif fichier.typeFichier == '.tar' %}<span class="type tar">TAR</span>
  108.                                             {% endif %}
  109.                                         </span>
  110.                                 </p>
  111.                                 <small>
  112.                                     {{ fichier.textFichier }}
  113.                                 </small>
  114.                             </div>
  115.                             </a>
  116.                         {% else %}
  117.                             <div class="d-block m-2 p-2 border shadow-sm bg-white "
  118.                                     {{ stimulus_target('filtre-page-telechargements','divFichier') }}
  119.                                  data-nom-fichier = "{{ fichier.nomFichier }}{{ fichier.typeFichier }}">
  120.                                 <p class="h6">
  121.                                     <i class="fas fa-lock"></i> Nécessite d'être connecté pour télécharger
  122.                                 </p>
  123.                             </div>
  124.                         {% endif %}
  125.                     {% endif %}
  126.                 {% endfor %}
  127.             </div>
  128.             {% if categorie.idCategorieParente is not null %}
  129.                 {{ _self.renderCategories(categorie.idCategorieParente, indent + 10) }}
  130.             {% endif %}
  131.         {% endfor %}
  132.     {% endmacro %}
  133. {% endblock %}