From 8c3340a277d3837a22debbac5a2525506f275adf Mon Sep 17 00:00:00 2001 From: Mohamed Amine Krout Date: Mon, 7 Oct 2024 15:00:57 +0100 Subject: [PATCH] fix: [BUG] Process :Document+parent Folder lost in case of Upload from existing document (new process/new request) - EXO-74485 (#2409) Prior to this fix, there is no way to know if the attached file is from eXo internal drives, this information is needs for process application, this commit add this information to attachments. --- .../AttachmentsDriveExplorerDrawer.vue | 2 +- .../exoplatform/services/attachments/model/Attachment.java | 5 ++++- .../services/attachments/rest/model/AttachmentEntity.java | 5 ++++- .../services/attachments/utils/EntityBuilder.java | 3 ++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/portlet-documents/src/main/webapp/vue-app/attachment/components/attachments-drive-explorer/AttachmentsDriveExplorerDrawer.vue b/apps/portlet-documents/src/main/webapp/vue-app/attachment/components/attachments-drive-explorer/AttachmentsDriveExplorerDrawer.vue index b7015a544a6..d597af3d13f 100644 --- a/apps/portlet-documents/src/main/webapp/vue-app/attachment/components/attachments-drive-explorer/AttachmentsDriveExplorerDrawer.vue +++ b/apps/portlet-documents/src/main/webapp/vue-app/attachment/components/attachments-drive-explorer/AttachmentsDriveExplorerDrawer.vue @@ -753,7 +753,7 @@ export default { file.isSelectedFromDrives = true; const alreadyAttachedFile = this.attachedFiles.find(f => f.id === file.id); if (!alreadyAttachedFile) { - this.selectedFiles.push({...file, space: this.fromSpace}); + this.selectedFiles.push({...file, space: this.fromSpace , eXoDrive: true}); } const alreadyRemovedFileIndex = this.removedFiles.findIndex(f => f.id === file.id); if (alreadyRemovedFileIndex !== -1) { diff --git a/core/services/src/main/java/org/exoplatform/services/attachments/model/Attachment.java b/core/services/src/main/java/org/exoplatform/services/attachments/model/Attachment.java index f3db6aba25d..21a7bfbeed5 100644 --- a/core/services/src/main/java/org/exoplatform/services/attachments/model/Attachment.java +++ b/core/services/src/main/java/org/exoplatform/services/attachments/model/Attachment.java @@ -58,6 +58,8 @@ public class Attachment implements Cloneable { private boolean cloudDrive; + private boolean eXoDrive; + @Override public Attachment clone() { // NOSONAR return new Attachment(id, @@ -75,6 +77,7 @@ public Attachment clone() { // NOSONAR openUrl, previewBreadcrumb, version, - cloudDrive); + cloudDrive, + eXoDrive); } } diff --git a/core/services/src/main/java/org/exoplatform/services/attachments/rest/model/AttachmentEntity.java b/core/services/src/main/java/org/exoplatform/services/attachments/rest/model/AttachmentEntity.java index e512d10552b..03789bf96d0 100644 --- a/core/services/src/main/java/org/exoplatform/services/attachments/rest/model/AttachmentEntity.java +++ b/core/services/src/main/java/org/exoplatform/services/attachments/rest/model/AttachmentEntity.java @@ -60,6 +60,8 @@ public class AttachmentEntity { private boolean cloudDrive; + private boolean eXoDrive; + @Override public AttachmentEntity clone() { // NOSONAR return new AttachmentEntity(id, @@ -77,7 +79,8 @@ public AttachmentEntity clone() { // NOSONAR openUrl, previewBreadcrumb, version, - cloudDrive); + cloudDrive, + eXoDrive); } } diff --git a/core/services/src/main/java/org/exoplatform/services/attachments/utils/EntityBuilder.java b/core/services/src/main/java/org/exoplatform/services/attachments/utils/EntityBuilder.java index 134cca24a5f..c0a81684d4b 100644 --- a/core/services/src/main/java/org/exoplatform/services/attachments/utils/EntityBuilder.java +++ b/core/services/src/main/java/org/exoplatform/services/attachments/utils/EntityBuilder.java @@ -62,7 +62,8 @@ public static final AttachmentEntity fromAttachment(IdentityManager identityMana attachment.getOpenUrl(), attachment.getPreviewBreadcrumb(), attachment.getVersion(), - attachment.isCloudDrive() + attachment.isCloudDrive(), + attachment.isEXoDrive() ); }