fix: ip address missing of document originator using public-sign

This commit is contained in:
RaktimaNXG
2024-07-26 14:06:47 +05:30
parent 76a11f6ee6
commit b8d6ec5fe0
5 changed files with 57 additions and 17 deletions
+18 -15
View File
@@ -1591,6 +1591,17 @@ function PdfRequestFiles(props) {
alert("Please Enter OTP!");
}
};
const handleCloseOtp = () => {
setIsPublicContact(false);
setLoading(false);
setIsOtp(false);
setOtp();
setContact({
name: "",
email: "",
phone: ""
});
};
return (
<DndProvider backend={HTML5Backend}>
@@ -1720,16 +1731,18 @@ function PdfRequestFiles(props) {
<ModalUi
isOpen={isPublicContact}
title={"Contact Details"}
title={isOtp ? "Verify email" : "Contact Details"}
handleClose={() => {
setIsPublicContact(false);
handleCloseOtp();
}}
>
<div className="h-full p-[20px]">
{isOtp ? (
<form onSubmit={VerifyOTP}>
<div className="flex flex-col gap-2">
<span>You will get a OTP via Email</span>
<span>
You will get a verification code via email
</span>
<label className="op-input op-input-bordered flex items-center gap-2 ">
<input
type="number"
@@ -1748,16 +1761,7 @@ function PdfRequestFiles(props) {
<button
className="op-btn op-btn-ghost"
onClick={() => {
// document.getElementById("my_modal").close();
setIsPublicContact(false);
setLoading(false);
setIsOtp(false);
setOtp();
setContact({
name: "",
email: "",
phone: ""
});
handleCloseOtp();
}}
>
Cancel
@@ -1841,8 +1845,7 @@ function PdfRequestFiles(props) {
<button
className="op-btn op-btn-ghost"
onClick={() => {
// document.getElementById("my_modal").close();
setIsPublicContact(false);
handleCloseOtp();
}}
>
Close
@@ -13,7 +13,7 @@ async function DocumentAftersave(request) {
const documentQuery = new Parse.Query('contracts_Document');
const updateQuery = await documentQuery.get(request.object.id, { useMasterKey: true });
updateQuery.set('ExpiryDate', ExpiryDate);
updateQuery.set('OriginIp', ip);
updateQuery.set('OriginIp', ip || request.object?.get('OriginIp') || '');
const AutoReminder = request?.object?.get('AutomaticReminders') || false;
if (AutoReminder) {
const RemindOnceInEvery = request?.object?.get('RemindOnceInEvery') || 5;
@@ -61,6 +61,7 @@ const createDocumentFromTemplate = async (template, existContact, index) => {
object.set('URL', template?.URL);
object.set('CreatedBy', template?.CreatedBy);
object.set('ExtUserPtr', template?.ExtUserPtr);
object.set('OriginIp', template?.OriginIp || '');
let signers = template?.Signers || [];
const signerobj = {
__type: 'Pointer',
@@ -5,13 +5,17 @@ export default async function TemplateAfterSave(request) {
// update acl of New Document If There are signers present in array
const signers = request.object.get('Signers');
const AutoReminder = request?.object?.get('AutomaticReminders') || false;
const ip = request?.headers?.['x-real-ip'] || '';
if (AutoReminder) {
const RemindOnceInEvery = request?.object?.get('RemindOnceInEvery') || 5;
const ReminderDate = new Date(request?.object?.get('createdAt'));
ReminderDate.setDate(ReminderDate.getDate() + RemindOnceInEvery);
request.object.set('NextReminderDate', ReminderDate);
await request.object.save(null, { useMasterKey: true });
request.object.set('OriginIp', ip);
} else {
request.object.set('OriginIp', ip);
}
await request.object.save(null, { useMasterKey: true });
if (signers && signers.length > 0) {
await updateAclDoc(request.object.id);
} else {
@@ -0,0 +1,32 @@
/**
*
* @param {Parse} Parse
*/
exports.up = async (Parse) => {
// TODO: set className here
const className = 'contracts_Template';
const schema = new Parse.Schema(className);
schema.addString('OriginIp');
// TODO: Set the schema here
// Example:
// schema.addString('name').addNumber('cash');
return schema.update();
};
/**
*
* @param {Parse} Parse
*/
exports.down = async (Parse) => {
// TODO: set className here
const className = 'contracts_Template';
const schema = new Parse.Schema(className);
schema.deleteField('OriginIp');
// TODO: Set the schema here
// Example:
// schema.deleteField('name').deleteField('cash');
return schema.update();
};