Skip to content

Commit b677451

Browse files
authored
Merge pull request #635 from OpenSignLabs/staging
v1.5.2
2 parents dcaca98 + 55e8042 commit b677451

File tree

6 files changed

+168
-62
lines changed

6 files changed

+168
-62
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@ function EmailComponent({
1616
pdfName,
1717
sender,
1818
setIsAlert,
19-
extUserId
19+
extUserId,
20+
activeMailAdapter
2021
}) {
2122
const [emailList, setEmailList] = useState([]);
2223
const [emailValue, setEmailValue] = useState();
2324
const [isLoading, setIsLoading] = useState(false);
2425
//function for send email
2526
const sendEmail = async () => {
2627
setIsLoading(true);
28+
2729
let sendMail;
2830
for (let i = 0; i < emailList.length; i++) {
2931
try {
@@ -39,6 +41,7 @@ function EmailComponent({
3941
const openSignUrl = "https://www.opensignlabs.com/contact-us";
4042
const themeBGcolor = themeColor;
4143
let params = {
44+
mailProvider: activeMailAdapter,
4245
extUserId: extUserId,
4346
pdfName: pdfName,
4447
url: pdfUrl,

apps/OpenSign/src/constant/Utils.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ export const openInNewTab = (url) => {
1313
window.open(url, "_blank", "noopener,noreferrer");
1414
};
1515

16-
export async function fetchSubscription(extUserId) {
16+
export async function fetchSubscription(extUserId, contactObjId) {
1717
try {
1818
const extClass = localStorage.getItem("Extand_Class");
19+
const isGuestSign = localStorage.getItem("isGuestSigner");
1920
let extUser;
2021
if (extClass) {
2122
const jsonSender = JSON.parse(extClass);
@@ -30,11 +31,19 @@ export async function fetchSubscription(extUserId) {
3031
"X-Parse-Application-Id": localStorage.getItem("parseAppId"),
3132
sessionToken: localStorage.getItem("accesstoken")
3233
};
33-
const params = { extUserId: extUser };
34+
const params = isGuestSign
35+
? { contactId: contactObjId }
36+
: { extUserId: extUser };
3437
const tenatRes = await axios.post(url, params, { headers: headers });
35-
const plan = tenatRes.data?.result?.result?.PlanCode;
36-
const billingDate = tenatRes.data?.result?.result?.Next_billing_date?.iso;
37-
return { plan, billingDate };
38+
let plan, status, billingDate;
39+
if (isGuestSign) {
40+
plan = tenatRes.data?.result?.result?.plan;
41+
status = tenatRes.data?.result?.result?.isSubscribed;
42+
} else {
43+
plan = tenatRes.data?.result?.result?.PlanCode;
44+
billingDate = tenatRes.data?.result?.result?.Next_billing_date?.iso;
45+
}
46+
return { plan, billingDate, status };
3847
} catch (err) {
3948
console.log("Err in fetch subscription", err);
4049
return { plan: "", billingDate: "" };
@@ -528,7 +537,8 @@ export const signPdfFun = async (
528537
signerObjectId,
529538
setIsAlert,
530539
objectId,
531-
isSubscribed
540+
isSubscribed,
541+
activeMailAdapter
532542
) => {
533543
let singleSign,
534544
isCustomCompletionMail = false;
@@ -548,6 +558,7 @@ export const signPdfFun = async (
548558
}
549559

550560
singleSign = {
561+
mailProvider: activeMailAdapter,
551562
pdfFile: base64Url,
552563
docId: documentId,
553564
userId: signerObjectId,

apps/OpenSign/src/pages/PdfRequestFiles.js

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ import {
2424
radioButtonWidget,
2525
replaceMailVaribles,
2626
fetchSubscription,
27-
convertPdfArrayBuffer
27+
convertPdfArrayBuffer,
28+
contractUsers
2829
} from "../constant/Utils";
2930
import Loader from "../primitives/LoaderWithMsg";
3031
import HandleError from "../primitives/HandleError";
@@ -138,10 +139,12 @@ function PdfRequestFiles() {
138139
// eslint-disable-next-line react-hooks/exhaustive-deps
139140
}, [divRef.current]);
140141

141-
async function checkIsSubscribed(extUserId) {
142-
const res = await fetchSubscription(extUserId);
142+
async function checkIsSubscribed(extUserId, contactId) {
143+
const isGuestSign = localStorage.getItem("isGuestSigner");
144+
const res = await fetchSubscription(extUserId, contactId);
143145
const plan = res.plan;
144-
const billingDate = res.billingDate;
146+
const billingDate = res?.billingDate;
147+
const status = res?.status;
145148
if (plan === "freeplan") {
146149
return true;
147150
} else if (billingDate) {
@@ -155,8 +158,15 @@ function PdfRequestFiles() {
155158
navigate(`/subscription`);
156159
}
157160
}
161+
} else if (isGuestSign) {
162+
if (status) {
163+
setIsSubscribed(true);
164+
return true;
165+
} else {
166+
setIsSubscriptionExpired(true);
167+
}
158168
} else {
159-
if (location.pathname.includes("/load/")) {
169+
if (isGuestSign) {
160170
setIsSubscriptionExpired(true);
161171
} else {
162172
navigate(`/subscription`);
@@ -178,9 +188,7 @@ function PdfRequestFiles() {
178188
} else {
179189
setPdfArrayBuffer(arrayBuffer);
180190
}
181-
if (isEnableSubscription) {
182-
await checkIsSubscribed(documentData[0]?.ExtUserPtr?.objectId);
183-
}
191+
184192
setExtUserId(documentData[0]?.ExtUserPtr?.objectId);
185193
const isCompleted =
186194
documentData[0].IsCompleted && documentData[0].IsCompleted;
@@ -196,6 +204,12 @@ function PdfRequestFiles() {
196204
);
197205

198206
currUserId = getCurrentSigner[0] ? getCurrentSigner[0].objectId : "";
207+
if (isEnableSubscription) {
208+
await checkIsSubscribed(
209+
documentData[0]?.ExtUserPtr?.objectId,
210+
currUserId
211+
);
212+
}
199213
setSignerObjectId(currUserId);
200214
if (documentData[0].SignedUrl) {
201215
setPdfUrl(documentData[0].SignedUrl);
@@ -577,6 +591,20 @@ function PdfRequestFiles() {
577591
);
578592
//get ExistUserPtr object id of user class to get tenantDetails
579593
const objectId = pdfDetails?.[0]?.ExtUserPtr?.UserId?.objectId;
594+
595+
const res = await contractUsers(jsonSender?.email);
596+
console.log("res", res);
597+
let activeMailAdapter = "";
598+
if (res === "Error: Something went wrong!") {
599+
setHandleError("Error: Something went wrong!");
600+
setIsLoading({
601+
isLoad: false
602+
});
603+
} else if (!res || res?.length === 0) {
604+
activeMailAdapter = "";
605+
} else if (res[0] && res.length) {
606+
activeMailAdapter = res[0]?.active_mail_adapter;
607+
}
580608
//function for call to embed signature in pdf and get digital signature pdf
581609
try {
582610
const res = await signPdfFun(
@@ -585,7 +613,8 @@ function PdfRequestFiles() {
585613
signerObjectId,
586614
setIsAlert,
587615
objectId,
588-
isSubscribed
616+
isSubscribed,
617+
activeMailAdapter
589618
);
590619
if (res && res.status === "success") {
591620
setPdfUrl(res.data);
@@ -677,6 +706,7 @@ function PdfRequestFiles() {
677706
}
678707

679708
let params = {
709+
mailProvider: activeMailAdapter,
680710
extUserId: extUserId,
681711
recipient: user.Email,
682712
subject: requestSubject

apps/OpenSign/src/pages/PlaceHolderSign.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ function PlaceHolderSign() {
123123
const [requestSubject, setRequestSubject] = useState("");
124124
const [requestBody, setRequestBody] = useState("");
125125
const [pdfArrayBuffer, setPdfArrayBuffer] = useState("");
126+
const [activeMailAdapter, setActiveMailAdapter] = useState("");
126127
const [isAlreadyPlace, setIsAlreadyPlace] = useState({
127128
status: false,
128129
message: ""
@@ -406,7 +407,14 @@ function PlaceHolderSign() {
406407
setIsLoading(loadObj);
407408
}
408409
const res = await contractUsers(jsonSender.email);
409-
if (res[0] && res.length) {
410+
if (res === "Error: Something went wrong!") {
411+
const loadObj = {
412+
isLoad: false
413+
};
414+
setHandleError("Error: Something went wrong!");
415+
setIsLoading(loadObj);
416+
} else if (res[0] && res.length) {
417+
setActiveMailAdapter(res[0]?.active_mail_adapter);
410418
setSignerUserId(res[0].objectId);
411419
const tourstatus = res[0].TourStatus && res[0].TourStatus;
412420
if (tourstatus && tourstatus.length > 0) {
@@ -422,12 +430,6 @@ function PlaceHolderSign() {
422430
isLoad: false
423431
};
424432
setIsLoading(loadObj);
425-
} else if (res === "Error: Something went wrong!") {
426-
const loadObj = {
427-
isLoad: false
428-
};
429-
setHandleError("Error: Something went wrong!");
430-
setIsLoading(loadObj);
431433
} else if (res.length === 0) {
432434
setHandleError("No Data Found!");
433435
const loadObj = {
@@ -1104,6 +1106,7 @@ function PlaceHolderSign() {
11041106
}
11051107

11061108
let params = {
1109+
mailProvider: activeMailAdapter,
11071110
extUserId: extUserId,
11081111
recipient: signerMail[i].Email,
11091112
subject: isCustomize

apps/OpenSign/src/pages/SignyourselfPdf.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ function SignYourSelf() {
104104
const [extUserId, setExtUserId] = useState("");
105105
const [isCompleted, setIsCompleted] = useState(false);
106106
const [pdfArrayBuffer, setPdfArrayBuffer] = useState("");
107+
const [activeMailAdapter, setActiveMailAdapter] = useState("");
107108
const divRef = useRef(null);
108109
const nodeRef = useRef(null);
109110
const [, drop] = useDrop({
@@ -266,7 +267,14 @@ function SignYourSelf() {
266267
setIsLoading(loadObj);
267268
});
268269
const contractUsersRes = await contractUsers(jsonSender.email);
269-
if (contractUsersRes[0] && contractUsersRes.length > 0) {
270+
if (contractUsersRes === "Error: Something went wrong!") {
271+
const loadObj = {
272+
isLoad: false
273+
};
274+
setHandleError("Error: Something went wrong!");
275+
setIsLoading(loadObj);
276+
} else if (contractUsersRes[0] && contractUsersRes.length > 0) {
277+
setActiveMailAdapter(contractUsersRes[0]?.active_mail_adapter);
270278
setContractName("_Users");
271279
setSignerUserId(contractUsersRes[0].objectId);
272280
const tourstatuss =
@@ -286,12 +294,6 @@ function SignYourSelf() {
286294
isLoad: false
287295
};
288296
setIsLoading(loadObj);
289-
} else if (contractUsersRes === "Error: Something went wrong!") {
290-
const loadObj = {
291-
isLoad: false
292-
};
293-
setHandleError("Error: Something went wrong!");
294-
setIsLoading(loadObj);
295297
} else if (contractUsersRes.length === 0) {
296298
const contractContactBook = await contactBook(jsonSender.objectId);
297299
if (contractContactBook && contractContactBook.length > 0) {
@@ -615,7 +617,8 @@ function SignYourSelf() {
615617
let singleSign = {
616618
pdfFile: base64Url,
617619
docId: documentId,
618-
isCustomCompletionMail: isCustomCompletionMail
620+
isCustomCompletionMail: isCustomCompletionMail,
621+
mailProvider: activeMailAdapter
619622
};
620623

621624
await axios
@@ -1138,6 +1141,7 @@ function SignYourSelf() {
11381141
sender={jsonSender}
11391142
setIsAlert={setIsAlert}
11401143
extUserId={extUserId}
1144+
activeMailAdapter={activeMailAdapter}
11411145
/>
11421146
{/* pdf header which contain funish back button */}
11431147
<Header

0 commit comments

Comments
 (0)