From 966f5d27dd7ad30e847c7116a0a365dff24fea4f Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Fri, 24 Apr 2020 16:20:42 +0200
Subject: [PATCH] FEAT #13126 TIME 0:45 add linked resources

---
 .../printed-folder-modal.component.scss       |  2 +-
 .../printed-folder-modal.component.ts         | 22 +++++++++++++------
 src/frontend/lang/lang-en.ts                  |  3 ++-
 src/frontend/lang/lang-fr.ts                  |  3 ++-
 src/frontend/lang/lang-nl.ts                  |  3 ++-
 5 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/frontend/app/printedFolder/printed-folder-modal.component.scss b/src/frontend/app/printedFolder/printed-folder-modal.component.scss
index d606206f9c0..25e305f6535 100644
--- a/src/frontend/app/printedFolder/printed-folder-modal.component.scss
+++ b/src/frontend/app/printedFolder/printed-folder-modal.component.scss
@@ -58,7 +58,7 @@
     grid-template-columns: 1fr 2fr 1fr 1fr 1fr;
 }
 
-.linkedResources {
+.linkedResourcesAttachments {
     grid-template-columns: 1fr 1fr 2fr 1fr 1fr 1fr;
 }
 
diff --git a/src/frontend/app/printedFolder/printed-folder-modal.component.ts b/src/frontend/app/printedFolder/printed-folder-modal.component.ts
index 12683492e03..d18d84f48e5 100644
--- a/src/frontend/app/printedFolder/printed-folder-modal.component.ts
+++ b/src/frontend/app/printedFolder/printed-folder-modal.component.ts
@@ -36,6 +36,7 @@ export class PrintedFolderModalComponent implements OnInit {
         emails: [],
         acknowledgementReceipts: [],
         linkedResources : [],
+        linkedResourcesAttachments : [],
     };
 
     selectedPrintedFolderElement: any = {};
@@ -124,6 +125,13 @@ export class PrintedFolderModalComponent implements OnInit {
             this.http.get(`../rest/resources/${this.data.resId}/linkedResources`).pipe(
                 tap(async (data: any) => {
                     for (let index = 0; index < data.linkedResources.length; index++) {
+                        this.printedFolderElement.linkedResources.push({
+                            id: data.linkedResources[index].resId,
+                            label: data.linkedResources[index].subject,
+                            chrono: !this.functions.empty(data.linkedResources[index].chrono) ? data.linkedResources[index].chrono : this.lang.undefined,
+                            creationDate: data.linkedResources[index].documentDate,
+                            canConvert: data.linkedResources[index].canConvert
+                        });
                         await this.getLinkedAttachments(data.linkedResources[index]);
                     }
                     resolve(true);
@@ -157,7 +165,7 @@ export class PrintedFolderModalComponent implements OnInit {
                     return data.attachments;
                 }),
                 tap((data) => {
-                    this.printedFolderElement.linkedResources = this.printedFolderElement.linkedResources.concat(this.sortPipe.transform(data, 'chronoMaster'));
+                    this.printedFolderElement.linkedResourcesAttachments = this.printedFolderElement.linkedResourcesAttachments.concat(this.sortPipe.transform(data, 'chronoMaster'));
                     resolve(true);
                 }),
                 catchError((err: any) => {
@@ -330,14 +338,14 @@ export class PrintedFolderModalComponent implements OnInit {
         });
 
         // for Linked ressource (complex array)
-        if (!this.functions.empty(resource['linkedResources'])) {
-            resource['linkedResources'] = [];
-            this.selectedPrintedFolderElement['linkedResources'].value.forEach((item: any) => {
+        if (!this.functions.empty(resource['linkedResourcesAttachments'])) {
+            resource['linkedResourcesAttachments'] = [];
+            this.selectedPrintedFolderElement['linkedResourcesAttachments'].value.forEach((item: any) => {
                 const resIdMaster = this.printedFolderElement.linkedResources.filter((res: any) => res.id === item)[0].resIdMaster;
-                if (resource['linkedResources'].filter((res: any) => res.resId === resIdMaster).length > 0) {
-                    resource['linkedResources'].filter((res: any) => res.resId === resIdMaster)[0].attachments.push(item);
+                if (resource['linkedResourcesAttachments'].filter((res: any) => res.resId === resIdMaster).length > 0) {
+                    resource['linkedResourcesAttachments'].filter((res: any) => res.resId === resIdMaster)[0].attachments.push(item);
                 } else {
-                    resource['linkedResources'].push(
+                    resource['linkedResourcesAttachments'].push(
                         {
                             resId : resIdMaster,
                             attachments : [
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index b4bf583289d..54d16c36215 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -1674,7 +1674,8 @@ export const LANG_EN = {
     "accountLocked": "Too many connections attemps. Retry in",
     "modelUsedByResources": "This model is used by resources, you can't delete it.",
     "mustChangePassword": "Please, you must change your password.",
-    "linkedResources": "Attachments (linked mails)",
+    "linkedResources": "Linked mails",
+    "linkedResourcesAttachments": "Attachments (linked mails)",
     "accessNotFound": "Access not found",
     "moreOneCustom": "This url is not an available instance of this application, please verify your address.",
     "linkedEntities": "Linked entities",
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index ba93f583b78..43cb79faaea 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1674,7 +1674,8 @@ export const LANG_FR = {
     "accountLocked": "Nombre de tentatives de connexion dépassée. Réessayez dans",
     "modelUsedByResources": "Le modèle est utilisé par des courriers, vous ne pouvez pas le supprimer.",
     "mustChangePassword": "Vous êtes invités à changer votre mot de passe.",
-    "linkedResources": "Pièces jointes (courriers liés)",
+    "linkedResources": "Courriers liés",
+    "linkedResourcesAttachments": "Pièces jointes (courriers liés)",
     "accessNotFound": "Accès introuvable",
     "moreOneCustom": "Cette url ne correspond à aucune instance configurée, veuillez vérifier l'adresse.",
     "alfresco": "Alfresco",
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index cda2ae48a08..1f1505bfc50 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1658,7 +1658,8 @@ export const LANG_NL = {
     "accountLocked": "Too many connections attemps. Retry in", //_TO_TRANSLATE
     "modelUsedByResources": "This model is used by resources, you can't delete it.", //_TO_TRANSLATE
     "mustChangePassword": "Please, you must change your password.", //_TO_TRANSLATE
-    "linkedResources": "Attachments (linked mails)", //_TO_TRANSLATE
+    "linkedResources": "Linked mails", //_TO_TRANSLATE
+    "linkedResourcesAttachments": "Attachments (linked mails)", //_TO_TRANSLATE
     "accessNotFound": "Access not found", //_TO_TRANSLATE
     "moreOneCustom": "This url is not an available instance of this application, please verify your address.", //_TO_TRANSLATE
     "linkedEntities": "Linked entities", //_TO_TRANSLATE
-- 
GitLab