Skip to content

Commit 737d66d

Browse files
Merge pull request #1428 from OpenSignLabs/validation
fix: signature type not visible in signpad for public template
2 parents 240c776 + b77b57d commit 737d66d

File tree

5 files changed

+57
-77
lines changed

5 files changed

+57
-77
lines changed

apps/OpenSign/src/components/pdf/SignPad.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,13 @@ function SignPad(props) {
3737
useEffect(() => {
3838
handleTab();
3939
// eslint-disable-next-line react-hooks/exhaustive-deps
40-
}, []);
40+
}, [props.signatureTypes]);
41+
4142
function handleTab() {
4243
const signtypes = props?.signatureTypes || [];
4344
const index = signtypes?.findIndex((x) => x.enabled === true);
4445
if (index !== -1) {
46+
setIsSignTypes(true);
4547
const tab = props?.signatureTypes[index].name;
4648
if (tab === "draw") {
4749
setIsTab("draw");

apps/OpenSign/src/pages/DraftTemplate.js

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -248,15 +248,18 @@ const DraftTemplate = () => {
248248
}
249249

250250
if (documentData && documentData.length > 0) {
251-
const docSignTypes = documentData?.[0]?.SignatureType || signatureTypes;
251+
if (isEnableSubscription) {
252+
checkIsSubscribed(documentData[0]?.ExtUserPtr?.Email);
253+
}
254+
const userSignatureType =
255+
documentData[0]?.ExtUserPtr?.SignatureType || signatureTypes;
256+
const docSignTypes =
257+
documentData?.[0]?.SignatureType || userSignatureType;
252258
const updatedSignatureType = await handleSignatureType(
253259
tenantSignTypes,
254260
docSignTypes
255261
);
256262
setSignatureType(updatedSignatureType);
257-
if (isEnableSubscription) {
258-
checkIsSubscribed(documentData[0]?.ExtUserPtr?.Email);
259-
}
260263
const updatedPdfDetails = [...documentData];
261264
updatedPdfDetails[0].SignatureType = updatedSignatureType;
262265
setPdfDetails(updatedPdfDetails);
@@ -327,19 +330,6 @@ const DraftTemplate = () => {
327330

328331
const res = await contractUsers(jwttoken);
329332
if (res[0] && res.length) {
330-
const userSignatureType = res[0]?.SignatureType || signatureTypes;
331-
const docSignTypes =
332-
documentData?.[0]?.SignatureType || userSignatureType;
333-
const updatedSignatureType = await handleSignatureType(
334-
tenantSignTypes,
335-
docSignTypes
336-
);
337-
setSignatureType(updatedSignatureType);
338-
if (documentData?.length && documentData?.[0]?.objectId) {
339-
const updatedPdfDetails = [...documentData];
340-
updatedPdfDetails[0].SignatureType = updatedSignatureType;
341-
setPdfDetails(updatedPdfDetails);
342-
}
343333
setSignerUserId(res[0].objectId);
344334
const tourstatus = res[0].TourStatus && res[0].TourStatus;
345335
if (tourstatus && tourstatus.length > 0) {

apps/OpenSign/src/pages/PdfRequestFiles.js

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -421,12 +421,18 @@ function PdfRequestFiles(props) {
421421
//getting document details
422422
const documentData = await contractDocument(docId);
423423
if (documentData && documentData.length > 0) {
424-
const docSignTypes = documentData?.[0]?.SignatureType || signatureTypes;
424+
const userSignatureType =
425+
documentData[0]?.ExtUserPtr?.SignatureType || signatureTypes;
426+
const docSignTypes =
427+
documentData?.[0]?.SignatureType || userSignatureType;
425428
const updatedSignatureType = await handleSignatureType(
426429
tenantSignTypes,
427430
docSignTypes
428431
);
429432
setSignatureType(updatedSignatureType);
433+
const updatedPdfDetails = [...documentData];
434+
updatedPdfDetails[0].SignatureType = updatedSignatureType;
435+
setPdfDetails(updatedPdfDetails);
430436
const url =
431437
documentData[0] &&
432438
(documentData[0]?.SignedUrl || documentData[0]?.URL);
@@ -2130,28 +2136,30 @@ function PdfRequestFiles(props) {
21302136
</div>
21312137
</ModalUi>
21322138
{/* this component is used for signature pad modal */}
2133-
<SignPad
2134-
signatureTypes={signatureType}
2135-
isSignPad={isSignPad}
2136-
isStamp={isStamp}
2137-
setIsImageSelect={setIsImageSelect}
2138-
setIsSignPad={setIsSignPad}
2139-
setImage={setImage}
2140-
isImageSelect={isImageSelect}
2141-
imageRef={imageRef}
2142-
onImageChange={onImageChange}
2143-
setSignature={setSignature}
2144-
image={image}
2145-
onSaveImage={saveImage}
2146-
onSaveSign={saveSign}
2147-
defaultSign={defaultSignImg}
2148-
myInitial={myInitial}
2149-
isInitial={isInitial}
2150-
setIsInitial={setIsInitial}
2151-
setIsStamp={setIsStamp}
2152-
currWidgetsDetails={currWidgetsDetails}
2153-
setCurrWidgetsDetails={setCurrWidgetsDetails}
2154-
/>
2139+
{documentId && (
2140+
<SignPad
2141+
signatureTypes={signatureType}
2142+
isSignPad={isSignPad}
2143+
isStamp={isStamp}
2144+
setIsImageSelect={setIsImageSelect}
2145+
setIsSignPad={setIsSignPad}
2146+
setImage={setImage}
2147+
isImageSelect={isImageSelect}
2148+
imageRef={imageRef}
2149+
onImageChange={onImageChange}
2150+
setSignature={setSignature}
2151+
image={image}
2152+
onSaveImage={saveImage}
2153+
onSaveSign={saveSign}
2154+
defaultSign={defaultSignImg}
2155+
myInitial={myInitial}
2156+
isInitial={isInitial}
2157+
setIsInitial={setIsInitial}
2158+
setIsStamp={setIsStamp}
2159+
currWidgetsDetails={currWidgetsDetails}
2160+
setCurrWidgetsDetails={setCurrWidgetsDetails}
2161+
/>
2162+
)}
21552163
{/* pdf header which contain funish back button */}
21562164
<Header
21572165
isPdfRequestFiles={isPublicTemplate ? false : true}

apps/OpenSign/src/pages/PlaceHolderSign.js

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -262,12 +262,6 @@ function PlaceHolderSign() {
262262
const documentData = await contractDocument(documentId);
263263
if (documentData && documentData.length > 0) {
264264
const url = documentData[0] && documentData[0]?.URL;
265-
const docSignTypes = documentData?.[0]?.SignatureType || signatureTypes;
266-
const updatedSignatureType = await handleSignatureType(
267-
tenantSignTypes,
268-
docSignTypes
269-
);
270-
setSignatureType(updatedSignatureType);
271265
//convert document url in array buffer format to use embed widgets in pdf using pdf-lib
272266
const arrayBuffer = await convertPdfArrayBuffer(url);
273267
if (arrayBuffer === "Error") {
@@ -320,6 +314,15 @@ function PlaceHolderSign() {
320314
});
321315
}
322316
}
317+
const userSignatureType =
318+
documentData[0]?.ExtUserPtr?.SignatureType || signatureTypes;
319+
const docSignTypes =
320+
documentData?.[0]?.SignatureType || userSignatureType;
321+
const updatedSignatureType = await handleSignatureType(
322+
tenantSignTypes,
323+
docSignTypes
324+
);
325+
setSignatureType(updatedSignatureType);
323326
const updatedPdfDetails = [...documentData];
324327
updatedPdfDetails[0].SignatureType = updatedSignatureType;
325328
setPdfDetails(updatedPdfDetails);
@@ -445,19 +448,6 @@ function PlaceHolderSign() {
445448
setHandleError(t("something-went-wrong-mssg"));
446449
setIsLoading({ isLoad: false });
447450
} else if (res.length && res[0]?.objectId) {
448-
const userSignatureType = res[0]?.SignatureType || signatureTypes;
449-
const docSignTypes =
450-
documentData?.[0]?.SignatureType || userSignatureType;
451-
const updatedSignatureType = await handleSignatureType(
452-
tenantSignTypes,
453-
docSignTypes
454-
);
455-
setSignatureType(updatedSignatureType);
456-
if (documentData?.length && documentData?.[0]?.objectId) {
457-
const updatedPdfDetails = [...documentData];
458-
updatedPdfDetails[0].SignatureType = updatedSignatureType;
459-
setPdfDetails(updatedPdfDetails);
460-
}
461451
setActiveMailAdapter(res[0]?.active_mail_adapter);
462452
setSignerUserId(res[0].objectId);
463453
const tourstatus = res[0].TourStatus && res[0].TourStatus;

apps/OpenSign/src/pages/TemplatePlaceholder.js

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -236,15 +236,18 @@ const TemplatePlaceholder = () => {
236236
: [];
237237

238238
if (documentData && documentData.length > 0) {
239-
const docSignTypes = documentData?.[0]?.SignatureType || signatureTypes;
239+
if (isEnableSubscription) {
240+
checkIsSubscribed(documentData[0]?.ExtUserPtr?.Email);
241+
}
242+
const userSignatureType =
243+
documentData[0]?.ExtUserPtr?.SignatureType || signatureTypes;
244+
const docSignTypes =
245+
documentData?.[0]?.SignatureType || userSignatureType;
240246
const updatedSignatureType = await handleSignatureType(
241247
tenantSignTypes,
242248
docSignTypes
243249
);
244250
setSignatureType(updatedSignatureType);
245-
if (isEnableSubscription) {
246-
checkIsSubscribed(documentData[0]?.ExtUserPtr?.Email);
247-
}
248251
const updatedPdfDetails = [...documentData];
249252
updatedPdfDetails[0].SignatureType = updatedSignatureType;
250253
setPdfDetails(updatedPdfDetails);
@@ -314,19 +317,6 @@ const TemplatePlaceholder = () => {
314317
}
315318
const res = await contractUsers();
316319
if (res[0] && res.length) {
317-
const userSignatureType = res[0]?.SignatureType || signatureTypes;
318-
const docSignTypes =
319-
documentData?.[0]?.SignatureType || userSignatureType;
320-
const updatedSignatureType = await handleSignatureType(
321-
tenantSignTypes,
322-
docSignTypes
323-
);
324-
setSignatureType(updatedSignatureType);
325-
if (documentData?.length && documentData?.[0]?.objectId) {
326-
const updatedPdfDetails = [...documentData];
327-
updatedPdfDetails[0].SignatureType = updatedSignatureType;
328-
setPdfDetails(updatedPdfDetails);
329-
}
330320
setSignerUserId(res[0].objectId);
331321
setCurrentEmail(res[0].Email);
332322
const tourstatus = res[0].TourStatus && res[0].TourStatus;

0 commit comments

Comments
 (0)