diff --git a/src/mocks/mock-signature/membersMocks.js b/src/mocks/mock-signature/membersMocks.js index 89a7446..3d5bf77 100755 --- a/src/mocks/mock-signature/membersMocks.js +++ b/src/mocks/mock-signature/membersMocks.js @@ -1,186 +1,105 @@ -// Définir les rôles autorisés -const VALID_ROLES = [ - "User", - "Process", - "Member", - "Peer", - "Payment", - "Deposit", - "Artefact", - "Resolve", - "Backup" -]; - -function createProcessRole(processId, roleName) { - if (!VALID_ROLES.includes(roleName)) { - throw new Error(`Role "${roleName}" is not valid.`); - } - return { processId, role: roleName }; -} - export const membersMock = [ + // Processus 1 { - id: "USR-001", - name: "Alice Johnson", - avatar: "AJ", - email: "alice.j@company.com", - processRoles: [ - createProcessRole("PROC-001", "User"), - createProcessRole("PROC-002", "Process"), - createProcessRole("PROC-003", "Member") - ] + id: 1, + name: "Alice", + avatar: "A", + email: "alice@company.com", + processRoles: [{ processId: 1, role: "User" }] }, { - id: "USR-002", - name: "Bob Smith", - avatar: "BS", - email: "bob.s@company.com", - processRoles: [ - createProcessRole("PROC-001", "Process"), - createProcessRole("PROC-004", "Payment") - ] + id: 2, + name: "Bob", + avatar: "B", + email: "bob@company.com", + processRoles: [{ processId: 1, role: "User" }] }, { - id: "USR-003", - name: "Charlie Davis", - avatar: "CD", - email: "charlie.d@company.com", - processRoles: [ - createProcessRole("PROC-002", "Peer"), - createProcessRole("PROC-003", "Deposit"), - createProcessRole("PROC-005", "User") - ] + id: 3, + name: "Charlie", + avatar: "C", + email: "charlie@company.com", + processRoles: [{ processId: 1, role: "Process" }] }, { - id: "USR-004", - name: "David Wilson", - avatar: "DW", - email: "david.w@company.com", - processRoles: [ - createProcessRole("PROC-001", "Artefact"), - createProcessRole("PROC-004", "Resolve"), - createProcessRole("PROC-006", "Process") - ] + id: 4, + name: "David", + avatar: "D", + email: "david@company.com", + processRoles: [{ processId: 1, role: "Process" }] }, { - id: "USR-005", - name: "Eve Brown", - avatar: "EB", - email: "eve.b@company.com", - processRoles: [ - createProcessRole("PROC-002", "Backup"), - createProcessRole("PROC-003", "User"), - createProcessRole("PROC-007", "Payment") - ] + id: 15, + name: "Oscar", + avatar: "O", + email: "oscar@company.com", + processRoles: [{ processId: 1, role: "Backup" }] }, { - id: "USR-006", - name: "Frank Miller", - avatar: "FM", - email: "frank.m@company.com", - processRoles: [ - createProcessRole("PROC-001", "Member"), - createProcessRole("PROC-004", "Process"), - createProcessRole("PROC-008", "Peer") - ] + id: 16, + name: "Patricia", + avatar: "P", + email: "patricia@company.com", + processRoles: [{ processId: 1, role: "Backup" }] + }, + + // Processus 2 + { + id: 17, + name: "Quinn", + avatar: "Q", + email: "quinn@company.com", + processRoles: [{ processId: 2, role: "Artefact" }] }, { - id: "USR-007", - name: "Grace Taylor", - avatar: "GT", - email: "grace.t@company.com", - processRoles: [ - createProcessRole("PROC-005", "Deposit"), - createProcessRole("PROC-006", "Artefact"), - createProcessRole("PROC-007", "Resolve") - ] + id: 18, + name: "Rachel", + avatar: "R", + email: "rachel@company.com", + processRoles: [{ processId: 2, role: "Artefact" }] }, { - id: "USR-008", - name: "Henry Clark", - avatar: "HC", - email: "henry.c@company.com", - processRoles: [ - createProcessRole("PROC-002", "User"), - createProcessRole("PROC-005", "Backup"), - createProcessRole("PROC-008", "Member") - ] + id: 19, + name: "Sam", + avatar: "S", + email: "sam@company.com", + processRoles: [{ processId: 2, role: "Resolve" }] }, { - id: "USR-009", - name: "Ivy Chen", - avatar: "IC", - email: "ivy.c@company.com", - processRoles: [ - createProcessRole("PROC-003", "Process"), - createProcessRole("PROC-006", "Payment"), - createProcessRole("PROC-009", "Peer") - ] + id: 20, + name: "Tom", + avatar: "T", + email: "tom@company.com", + processRoles: [{ processId: 2, role: "Resolve" }] + }, + + // Processus 3 + { + id: 21, + name: "Uma", + avatar: "U", + email: "uma@company.com", + processRoles: [{ processId: 3, role: "Deposit" }] }, { - id: "USR-010", - name: "Jack White", - avatar: "JW", - email: "jack.w@company.com", - processRoles: [ - createProcessRole("PROC-004", "Deposit"), - createProcessRole("PROC-007", "Artefact"), - createProcessRole("PROC-010", "Resolve") - ] + id: 22, + name: "Victor", + avatar: "V", + email: "victor@company.com", + processRoles: [{ processId: 3, role: "Deposit" }] }, { - id: "USR-011", - name: "Kelly Brown", - avatar: "KB", - email: "kelly.b@company.com", - processRoles: [ - createProcessRole("PROC-001", "Backup"), - createProcessRole("PROC-008", "User"), - createProcessRole("PROC-009", "Process") - ] + id: 23, + name: "Walter", + avatar: "W", + email: "walter@company.com", + processRoles: [{ processId: 3, role: "Payment" }] }, { - id: "USR-012", - name: "Liam Jones", - avatar: "LJ", - email: "liam.j@company.com", - processRoles: [ - createProcessRole("PROC-002", "Member"), - createProcessRole("PROC-009", "Payment"), - createProcessRole("PROC-010", "Deposit") - ] - }, - { - id: "USR-013", - name: "Mia Wilson", - avatar: "MW", - email: "mia.w@company.com", - processRoles: [ - createProcessRole("PROC-003", "Peer"), - createProcessRole("PROC-005", "Artefact"), - createProcessRole("PROC-010", "Backup") - ] - }, - { - id: "USR-014", - name: "Noah Martin", - avatar: "NM", - email: "noah.m@company.com", - processRoles: [ - createProcessRole("PROC-004", "Resolve"), - createProcessRole("PROC-006", "User"), - createProcessRole("PROC-008", "Process") - ] - }, - { - id: "USR-015", - name: "Olivia Moore", - avatar: "OM", - email: "olivia.m@company.com", - processRoles: [ - createProcessRole("PROC-005", "Member"), - createProcessRole("PROC-007", "Peer"), - createProcessRole("PROC-009", "Deposit") - ] + id: 24, + name: "Xena", + avatar: "X", + email: "xena@company.com", + processRoles: [{ processId: 3, role: "Payment" }] } ]; diff --git a/src/pages/signature/signature.ts b/src/pages/signature/signature.ts index 121e0d2..b01f1c6 100755 --- a/src/pages/signature/signature.ts +++ b/src/pages/signature/signature.ts @@ -82,12 +82,11 @@ function toggleUserList() { } // Fonction pour changer d'utilisateur -function switchUser(userId: string) { +function switchUser(userId: string | number) { const user = membersMock.find(member => member.id === userId); if (!user) return; currentUser = user; updateCurrentUserDisplay(); - // Recharger la vue si nécessaire const userList = document.getElementById('userList'); userList?.classList.remove('show'); } @@ -1420,7 +1419,7 @@ if (addMembersBtn) { const membersList = document.getElementById('members-list'); if (membersList) { selectedMembers.forEach(memberId => { - const member = allMembers.find(m => m.id === memberId); + const member = allMembers.find(m => m.id === parseInt(memberId)); if (member) { membersList.insertAdjacentHTML('beforeend', `
${member.name} (${member.roleName})
`); } @@ -1676,6 +1675,9 @@ function signDocument(documentId: number, processId: number, isCommonDocument: b // Nouvelle fonction pour confirmer la signature function confirmSignature(documentId: number, processId: number, isCommonDocument: boolean) { try { + // Ajout du console.log pour voir l'utilisateur actuel + console.log('Current user:', currentUser); + const groups = JSON.parse(localStorage.getItem('groups') || JSON.stringify(groupsMock)); const group = groups.find((g: Group) => g.id === processId); @@ -1683,28 +1685,28 @@ function confirmSignature(documentId: number, processId: number, isCommonDocumen throw new Error('Processus non trouvé'); } - let document; + let targetDoc; if (isCommonDocument) { - document = group.commonDocuments.find((d: any) => d.id === documentId); + targetDoc = group.commonDocuments.find((d: any) => d.id === documentId); } else { for (const role of group.roles) { if (role.documents) { - document = role.documents.find((d: any) => d.id === documentId); - if (document) break; + targetDoc = role.documents.find((d: any) => d.id === documentId); + if (targetDoc) break; } } } - if (!document) { + if (!targetDoc) { throw new Error('Document non trouvé'); } - const userSignature = document.signatures.find((sig: DocumentSignature) => + const userSignature = targetDoc.signatures.find((sig: DocumentSignature) => sig.member.name === currentUser.name ); if (!userSignature) { - throw new Error('Signature non trouvée pour cet utilisateur'); + throw new Error(`L'utilisateur ${currentUser.name} n'est pas autorisé à signer ce document. Veuillez vous connecter avec un utilisateur autorisé.`); } userSignature.signed = true; @@ -1712,12 +1714,16 @@ function confirmSignature(documentId: number, processId: number, isCommonDocumen localStorage.setItem('groups', JSON.stringify(groups)); - closeModal(document.querySelector('.close-btn')); + // Modification ici : utiliser document.querySelector au lieu de document + const closeBtn = document.querySelector('.modal-overlay .close-btn'); + if (closeBtn instanceof HTMLElement) { + closeModal(closeBtn); + } if (isCommonDocument) { showProcessDetails(group, processId); } else { - const role = group.roles.find((r: any) => r.documents?.includes(document)); + const role = group.roles.find((r: any) => r.documents?.includes(targetDoc)); if (role) { showRoleDocuments(role, group); } @@ -1734,7 +1740,6 @@ function confirmSignature(documentId: number, processId: number, isCommonDocumen window.confirmSignature = confirmSignature; window.signDocument = signDocument; -// S'assurer que la fonction est disponible globalement if (typeof window !== 'undefined') { (window as any).signDocument = signDocument; (window as any).confirmSignature = confirmSignature;