Skip to content

Commit e819513

Browse files
authored
Merge pull request #1478 from OpenSignLabs/feat_status
feat: show status and signers list in need your sign and in-progress report
2 parents fa08efe + dd0e2f0 commit e819513

13 files changed

Lines changed: 188 additions & 131 deletions

File tree

apps/OpenSign/public/locales/en/translation.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@
515515
"error": "Error",
516516
"invalid-document": "Error: invalid document!",
517517
"document-not-found": "Document not Found!",
518-
"document-signed-alert-1": "You have successfully signed the document. You can download or print a copy of the partially signed document. A copy of the digitally signed document will be sent to the owner over email once it is signed by all signers.",
518+
"document-signed-alert-1": "You have successfully signed the document. You can download or print a copy of the partially signed document. A copy of the digitally signed document & completion certificate will be sent to the owner & all signers over email once it is signed by all signers.",
519519
"encrypted-pdf-not-support": "Currently encrypted pdf files are not supported.",
520520
"document-signed-alert-4": " Congratulations! 🎉 This document has been successfully signed by all participants!",
521521
"document-signed-alert-5": "This document has been signed by all Signers.",
@@ -655,6 +655,7 @@
655655
"angular-npm-mssg-1": "To integrate OpenSign into your Angular project, simply run the following command:",
656656
"quota-mail-info-head":"Monthly request signatures email limit",
657657
"quota-mail-info": "You can send upto 15 signature request emails every month. Upgrade now to send unlimited signing requests directly.",
658+
"quota-mail-reset": "Your signature request email credits will be reset on",
658659
"quota-mail": "You've reached your limit of 15 signature request emails for this month. Upgrade now to continue sending emails directly.",
659660
"quota-mail-tip":"Tip: You can still sign <1>unlimited documents</1> by manually sharing the signing request links.",
660661
"quota-mail-head":"Quota Reached",

apps/OpenSign/public/locales/es/translation.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@
515515
"error": "Error",
516516
"invalid-document": "Error: ¡Documento inválido!",
517517
"document-not-found": "¡Documento no encontrado!",
518-
"document-signed-alert-1": "Has firmado el documento exitosamente. Puedes descargar o imprimir una copia del documento parcialmente firmado. Una copia del documento firmado digitalmente será enviada al propietario mediante correo electrónico una vez haya sido firmado por todos los firmantes.",
518+
"document-signed-alert-1": "Ha firmado exitosamente el documento. Puede descargar o imprimir una copia del documento parcialmente firmado. Se enviará una copia del documento firmado digitalmente y del certificado de finalización al propietario y a todos los firmantes por correo electrónico una vez que todos los firmantes lo hayan firmado.",
519519
"encrypted-pdf-not-support": "Los archivos PDF encriptados no están soportados actualmente.",
520520
"document-signed-alert-4": " ¡Felicitaciones! 🎉 ¡Este documento ha sido firmado exitosamente por todos los participantes!",
521521
"document-signed-alert-5": "Este documento ha sido firmado por todos los firmantes.",
@@ -655,6 +655,7 @@
655655
"angular-npm-mssg-1": "Para integrar OpenSign a tu proyecto Angular, simplemente ejecuta los siguientes comandos:",
656656
"quota-mail-info-head": "Límite mensual de solicitudes de firma por correo",
657657
"quota-mail-info": "Puedes enviar hasta 15 solicitudes de firma por correo cada mes. Mejora ahora para enviar solicitudes de firma sin límite.",
658+
"quota-mail-reset": "Los créditos de tu correo electrónico de solicitud de firma se restablecerán el",
658659
"quota-mail": "Has alcanzado tu límite de 15 solicitudes de firma por correo para este mes. Mejora ahora para continuar enviando correos.",
659660
"quota-mail-tip": "Consejo: Todavía puedes solciitar la firma de <1>documentos ilimitados</1> compartiendo manualmente los enlaces de solicitud de firma.",
660661
"quota-mail-head": "Cuota alcanzada",

apps/OpenSign/public/locales/fr/translation.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,7 @@
514514
"error": "Erreur",
515515
"invalid-document": "Erreur : document invalide !",
516516
"document-not-found": "Document introuvable !",
517-
"document-signed-alert-1": "Vous avez signé le document avec succès. Vous pouvez télécharger ou imprimer une copie du document partiellement signé. Une copie du document signé numériquement sera envoyée au propriétaire par e-mail une fois qu'il sera signé par tous les signataires.",
517+
"document-signed-alert-1": "Vous avez signé le document avec succès. Vous pouvez télécharger ou imprimer une copie du document partiellement signé. Une copie du document signé numériquement et du certificat d'achèvement sera envoyée au propriétaire et à tous les signataires par e-mail une fois qu'il aura été signé par tous les signataires.",
518518
"encrypted-pdf-not-support": "Les fichiers PDF actuellement cryptés ne sont pas pris en charge. ",
519519
"document-signed-alert-4": "Toutes nos félicitations! 🎉 Ce document a été signé avec succès par tous les participants !",
520520
"document-signed-alert-5": "Ce document a été signé par tous les signataires.",
@@ -654,6 +654,7 @@
654654
"angular-npm-mssg-1" :"Pour intégrer OpenSign dans votre projet Angular, exécutez simplement la commande suivante :",
655655
"quota-mail-info-head":"Limite mensuelle d'e-mails de signatures de demandes",
656656
"quota-mail-info": "Vous pouvez envoyer jusqu'à 15 e-mails de demande de signature chaque mois. Mettez à niveau maintenant pour envoyer directement des demandes de signature illimitées.",
657+
"quota-mail-reset": "Les crédits de votre email de demande de signature seront réinitialisés le",
657658
"quota-mail": "Vous avez atteint votre limite de 15 e-mails de demande de signature pour ce mois. Mettez à niveau maintenant pour continuer à envoyer des e-mails directement.",
658659
"quota-mail-tip-tip":"Astuce : Vous pouvez toujours signer un nombre <1>illimité de documents</1> en partageant manuellement les liens de demande de signature.",
659660
"quota-mail-head":"Quota atteint",

apps/OpenSign/src/components/Header.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Parse from "parse";
66
import { useWindowSize } from "../hook/useWindowSize";
77
import {
88
checkIsSubscribed,
9+
formatDate,
910
getAppLogo,
1011
openInNewTab,
1112
saveLanguageInLocal
@@ -33,6 +34,7 @@ const Header = ({ showSidebar, setIsMenu }) => {
3334
);
3435
const [emailUsed, setEmailUsed] = useState(0);
3536
const [isModal, setIsModal] = useState(false);
37+
const [emailResetDate, setEmailResetDate] = useState("");
3638
const [showNotification, setShowNotification] = useState(
3739
(!dismissedVersion || dismissedVersion !== current_notification_version) &&
3840
true
@@ -66,6 +68,10 @@ const Header = ({ showSidebar, setIsMenu }) => {
6668
setEmailUsed(MonthlyFreeEmails);
6769
if (extUser) {
6870
const _extUser = JSON.parse(JSON.stringify(extUser));
71+
if (_extUser?.LastEmailCountReset?.iso) {
72+
const resetDate = formatDate(_extUser?.LastEmailCountReset?.iso);
73+
setEmailResetDate(resetDate);
74+
}
6975
localStorage.setItem("Extand_Class", JSON.stringify([_extUser]));
7076
}
7177
} catch (err) {
@@ -302,7 +308,11 @@ const Header = ({ showSidebar, setIsMenu }) => {
302308
</div>
303309
</div>
304310
<ModalUi isOpen={isModal}>
305-
<QuotaCard isPaidInfo={true} handlClose={handleMailUsed} />
311+
<QuotaCard
312+
isPaidInfo={true}
313+
handlClose={handleMailUsed}
314+
emailResetDate={emailResetDate}
315+
/>
306316
</ModalUi>
307317
</div>
308318
);

apps/OpenSign/src/constant/Utils.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2596,3 +2596,17 @@ export async function handleSignatureType(tenantSignTypes, signatureType) {
25962596
}
25972597
return updatedSignatureType;
25982598
}
2599+
2600+
// `formatDate` is used to format date to dd-mmm-yyy
2601+
export const formatDate = (date) => {
2602+
// Create a Date object
2603+
const newDate = new Date(date);
2604+
// Format the date
2605+
const formattedDate = newDate.toLocaleDateString("en-GB", {
2606+
day: "2-digit",
2607+
month: "short",
2608+
year: "numeric"
2609+
});
2610+
const format = formattedDate.replaceAll(/ /g, "-");
2611+
return format;
2612+
};

apps/OpenSign/src/json/ReportJson.js

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,12 @@ import { isEnableSubscription } from "../constant/const";
22

33
export default function reportJson(id) {
44
// console.log("json ", json);
5-
const head = ["Sr.No", "Title", "Note", "Folder", "File", "Owner", "Signers"];
6-
const declineHead = [
7-
"Sr.No",
8-
"Title",
9-
"Reason",
10-
"Folder",
11-
"File",
12-
"Owner",
13-
"Signers"
14-
];
15-
const iphead = [
16-
"Sr.No",
17-
"Title",
18-
"Note",
19-
"Folder",
20-
"File",
21-
"Status",
22-
"Signers",
23-
"Expiry-date"
24-
];
25-
const contactbook = ["Sr.No", "Name", "Email", "Phone"];
5+
const head = ["Title", "Note", "Folder", "File", "Owner", "Signers"];
6+
const declineHead = ["Title", "Reason", "Folder", "File", "Owner", "Signers"];
7+
const iphead = ["Title", "Note", "Folder", "File", "Signers"];
8+
const contactbook = ["Name", "Email", "Phone"];
269
const dashboardReportHead = ["Title", "File", "Owner", "Signers"];
27-
const templateReport = ["Sr.No", "Title", "File", "Owner", "Signers"];
10+
const templateReport = ["Title", "File", "Owner", "Signers"];
2811
const templateSubAction = isEnableSubscription
2912
? [
3013
{
@@ -212,7 +195,7 @@ export default function reportJson(id) {
212195
case "zNqBHXHsYH":
213196
return {
214197
reportName: "Expired Documents",
215-
heading: [...head, "Expiry-date"],
198+
heading: head,
216199
actions: [
217200
{
218201
btnId: "1898",
@@ -257,7 +240,7 @@ export default function reportJson(id) {
257240
case "d9k3UfYHBc":
258241
return {
259242
reportName: "Recently sent for signatures",
260-
heading: [...dashboardReportHead, "Expiry-date"],
243+
heading: dashboardReportHead,
261244
actions: [
262245
{
263246
btnId: "1999",

apps/OpenSign/src/pages/PlaceHolderSign.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ import {
4040
handleRemoveWidgets,
4141
handleRotateWarning,
4242
signatureTypes,
43-
handleSignatureType
43+
handleSignatureType,
44+
formatDate
4445
} from "../constant/Utils";
4546
import RenderPdf from "../components/pdf/RenderPdf";
4647
import { useNavigate } from "react-router-dom";
@@ -155,6 +156,7 @@ function PlaceHolderSign() {
155156
const [planCode, setPlanCode] = useState("");
156157
const [unSignedWidgetId, setUnSignedWidgetId] = useState("");
157158
const [signatureType, setSignatureType] = useState(signatureTypes);
159+
const [emailResetDate, setEmailResetDate] = useState("");
158160
const isMobile = window.innerWidth < 767;
159161
const [, drop] = useDrop({
160162
accept: "BOX",
@@ -269,6 +271,12 @@ function PlaceHolderSign() {
269271
} else {
270272
setPdfArrayBuffer(arrayBuffer);
271273
}
274+
if (documentData[0]?.ExtUserPtr?.LastEmailCountReset?.iso) {
275+
const resetDate = formatDate(
276+
documentData[0]?.ExtUserPtr?.LastEmailCountReset?.iso
277+
);
278+
setEmailResetDate(resetDate);
279+
}
272280
setExtUserId(documentData[0]?.ExtUserPtr?.objectId);
273281
if (isEnableSubscription) {
274282
checkIsSubscribed(documentData[0]?.ExtUserPtr?.Email);
@@ -602,7 +610,7 @@ function PlaceHolderSign() {
602610
Role: "prefill",
603611
Id: key
604612
};
605-
setSignerPos((prev)=>[...prev,prefillTextWidget]);
613+
setSignerPos((prev) => [...prev, prefillTextWidget]);
606614
}
607615
} else {
608616
//else condition to add placeholder widgets on multiple page first time
@@ -1939,6 +1947,7 @@ function PlaceHolderSign() {
19391947
) : mailStatus === "quotareached" ? (
19401948
<div className="flex flex-col gap-y-3">
19411949
<QuotaCard
1950+
emailResetDate={emailResetDate}
19421951
handleClose={() => {
19431952
setIsSend(false);
19441953
setSignerPos([]);

0 commit comments

Comments
 (0)