From 3c82f16b9fc2d162ac3fea391171d510f365924f Mon Sep 17 00:00:00 2001
From: nicrausaz <n.crausaz99@gmail.com>
Date: Mon, 15 Oct 2018 10:57:26 +0200
Subject: [PATCH] error msg, fix file input scripts

---
 canapEPFL/script.js               | 20 +++++++++-----------
 canapEPFL/templates/errorText.php |  8 ++++++--
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/canapEPFL/script.js b/canapEPFL/script.js
index 28a6419..8262eac 100644
--- a/canapEPFL/script.js
+++ b/canapEPFL/script.js
@@ -50,23 +50,21 @@ function addChildren(parentId, maxItems, childTemplate, addButtonId) {
 }
 
 function changeTitleFile(objFile) {
-    var filename = $(objFile)[0].value.replace(/^.*[\\/]/, '')
-    $(objFile.parentElement)[0].children[3].innerHTML = filename
+    var filename = $(objFile)[0].value.replace(/^.*[\\/]/, '');
+    if (filename) {
+        $(objFile.parentElement)[0].children[3].innerHTML = filename;
+    } else {
+        $(objFile.parentElement)[0].children[3].innerHTML = 'Choisir...';
+    }
     checkFileFormat($(objFile)[0]);
 }
 
 function checkFileFormat(obj) {
-    var errorZone = $(obj.parentElement)[0].children[5]
+    var errorZone = $(obj.parentElement)[0].children[5];
     var allowedExtensions = ['pdf', 'jpeg', 'png', 'jpg'];
-    var fileExtension = obj.value.split('.').pop().toLowerCase()
+    var fileExtension = obj.value.split('.').pop().toLowerCase();
 
-    if (allowedExtensions.indexOf(fileExtension) == -1) {
-        // extension invalide
-        errorZone.innerHTML = 'Format invalide'
-    } else {
-        // extension valide
-        errorZone.innerHTML = '';
-    }
+    allowedExtensions.indexOf(fileExtension) != -1 || !obj.value ?  errorZone.innerHTML = '' : errorZone.innerHTML = 'Format invalide';
 }
 
 function checkYearDate(toCheckValue, errorZone, coefficiantYear) {
diff --git a/canapEPFL/templates/errorText.php b/canapEPFL/templates/errorText.php
index dc83909..7c45fa8 100644
--- a/canapEPFL/templates/errorText.php
+++ b/canapEPFL/templates/errorText.php
@@ -2,8 +2,12 @@
   <h5 style="color: red;">Des erreurs se sont produites, merci de remplir tous les champs obligatoires!</h5>
   <div id="formErrorsDiv" style="padding-bottom: 20px;">
     <?php
-      foreach($validator->errors() as $error => $errorVal) {
-        echo "<li>$errorVal</li>";
+      if (!$_POST && !$_FILES) {
+        echo "<li>Fichiers fournis trop volumineux ! <small>(Taille recommandée env. 2Mo)</small></li>";
+      } else {
+        foreach($validator->errors() as $error => $errorVal) {
+          echo "<li>$errorVal</li>";
+        }
       }
     ?>
   </div>
-- 
GitLab