Skip to content

Commit e8eef32

Browse files
fix: update condition for checking signature widget validation
1 parent 660eaeb commit e8eef32

File tree

2 files changed

+9
-21
lines changed

2 files changed

+9
-21
lines changed

apps/OpenSignServer/cloud/customRoute/v1/routes/CreateDocumentWithTemplate.js

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -88,20 +88,11 @@ export default async function createDocumentWithTemplate(request, response) {
8888
const updateSigners = placeholder.every(y => signers?.some(x => x.role === y.Role));
8989
// console.log('isValid ', isValid);
9090
if (isValid && updateSigners) {
91-
let isSignExist = false; // variable is used to check a signature widget exit or not then execute other code
92-
//for loop is used to check signature widget exist or not
93-
parent: for (let item of template?.Placeholders) {
94-
// Reset for each iteration
95-
for (let x of item?.placeHolder) {
96-
if (!isSignExist) {
97-
isSignExist = x.pos.some(data => data?.type === 'signature');
98-
if (isSignExist) {
99-
break parent;
100-
}
101-
}
102-
}
103-
}
104-
if (!isSignExist) {
91+
//Check if every item's placeholders contain at least one placeholder with type 'signature'.
92+
let isSignature = template?.Placeholders?.every(item =>
93+
item?.placeHolder.some(x => x?.pos.some(data => data?.type === 'signature'))
94+
);
95+
if (!isSignature) {
10596
return response
10697
.status(400)
10798
.json({ error: 'Please add at least one signature widget for all signers' });

apps/OpenSignServer/cloud/customRoute/v1/routes/createDocumentwithCoordinate.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,10 @@ export default async function createDocumentwithCoordinate(request, response) {
8888
objectId: parseUser.userId.objectId,
8989
};
9090
if (signers && signers.length > 0) {
91-
//for loop is used to check signature widget exist or not
92-
let isSignExist = true; // Reset for each iteration
93-
for (let item of signers) {
94-
if (!isSignExist) {
95-
signatureExist = item.widgets.some(data => data?.type === 'signature');
96-
}
97-
}
91+
// Check if at least one signature exists among all items in the signers array
92+
let isSignExist = signers.every(item =>
93+
item.widgets.some(data => data?.type === 'signature')
94+
);
9895
if (!isSignExist) {
9996
return response
10097
.status(400)

0 commit comments

Comments
 (0)