[ARVADOS-WORKBENCH2] created: 2.1.0-111-g36d0bf2c

Git user git at public.arvados.org
Tue Dec 1 22:06:34 UTC 2020


        at  36d0bf2c656c5ff79c94216a8bfbed015bc84f7e (commit)


commit 36d0bf2c656c5ff79c94216a8bfbed015bc84f7e
Author: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
Date:   Tue Dec 1 23:04:59 2020 +0100

    17016: Fixed deleteFiles function
    
    Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla at contractors.roche.com>

diff --git a/src/services/collection-service/collection-service.ts b/src/services/collection-service/collection-service.ts
index 0aa0aa84..7e6126a0 100644
--- a/src/services/collection-service/collection-service.ts
+++ b/src/services/collection-service/collection-service.ts
@@ -36,12 +36,14 @@ export class CollectionService extends TrashableResourceService<CollectionResour
     }
 
     async deleteFiles(collectionUuid: string, filePaths: string[]) {
-        for (const path of filePaths) {
-            const splittedPath = path.split('/');
-            if (collectionUuid) {
-                await this.webdavClient.delete(`c=${collectionUuid}/${splittedPath[1]}`);
-            } else {
+        const sortedUniquePaths = Array.from(new Set(filePaths))
+            .sort((a, b) => b.length - a.length);
+
+        for (const path of sortedUniquePaths) {
+            if (path.indexOf(collectionUuid) === -1) {
                 await this.webdavClient.delete(`c=${collectionUuid}${path}`);
+            } else {
+                await this.webdavClient.delete(`c=${path}`);
             }
         }
     }
diff --git a/src/store/collection-panel/collection-panel-files/collection-panel-files-actions.ts b/src/store/collection-panel/collection-panel-files/collection-panel-files-actions.ts
index 3f9948fc..373ee04e 100644
--- a/src/store/collection-panel/collection-panel-files/collection-panel-files-actions.ts
+++ b/src/store/collection-panel/collection-panel-files/collection-panel-files-actions.ts
@@ -47,7 +47,8 @@ export const loadCollectionFiles = (uuid: string) =>
             dispatch(snackbarActions.OPEN_SNACKBAR({
                 message: `Error getting file list: ${e.errors[0]}`,
                 hideDuration: 2000,
-                kind: SnackbarKind.ERROR }));
+                kind: SnackbarKind.ERROR
+            }));
         });
     };
 
@@ -149,7 +150,7 @@ export const renameFile = (newFullPath: string) =>
                     dispatch<any>(loadCollectionPanel(currentCollection.uuid, true));
                     dispatch(dialogActions.CLOSE_DIALOG({ id: RENAME_FILE_DIALOG }));
                     dispatch(snackbarActions.OPEN_SNACKBAR({ message: 'File name changed.', hideDuration: 2000 }));
-                }).catch (e => {
+                }).catch(e => {
                     const errors: FormErrors<RenameFileDialogData, string> = {
                         path: `Could not rename the file: ${e.responseText}`
                     };

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list