From e097098616d1509fefb78b43fba4d02c121789f6 Mon Sep 17 00:00:00 2001
From: Armand Bahi <armand.bahi@veremes.com>
Date: Mon, 28 Jan 2019 15:19:48 +0100
Subject: [PATCH] Suppression de tous les fichiers

---
 .../web_service/ws/Querys.class.inc           |  1 +
 .../javascript/app/services/formSrvc.js       | 21 +++++++++----------
 .../component/file_picker/file_picker.js      | 16 ++++++--------
 3 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/src/module_vmap/web_service/ws/Querys.class.inc b/src/module_vmap/web_service/ws/Querys.class.inc
index 05db9e05..b902b417 100644
--- a/src/module_vmap/web_service/ws/Querys.class.inc
+++ b/src/module_vmap/web_service/ws/Querys.class.inc
@@ -1451,6 +1451,7 @@ class Querys extends Vmap {
                 // Supprime les fichiers
                 $this->oFilesManager->cleanWsDataDir('vitis', $sBusinessObjectId, $this->aValues['my_vitis_id'], $sName, 'documents', $aDeletedFiles[$sName], false);
                 // Set aValues avec les fichiers restants
+                $this->aValues[$sName] = null;
                 if (!empty($aUnchangedFiles[$sName])) {
                     $this->aValues[$sName] = implode('|', $aUnchangedFiles[$sName]);
                 }
diff --git a/src/vitis/client/javascript/app/services/formSrvc.js b/src/vitis/client/javascript/app/services/formSrvc.js
index c2d0eb55..473d222f 100755
--- a/src/vitis/client/javascript/app/services/formSrvc.js
+++ b/src/vitis/client/javascript/app/services/formSrvc.js
@@ -83,14 +83,6 @@ vitisApp.formSrvc = function (envSrvc, propertiesSrvc, sessionSrvc, formReaderSe
                                             oFormKeysValues[aFormRowElementsList[ifieldIndex]['name'] + '_width'] = aFormRowElementsList[ifieldIndex]['width'];
                                             oFormKeysValues[aFormRowElementsList[ifieldIndex]['name'] + '_height'] = aFormRowElementsList[ifieldIndex]['height'];
                                         }
-                                        // vitis_deleted_files
-                                        if (goog.isDefAndNotNull(aFormValues['vitis_deleted_files'])) {
-                                            oFormKeysValues['vitis_deleted_files'] = JSON.stringify(aFormValues['vitis_deleted_files']);
-                                        }
-                                        // vitis_unchanged_files
-                                        if (goog.isDefAndNotNull(aFormValues['vitis_unchanged_files'])) {
-                                            oFormKeysValues['vitis_unchanged_files'] = JSON.stringify(aFormValues['vitis_unchanged_files']);
-                                        }
                                     } else {
                                         bContainFiles = false;
                                     }
@@ -188,9 +180,6 @@ vitisApp.formSrvc = function (envSrvc, propertiesSrvc, sessionSrvc, formReaderSe
                     }
                 }
             } else {
-
-                console.log("oFormKeysValues: ", oFormKeysValues);
-
                 // Sauve les clés et valeurs dans un objet "FormData".
                 oFormData = new FormData();
                 var aFormKeys = Object.keys(oFormKeysValues);
@@ -200,6 +189,16 @@ vitisApp.formSrvc = function (envSrvc, propertiesSrvc, sessionSrvc, formReaderSe
                     i++;
                 }
             }
+
+            // vitis_deleted_files
+            if (goog.isDefAndNotNull(aFormValues['vitis_deleted_files'])) {
+                oFormKeysValues['vitis_deleted_files'] = JSON.stringify(aFormValues['vitis_deleted_files']);
+            }
+            // vitis_unchanged_files
+            if (goog.isDefAndNotNull(aFormValues['vitis_unchanged_files'])) {
+                oFormKeysValues['vitis_unchanged_files'] = JSON.stringify(aFormValues['vitis_unchanged_files']);
+            }
+
             return oFormData;
         },
         /**
diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
index 82bf6ee0..66e6437f 100644
--- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
+++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
@@ -650,20 +650,16 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie
                         aUnchangedFiles.push(scope['aFiles'][i]['name']);
                     }
                 }
-                if (aUnchangedFiles.length > 0) {
-                    if (!goog.isDefAndNotNull(scope['oFormValues'][scope['sFormDefinitionName']]['vitis_unchanged_files'])) {
-                        scope['oFormValues'][scope['sFormDefinitionName']]['vitis_unchanged_files'] = {}
-                    }
-                    scope['oFormValues'][scope['sFormDefinitionName']]['vitis_unchanged_files'][scope['field'].name] = aUnchangedFiles;
+                if (!goog.isDefAndNotNull(scope['oFormValues'][scope['sFormDefinitionName']]['vitis_unchanged_files'])) {
+                    scope['oFormValues'][scope['sFormDefinitionName']]['vitis_unchanged_files'] = {}
                 }
+                scope['oFormValues'][scope['sFormDefinitionName']]['vitis_unchanged_files'][scope['field'].name] = aUnchangedFiles;
 
                 // Fichiers à supprimer
-                if (scope['aDeletedFiles'].length > 0) {
-                    if (!goog.isDefAndNotNull(scope['oFormValues'][scope['sFormDefinitionName']]['vitis_deleted_files'])) {
-                        scope['oFormValues'][scope['sFormDefinitionName']]['vitis_deleted_files'] = {}
-                    }
-                    scope['oFormValues'][scope['sFormDefinitionName']]['vitis_deleted_files'][scope['field'].name] = scope['aDeletedFiles'];
+                if (!goog.isDefAndNotNull(scope['oFormValues'][scope['sFormDefinitionName']]['vitis_deleted_files'])) {
+                    scope['oFormValues'][scope['sFormDefinitionName']]['vitis_deleted_files'] = {}
                 }
+                scope['oFormValues'][scope['sFormDefinitionName']]['vitis_deleted_files'][scope['field'].name] = scope['aDeletedFiles'];
 
                 // Fichiers à envoyer
                 scope['oFormValues'][scope['sFormDefinitionName']][scope['field'].name] = scope['aFiles'];
-- 
GitLab