templates/home/index.html.twig line 1
{% extends 'base.html.twig' %}
{% block title %}Accueil{% endblock %}
{% block body %}
<div class="container-fluid" {{ stimulus_controller('filtre-page-telechargements') }}>
<div class="row">
<div class="col-lg-3 col-md-4 col-12 mt-2">
<div class="shadow-sm p-2 bg-white border rounded">
<form >
<label for="" class="text-center h6 d-block">
Rechercher un fichier
</label>
<input type="text" class="form-control" placeholder="Rechercher ici"
name="searchFile"
{{ stimulus_target('filtre-page-telechargements','inputSearch',) }}
{{ stimulus_action('filtre-page-telechargements','searchFile','input') }}>
<input type="button" value="Retour à la liste" class="btn btn-primary mt-2 d-none"
{{ stimulus_target('filtre-page-telechargements','btnReset') }}
{{ stimulus_action('filtre-page-telechargements','resetSearch','click') }}>
<br>
</form>
</div>
<div class="shadow-sm p-2 bg-white border mt-2 rounded">
<form action="">
<label for="" class="text-center h6 d-block">
Filtre par catégorie
</label>
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault" checked
{{ stimulus_action('filtre-page-telechargements','checkAllCat','click') }}>
{% for categorie in listeCategories %}
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault" checked
data-categorie-id="{{ categorie.idCategorie }}"
{{ stimulus_action('filtre-page-telechargements','triCategorie','click') }}
{{ stimulus_target('filtre-page-telechargements','categorieCheckBox') }}>
<label class="form-check-label text-left" for="flexCheckDefault">
{{ categorie.nomCategorie }}
</label>
</div>
{% else %}
<p class="text-center">Aucune catégorie disponible</p>
{% endfor %}
</form>
</div>
</div>
<div class="col-lg-9 col-md-8 col-12 mt-2 mb-2">
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
<div class="alert alert-success">
<i class="fas fa-circle-check"></i>
Vous êtes connectés, tous les fichiers sont téléchargeables.
</div>
{% else %}
<div class="alert alert-danger">
<i class="fas fa-circle-exclamation"></i>
Vous n'êtes pas connectés, vous ne pouvez pas accéder aux fichiers nécessitant
un compte actif pour être téléchargés..
</div>
{% endif %}
<div class="p-2 rounded">
<p class="text-center h5"> Liste des fichiers</p>
<div class="mt-5">
{{ _self.renderCategories(listeCategories,listeFichiers) }}
</div>
</div>
</div>
</div>
</div>
{% macro renderCategories(categories,listeFichiers, indent = 0) %}
{% for categorie in categories %}
<div style="padding-left: {{ indent }}px;"
data-categorie-id="{{ categorie.idCategorie }}"
{{ stimulus_target('filtre-page-telechargements','categorieDiv') }}
class="shadow-sm border bg-white rounded-top d-block mt-3 p-2">
{{ categorie.nomCategorie }}
<i class="fas fa-chevron-down pt-1 float-end" style="cursor:pointer;"
{{ stimulus_action('filtre-page-telechargements','showDivFichier','click') }}>
</i>
</div>
<div class="shadow-sm border rounded-bottom d-block p-2 pointer d-none"
{{ stimulus_target('filtre-page-telechargements','divlisteFichier') }}
id="{{ categorie.idCategorie }}">
{% for fichier in listeFichiers %}
{% if fichier.idCategorie.idCategorie == categorie.idCategorie %}
{% if fichier.roleNeedToDl == 'aucun' or is_granted('IS_AUTHENTICATED_FULLY') %}
<a class="m-0 p-0 nav-link" href="/telechargement/{{fichier.idFichier}}">
<div class="d-block m-2 p-2 border shadow-sm bg-white "
{{ stimulus_target('filtre-page-telechargements','divFichier') }}
data-nom-fichier = "{{ fichier.nomFichier }}{{ fichier.typeFichier }}">
<p class="h6">
{{ fichier.nomFichier }}
<span class="float-end" style="margin-top:-2px;margin-right: -8px;">
{% if fichier.typeFichier == '.rar' %} <span class="type rar">RAR</span>
{% elseif fichier.typeFichier == '.pdf' %}<span class="type pdf">PDF</span>
{% elseif fichier.typeFichier == '.doc' %}<span class="type doc">DOC</span>
{% elseif fichier.typeFichier == '.xls' %}<span class="type xls">XLS</span>
{% elseif fichier.typeFichier == '.docx' %}<span class="type doc">DOCX</span>
{% elseif fichier.typeFichier == '.xlsx' %}<span class="type xls">XLSX</span>
{% elseif fichier.typeFichier == '.bin' %}<span class="type bin">BIN</span>
{% elseif fichier.typeFichier == '.csv' %}<span class="type csv">CSV</span>
{% elseif fichier.typeFichier == '.txt' %}<span class="type txt">TXT</span>
{% elseif fichier.typeFichier == '.png' %}<span class="type png">PNG</span>
{% elseif fichier.typeFichier == '.jpg' %}<span class="type jpg">JPG</span>
{% elseif fichier.typeFichier == '.jpeg' %}<span class="type jpeg">JPEG</span>
{% elseif fichier.typeFichier == '.svg' %}<span class="type svg">SVG</span>
{% elseif fichier.typeFichier == '.zip' %}<span class="type zip">ZIP</span>
{% elseif fichier.typeFichier == '.exe' %}<span class="type exe">EXE</span>
{% elseif fichier.typeFichier == '.gzip' %}<span class="type gzip">GZIP</span>
{% elseif fichier.typeFichier == '.tar' %}<span class="type tar">TAR</span>
{% endif %}
</span>
</p>
<small>
{{ fichier.textFichier }}
</small>
</div>
</a>
{% else %}
<div class="d-block m-2 p-2 border shadow-sm bg-white "
{{ stimulus_target('filtre-page-telechargements','divFichier') }}
data-nom-fichier = "{{ fichier.nomFichier }}{{ fichier.typeFichier }}">
<p class="h6">
<i class="fas fa-lock"></i> Nécessite d'être connecté pour télécharger
</p>
</div>
{% endif %}
{% endif %}
{% endfor %}
</div>
{% if categorie.idCategorieParente is not null %}
{{ _self.renderCategories(categorie.idCategorieParente, indent + 10) }}
{% endif %}
{% endfor %}
{% endmacro %}
{% endblock %}