{% extends 'baseVisa.html.twig' %}
{% block stylesheets %}
<link href="{{ asset('dropzone-5.7.0/dist/dropzone.css') }}" rel="stylesheet" type="text/css"/>
<script src="{{ asset('dropzone-5.7.0/dist/dropzone.js') }}" type="text/javascript"></script>
<style>
/*A passer dans css externe*/
.dzUpload { cursor:hand;}
.row.upload button.btn {margin:15px 0;}
.dropzone_container { display:none; }
</style>
{% endblock %}
{% block javascripts %}
<script>
Dropzone.autoDiscover = false;
const previewNode = document.querySelector("#template");
previewNode.id = "";
const previewTemplate = previewNode.parentNode.innerHTML;
previewNode.parentNode.removeChild(previewNode);
$('.dzUpload').each(function () {
var dzContainer = $('.dropzone_container[data-id=' + $(this).data('dzid') + ']');
var parentRow = $(this).parents('.dzUploadContainer');
$(this).unbind().click(function (e) {
e.preventDefault();
e.stopPropagation();
if (!dzContainer.prop('active')) {
dzContainer.show();
dzContainer.prop('active', 1);
} else {
dzContainer.hide();
dzContainer.prop('active', 0);
}
});
$(parentRow).on('dragover', function () {
if (!dzContainer.prop('active')) {
dzContainer.show();
dzContainer.prop('active', 1);
}
});
// $(parentRow).click(function (e) {
// if (!dzContainer.prop('active')) {
// dzContainer.show();
// dzContainer.prop('active', 1);
// }
// });
// $(parentRow).find('a').click(function (e) {
// e.stopPropagation();
// return true;
// });
let uploadButton = dzContainer.find('button.btn-success');
let uploadRow = dzContainer.find('.row.upload');
uploadRow.hide();
dzContainer.find('.dropzone').dropzone({
autoProcessQueue: false,
uploadMultiple: false,
timeout: 900000, // 15 minutes
parallelUploads: 20,
dictRemoveFile: "Retirer ce fichier",
paramName: "fichier",
dictDefaultMessage: 'Glissez ici vos fichiers à transmettre ou cliquez pour les sélectionner',
maxFiles: 20,
// clickable: [dzContainer.find('.dropzone').get(0), parentRow.get(0)],
clickable: [dzContainer.find('.dropzone').get(0)],
addRemoveLinks: false,
previewTemplate: previewTemplate,
url: "/{{ idProjet }}/exigencedz/" + dzContainer.data('id'),
init: function () {
var dzClosure = this;
uploadButton.on('click', function () {
dzClosure.processQueue();
});
dzClosure.on("reset", file => {
uploadRow.hide();
});
dzClosure.on("addedfile", file => {
uploadRow.show();
});
dzClosure.on("complete", file => {
if (dzClosure.getUploadingFiles().length === 0 && dzClosure.getQueuedFiles().length === 0) {
dzContainer.hide();
dzContainer.prop('active', 0);
alert("Vos fichiers ont été transférés avec succès");
}
});
}
});
});
</script>
{% endblock javascripts %}
{% block title %}QEBOK | {{ projet.nomDuProjet }} | Lot n° {{ listExigences.0.lot }}{% endblock %}
{% block body %}
<div class="principal">
<div class="intro">
<div style="float:right">
{% if app.user %}
<a href="{{ path('lotZip', {'idProjet' : idProjet,'lot' : lot}) }}" class="bouton btn" style="padding-left:40px;"><span class="material-symbols-outlined" style="top:unset">Download</span> Télécharger les justificatifs</a>
{% endif %}
<a href="{{ path('tri', {'code' : projet.code}) }}" class="bouton btn" style="padding-left:40px;"><span class="material-symbols-outlined" style="top:unset">visibility</span> Tous les lots</a>
</div>
<h1>Projet {{ projet.nomDuProjet }} - Lot n° {{ listExigences.0.lot }} {#- {{ listeSousLots|join(' / ') }}#}</h1>
<p>{{ listExigences|length }} exigences présentes </p>
</div>
<div class="tableau">
<ul class="label no-mobile">
<li><p>Exigence Numero</p></li>
<li><p>Nom du lot et de l'entreprise</p></li>
<li><p>Cibles</p></li>
<li><p>Eléments concernés</p></li>
<li><p>Exigences</p></li>
<li><p class="transparent">Télécharger</p></li>
<li><p class="transparent">Voir en détail</p></li>
</ul>
{% for exigence in listExigences %}
<div class="content dzUploadContainer" id="exigence_{{ exigence.numeroExigence }}">
<ul class="infos">
<li class="infos__row exigence">
<span class="no-desktop">Exigence N°</span>
<p{% if exigence.validation == "true" %} style="color: #58B8B3; background: #DCEDEC"{% else %} style="color: #AEAF50"{% endif %}>{{ exigence.numeroExigence }}</p>
</li>
<li class="infos__row sous-lot"><span class="no-desktop">Sous-lot</span><p>{{ exigence.sousLot }}</p></li>
<li class="infos__row cibles"><span class="no-desktop">Cibles</span><p>{{ exigence.cibles }}</p></li>
<li class="infos__row infos__row--column elements"><span class="no-desktop">Eléments concernés</span><p>{{ exigence.elementsConcernes }}</p></li>
<li class="infos__row infos__row--column description"><span class="no-desktop">Exigences</span><p>{{ exigence.exigences }}</p></li>
<li class="infos__row bouton1"><p><a href="" class="dzUpload" data-dzid="{{ exigence.id }}" style="cursor: pointer" title="Ajouter des documents"><span class="material-symbols-outlined">upload</span>Transmettre</a></p></li>
<li class="infos__row bouton2"><p><a href="{{ path('exigence', {'exigence' : exigence.id, 'code' : projet.code}) }}">
<span class="material-symbols-outlined">visibility</span>Voir en détail</a></p></li>
</ul>
<div class="dropzone_container" style="padding:10px 0px;" data-id="{{ exigence.id }}" >
<div class="dropzone"></div>
<div class="row upload"><div class="col-sm-12 text-center"><button class="btn btn-success btn-sm">
Transférer les fichiers</button></div></div>
</div>
{% if exigence.visaJustificatifs or exigence.commentairesEntreprise or exigence.commentairesMOE is not empty %}
<div class="justificatif">
{% endif %}
{% if exigence.validation == "true" %}
<p style="text-align: right" >Exigence validée</p>
{% else %}
<p style="text-align: right; color:#AEAF50">Exigence non validée</p>
{% endif %}
{% if exigence.visaJustificatifs is not empty %}
<p>Justificatifs déjà obtenus :</p>
<ul>
{% for element in exigence.getVisaJustificatifs() %}
<li><a title="{{ element.getNomDuFichier() }}" href="{{ path('fichierLot', {idProjet : idProjet,
'idLot' : exigence.lot, 'idFichier': element.getId()}) }}">{{ element.NomDuFichier }}</a></li>{% endfor %}
</ul>
{% endif %}
{% if exigence.commentairesEntreprise is not empty %}
<p>Commentaires entreprise :</p>
<ul>
<li>
<p class="commentaires">{{ exigence.commentairesEntreprise }}</p>
</li>
</ul>
{% endif %}
{% if exigence.commentairesMOE is not empty %}
<p>Commentaires de la MOE :</p>
<ul>
<li>
<p class="commentaires">{{ exigence.commentairesMOE }}</p>
</li>
</ul>
{% endif %}
{% if exigence.visaJustificatifs or exigence.commentairesEntreprise or exigence.commentairesMOE is not empty %}
</div>
{% endif %}
</div>
{% endfor %}
</div>
<div style="display:none">
<div id="template" class="row" style="margin-bottom :10px;">
<div class="col-sm-6 text-left">
<span class="name" data-dz-name></span>
<strong class="error text-danger" data-dz-errormessage></strong>
</div>
<div class="col-sm-2 text-right">
<span class="size" data-dz-size></span>
</div>
<div class="col-sm-2 text-left">
<div class="progress progress-striped active" role="progressbar"
aria-valuemin="0"
aria-valuemax="100" aria-valuenow="0">
<div class="progress-bar progress-bar-success"
style="width:0;"
data-dz-uploadprogress></div>
</div>
</div>
<div class="col-sm-2 text-right">
<button data-dz-remove class="btn btn-xs btn-danger delete">
<i class="glyphicon glyphicon-trash"></i>
<span>Retirer</span>
</button>
</div>
</div>
</div>
<BR>
<div style="float:right">
{% if app.user %}
<a href="{{ path('lotZip', {'idProjet' : idProjet,'lot' : lot}) }}" class="bouton btn" style="padding-left:40px;"><span class="material-symbols-outlined" style="top:unset">Download</span> Télécharger les justificatifs</a>
<a href="{{ path('nouvelleExigence', {'code' : projet.code,'lot' : lot}) }}" class="bouton btn" style="padding-left:40px;"><span class="material-symbols-outlined" style="top:unset">Add</span>Ajouter une exigence</a>
{% endif %}
<a href="{{ path('tri', {'code' : projet.code}) }}" class="bouton btn" style="padding-left:40px;"><span class="material-symbols-outlined" style="top:unset">visibility</span> Tous les lots</a>
</div>
</div>
{% if app.user %}
<div class="partie_formulaire">
<div class="intro">
<h2 style="margin-bottom:15px;">Envoyer les exigences par email</h2>
{{ form(formEmail) }}
</div>
</div>
{% endif %}
{# Message vous devez vous connecter #}
{# <a href="{{ path('user_security_login') }}">Se connecter</a>#}
{% endblock %}