mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-09-03 08:18:50 +02:00
Compare commits
16
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ef22eb220 | ||
|
|
2237358d8a | ||
|
|
0275762e20 | ||
|
|
618b4fa2fb | ||
|
|
37b41fca93 | ||
|
|
470ed8970a | ||
|
|
bb80324c35 | ||
|
|
a460b62233 | ||
|
|
412901b839 | ||
|
|
9b322913f6 | ||
|
|
248bb71ceb | ||
|
|
f62b241270 | ||
|
|
d95da53757 | ||
|
|
277cc34e65 | ||
|
|
1ca33c0b76 | ||
|
|
d8131a6199 |
+2
-2
@@ -77,6 +77,6 @@ Engage with the community on our [Gitter Channel](https://gitter.im/OpenSignLabs
|
||||
|
||||
## License
|
||||
|
||||
By contributing, you agree that your contributions will be licensed under its [MIT License](LICENSE).
|
||||
By contributing, you agree that your contributions will be licensed under its [AGPL-V3 License](LICENSE).
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* All content that resides under the "apps/OpenSignServer/cloud/customRoute" directory of this repository, if that directory exists, is licensed under the license defined in "apps/OpenSignServer/cloud/customRoute".
|
||||
* All third party components incorporated into the OpenSign Software are licensed under the original license provided by the owner of the applicable component.
|
||||
* Content outside of the above mentioned directories or restrictions above is available under the "GNU AFFERO GENERAL PUBLIC LICENSE" as defined below -
|
||||
|
||||
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
|
||||
@@ -531,9 +531,9 @@ function PdfRequestFiles(props) {
|
||||
const obj = documentData?.[0];
|
||||
setSendInOrder(obj?.SendinOrder || false);
|
||||
if (
|
||||
obj &&
|
||||
obj?.Signers?.length > 0 &&
|
||||
obj?.Placeholders?.length > 0
|
||||
obj?.Signers?.length &&
|
||||
obj?.Placeholders?.length &&
|
||||
currUserId !== "undefined"
|
||||
) {
|
||||
const params = {
|
||||
event: "viewed",
|
||||
|
||||
@@ -580,22 +580,33 @@ function PlaceHolderSign() {
|
||||
}
|
||||
setSignerPos(updatesignerPos);
|
||||
} else {
|
||||
let updatesignerPos;
|
||||
//if condition when widget type is prefill label text widget
|
||||
if (dragTypeValue === textWidget) {
|
||||
const prefileTextWidget = {
|
||||
signerPtr: {},
|
||||
signerObjId: "",
|
||||
blockColor: "#f58f8c",
|
||||
placeHolder: [placeHolder],
|
||||
Role: "prefill",
|
||||
Id: key
|
||||
};
|
||||
signerPos.push(prefileTextWidget);
|
||||
setSignerPos(signerPos);
|
||||
//check text widgets data (prefill) already exist then and want to add text widget on new page
|
||||
//create new page entry with old data and update placeholder
|
||||
if (filterSignerPos) {
|
||||
const addPrefillData =
|
||||
filterSignerPos && filterSignerPos?.placeHolder;
|
||||
addPrefillData.push(placeHolder);
|
||||
const updatePrefillPos = signerPos.map((x) =>
|
||||
x.Role === "prefill" ? { ...x, placeHolder: addPrefillData } : x
|
||||
);
|
||||
setSignerPos(updatePrefillPos);
|
||||
} //else condition if user do not have any text widget data
|
||||
else {
|
||||
const prefillTextWidget = {
|
||||
signerPtr: {},
|
||||
signerObjId: "",
|
||||
blockColor: "#f58f8c",
|
||||
placeHolder: [placeHolder],
|
||||
Role: "prefill",
|
||||
Id: key
|
||||
};
|
||||
setSignerPos((prev)=>[...prev,prefillTextWidget]);
|
||||
}
|
||||
} else {
|
||||
//else condition to add placeholder widgets on multiple page first time
|
||||
updatesignerPos = signerPos.map((x) =>
|
||||
const updatesignerPos = signerPos.map((x) =>
|
||||
x.Id === uniqueId && x?.placeHolder
|
||||
? { ...x, placeHolder: [...x.placeHolder, placeHolder] }
|
||||
: x.Id === uniqueId
|
||||
@@ -770,15 +781,17 @@ function PlaceHolderSign() {
|
||||
signerupdate.push(newUpdatePos[0]);
|
||||
setSignerPos(signerupdate);
|
||||
} else {
|
||||
const updatedData = signerPos.map((item) => {
|
||||
if (item.Id === Id) {
|
||||
// Create a copy of the item object and delete the placeHolder field
|
||||
const updatedItem = { ...item };
|
||||
delete updatedItem.placeHolder;
|
||||
return updatedItem;
|
||||
}
|
||||
return item;
|
||||
});
|
||||
const updatedData = signerPos
|
||||
.filter((item) => !(item.Id === Id && item.Role === "prefill")) // Remove prefill object
|
||||
.map((item) => {
|
||||
if (item.Id === Id && item.Role !== "prefill") {
|
||||
// Create a copy of the item object and delete the placeHolder field
|
||||
const updatedItem = { ...item };
|
||||
delete updatedItem.placeHolder;
|
||||
return updatedItem;
|
||||
}
|
||||
return item;
|
||||
});
|
||||
setSignerPos(updatedData);
|
||||
}
|
||||
}
|
||||
@@ -1586,7 +1599,11 @@ function PlaceHolderSign() {
|
||||
}
|
||||
};
|
||||
const handleRecipientSign = () => {
|
||||
navigate(`/recipientSignPdf/${documentId}/${currentId}`);
|
||||
if (currentId) {
|
||||
navigate(`/recipientSignPdf/${documentId}/${currentId}`);
|
||||
} else {
|
||||
navigate(`/recipientSignPdf/${documentId}`);
|
||||
}
|
||||
};
|
||||
const handleLinkUser = (id) => {
|
||||
setIsAddUser({ [id]: true });
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
The OpenSign Enterprise license (the “Enterprise License”)
|
||||
Copyright (c) 2020-2024 Qik Innovations Private Limited.
|
||||
|
||||
With regard to the OpenSign Software:
|
||||
|
||||
This software and associated documentation files (the "Software") may only be
|
||||
used in production, if you (and any entity that you represent) have agreed to,
|
||||
and are in compliance with, the OpenSign Subscription Terms of Service(the “Enterprise Terms”), or other
|
||||
agreement governing the use of the Software, as agreed by you and OpenSign,
|
||||
and otherwise have a valid OpenSign Enterprise license for the
|
||||
correct number of user seats. Subject to the foregoing sentence, you are free to
|
||||
modify this Software and publish patches to the Software. You agree that OpenSign
|
||||
and/or its licensors (as applicable) retain all right, title and interest in and
|
||||
to all such modifications and/or patches, and all such modifications and/or
|
||||
patches may only be used, copied, modified, displayed, distributed, or otherwise
|
||||
exploited with a valid OpenSign Enterprise license for the correct
|
||||
number of user seats. Notwithstanding the foregoing, you may copy and modify
|
||||
the Software for development and testing purposes, without requiring a
|
||||
subscription. You agree that OpenSign and/or its licensors (as applicable) retain
|
||||
all right, title and interest in and to all such modifications. You are not
|
||||
granted any other rights beyond what is expressly stated herein. Subject to the
|
||||
foregoing, it is forbidden to copy, merge, publish, distribute, sublicense,
|
||||
and/or sell the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
For all third party components incorporated into the OpenSign Software, those
|
||||
components are licensed under the original license provided by the owner of the
|
||||
applicable component.
|
||||
@@ -8,7 +8,7 @@ export default function getPresignedUrl(url, adapter) {
|
||||
AWS.config.update({ credentials: credentials, region: adapter?.region || process.env.DO_REGION });
|
||||
const spacesEndpoint = adapter?.endpoint || new AWS.Endpoint(process.env.DO_ENDPOINT);
|
||||
|
||||
const s3 = new AWS.S3({ endpoint: spacesEndpoint });
|
||||
const s3 = new AWS.S3({ endpoint: spacesEndpoint, signatureVersion: "v4" });
|
||||
|
||||
// Create a new URL object
|
||||
const parsedUrl = new URL(url);
|
||||
|
||||
@@ -95,13 +95,22 @@ export default async function getSubscription(request) {
|
||||
} else if (contactId) {
|
||||
try {
|
||||
const contactCls = new Parse.Query('contracts_Contactbook');
|
||||
contactCls.include('CreatedBy');
|
||||
const contactUser = await contactCls.get(contactId, { useMasterKey: true });
|
||||
if (contactUser) {
|
||||
const _contractUser = JSON.parse(JSON.stringify(contactUser));
|
||||
let TenantId = _contractUser?.TenantId?.objectId || '';
|
||||
if (!TenantId) {
|
||||
const extUserCls = new Parse.Query('contracts_Users');
|
||||
extUserCls.equalTo('Email', _contractUser.CreatedBy.email);
|
||||
const contactUser = await extUserCls.first({ useMasterKey: true });
|
||||
TenantId = contactUser?.get('TenantId')?.id || '';
|
||||
}
|
||||
const subscriptionCls = new Parse.Query('contracts_Subscriptions');
|
||||
subscriptionCls.equalTo('TenantId', {
|
||||
__type: 'Pointer',
|
||||
className: 'partners_Tenant',
|
||||
objectId: contactUser.get('TenantId').id,
|
||||
objectId: TenantId,
|
||||
});
|
||||
subscriptionCls.descending('createdAt');
|
||||
const subcripitions = await subscriptionCls.first({ useMasterKey: true });
|
||||
|
||||
@@ -14,6 +14,7 @@ async function uploadFileToS3(buffer, fileName, mimeType, adapter) {
|
||||
client = new S3Client({
|
||||
region: adapter?.region,
|
||||
credentials: { accessKeyId: adapter?.accessKeyId, secretAccessKey: adapter?.secretAccessKey },
|
||||
signatureVersion: "v4"
|
||||
});
|
||||
}
|
||||
const prefixId = crypto.randomBytes(16).toString('hex');
|
||||
|
||||
Reference in New Issue
Block a user