From 9a7a46182dfc0f86c52e8f31f0d77768c4c5e3e3 Mon Sep 17 00:00:00 2001
From: Hamza HRAMCHI <hamza.hramchi@xelians.fr>
Date: Wed, 15 Feb 2023 15:08:51 +0100
Subject: [PATCH] FIX #23278 TIME 1:45 fix signature positions for main
 documents

---
 src/frontend/app/indexation/indexation.component.ts | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/frontend/app/indexation/indexation.component.ts b/src/frontend/app/indexation/indexation.component.ts
index a8e20589f5..49f8bdb1c3 100644
--- a/src/frontend/app/indexation/indexation.component.ts
+++ b/src/frontend/app/indexation/indexation.component.ts
@@ -256,6 +256,7 @@ export class IndexationComponent implements OnInit {
             }
 
             formattedObj.push({
+                docIndex: file.docIndex,
                 title: file.title,
                 reference: formattedReference,
                 encodedDocument: file.content,
@@ -272,7 +273,7 @@ export class IndexationComponent implements OnInit {
                     userId: item.userId,
                     mode: this.authService.getWorkflowMode(item.role),
                     signatureMode: this.authService.getSignatureMode(item.role),
-                    signaturePositions: item.signaturePositions !== undefined ? this.formatPositions(item.signaturePositions.filter((pos: any) => pos.mainDocument === file.mainDocument && file.signPos !== undefined)).map((itemFile: any) => ({
+                    signaturePositions: item.signaturePositions !== undefined ? this.formatPositions(item.signaturePositions.filter((pos: any) => pos.mainDocument === file.mainDocument && file.signPos !== undefined && pos.docIndex === file.docIndex)).map((itemFile: any) => ({
                         page: itemFile.page,
                         docIndex: itemFile.docIndex,
                         positionX: itemFile.position.positionX,
@@ -313,7 +314,8 @@ export class IndexationComponent implements OnInit {
                         title: filename.substr(0, filename.lastIndexOf('.')),
                         reference: filename.substr(0, filename.lastIndexOf('.')).substr(0, 53),
                         mainDocument: true,
-                        content: ''
+                        content: '',
+                        docIndex: index,
                     };
                     const reader = new FileReader();
                     reader.readAsArrayBuffer(fileInput.target.files[index]);
@@ -322,6 +324,7 @@ export class IndexationComponent implements OnInit {
                         file.reference = this.filesToUpload.length === 0 ? file.reference : '';
                         file.content = this.getBase64Document(value.target.result);
                         this.filesToUpload.push(file);
+                        this.setFilePosition();
                         if (this.filesToUpload.length === 1) {
                             setTimeout(() => {
                                 this.menu.open('right-menu');
@@ -340,6 +343,11 @@ export class IndexationComponent implements OnInit {
         });
     }
 
+    setFilePosition() {
+        this.filesToUpload.forEach((file: any, position: number) => {
+            file['docIndex'] = position;
+        });
+    }
 
     isExtensionAllowed(files: any[]) {
         for (let index = 0; index < files.length; index++) {
@@ -365,6 +373,7 @@ export class IndexationComponent implements OnInit {
                 element.signaturePositions = [];
             });
         }
+        this.setFilePosition();
     }
 
     async signPos(index: number) {
-- 
GitLab