Skip to content

Commit 4941031

Browse files
Merge pull request #978 from OpenSignLabs/raktima-opensignlabs-patch-11
fix: ip address missing issue in the completion certificate of document originator using public-sign flow
2 parents 7335d7d + 72e9e48 commit 4941031

File tree

5 files changed

+55
-17
lines changed

5 files changed

+55
-17
lines changed

apps/OpenSign/src/pages/PdfRequestFiles.js

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1591,6 +1591,17 @@ function PdfRequestFiles(props) {
15911591
alert("Please Enter OTP!");
15921592
}
15931593
};
1594+
const handleCloseOtp = () => {
1595+
setIsPublicContact(false);
1596+
setLoading(false);
1597+
setIsOtp(false);
1598+
setOtp();
1599+
setContact({
1600+
name: "",
1601+
email: "",
1602+
phone: ""
1603+
});
1604+
};
15941605

15951606
return (
15961607
<DndProvider backend={HTML5Backend}>
@@ -1720,16 +1731,18 @@ function PdfRequestFiles(props) {
17201731

17211732
<ModalUi
17221733
isOpen={isPublicContact}
1723-
title={"Contact Details"}
1734+
title={isOtp ? "Verify email" : "Contact Details"}
17241735
handleClose={() => {
1725-
setIsPublicContact(false);
1736+
handleCloseOtp();
17261737
}}
17271738
>
17281739
<div className="h-full p-[20px]">
17291740
{isOtp ? (
17301741
<form onSubmit={VerifyOTP}>
17311742
<div className="flex flex-col gap-2">
1732-
<span>You will get a OTP via Email</span>
1743+
<span>
1744+
You will get a verification code via email
1745+
</span>
17331746
<label className="op-input op-input-bordered flex items-center gap-2 ">
17341747
<input
17351748
type="number"
@@ -1748,16 +1761,7 @@ function PdfRequestFiles(props) {
17481761
<button
17491762
className="op-btn op-btn-ghost"
17501763
onClick={() => {
1751-
// document.getElementById("my_modal").close();
1752-
setIsPublicContact(false);
1753-
setLoading(false);
1754-
setIsOtp(false);
1755-
setOtp();
1756-
setContact({
1757-
name: "",
1758-
email: "",
1759-
phone: ""
1760-
});
1764+
handleCloseOtp();
17611765
}}
17621766
>
17631767
Cancel
@@ -1841,8 +1845,7 @@ function PdfRequestFiles(props) {
18411845
<button
18421846
className="op-btn op-btn-ghost"
18431847
onClick={() => {
1844-
// document.getElementById("my_modal").close();
1845-
setIsPublicContact(false);
1848+
handleCloseOtp();
18461849
}}
18471850
>
18481851
Close

apps/OpenSignServer/cloud/parsefunction/DocumentAftersave.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ async function DocumentAftersave(request) {
44
console.log('new entry is insert in contracts_Document');
55
const createdAt = request.object.get('createdAt');
66
const Folder = request.object.get('Type');
7-
const ip = request?.headers?.['x-real-ip'] || '';
7+
const ip = request?.headers?.['x-real-ip'] || request.object?.get('OriginIp') || '';
88
if (createdAt && Folder === undefined) {
99
// console.log("IN If condition")
1010
const TimeToCompleteDays = request.object.get('TimeToCompleteDays') || 15;

apps/OpenSignServer/cloud/parsefunction/PublicUserLinkContactToDoc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ const createDocumentFromTemplate = async (template, existContact, index) => {
6161
object.set('URL', template?.URL);
6262
object.set('CreatedBy', template?.CreatedBy);
6363
object.set('ExtUserPtr', template?.ExtUserPtr);
64+
object.set('OriginIp', template?.OriginIp || '');
6465
let signers = template?.Signers || [];
6566
const signerobj = {
6667
__type: 'Pointer',

apps/OpenSignServer/cloud/parsefunction/TemplateAfterSave.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ export default async function TemplateAfterSave(request) {
55
// update acl of New Document If There are signers present in array
66
const signers = request.object.get('Signers');
77
const AutoReminder = request?.object?.get('AutomaticReminders') || false;
8+
const ip = request?.headers?.['x-real-ip'] || '';
89
if (AutoReminder) {
910
const RemindOnceInEvery = request?.object?.get('RemindOnceInEvery') || 5;
1011
const ReminderDate = new Date(request?.object?.get('createdAt'));
1112
ReminderDate.setDate(ReminderDate.getDate() + RemindOnceInEvery);
1213
request.object.set('NextReminderDate', ReminderDate);
13-
await request.object.save(null, { useMasterKey: true });
1414
}
15+
request.object.set('OriginIp', ip);
16+
await request.object.save(null, { useMasterKey: true });
1517
if (signers && signers.length > 0) {
1618
await updateAclDoc(request.object.id);
1719
} else {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
*
3+
* @param {Parse} Parse
4+
*/
5+
exports.up = async (Parse) => {
6+
// TODO: set className here
7+
const className = 'contracts_Template';
8+
const schema = new Parse.Schema(className);
9+
schema.addString('OriginIp');
10+
11+
// TODO: Set the schema here
12+
// Example:
13+
// schema.addString('name').addNumber('cash');
14+
15+
return schema.update();
16+
};
17+
18+
/**
19+
*
20+
* @param {Parse} Parse
21+
*/
22+
exports.down = async (Parse) => {
23+
// TODO: set className here
24+
const className = 'contracts_Template';
25+
const schema = new Parse.Schema(className);
26+
schema.deleteField('OriginIp');
27+
// TODO: Set the schema here
28+
// Example:
29+
// schema.deleteField('name').deleteField('cash');
30+
31+
return schema.update();
32+
};

0 commit comments

Comments
 (0)