diff --git a/apps/OpenSign/src/components/opensigndrive/DriveBody.js b/apps/OpenSign/src/components/opensigndrive/DriveBody.js index 1b4e69a2e..1324210cb 100644 --- a/apps/OpenSign/src/components/opensigndrive/DriveBody.js +++ b/apps/OpenSign/src/components/opensigndrive/DriveBody.js @@ -9,6 +9,7 @@ import * as HoverCard from "@radix-ui/react-hover-card"; import ModalUi from "../../primitives/ModalUi"; import FolderModal from "../shared/fields/FolderModal"; import { useTranslation } from "react-i18next"; +import { handleDownloadPdf } from "../../constant/Utils"; function DriveBody(props) { const { t } = useTranslation(); @@ -100,16 +101,17 @@ function DriveBody(props) { //function for navigate user to microapp-signature component const checkPdfStatus = async (data) => { - const signerExist = data.Signers && data.Signers; - const isDecline = data.IsDeclined && data.IsDeclined; - const isPlaceholder = data.Placeholders && data.Placeholders; - const signedUrl = data.SignedUrl; + const signerExist = data?.Signers; + const isDecline = data?.IsDeclined; + const isPlaceholder = data?.Placeholders; + const signedUrl = data?.SignedUrl; + const isSignYourself = data?.IsSignyourself; //checking if document has completed and request signature flow if (data?.IsCompleted && signerExist?.length > 0) { navigate(`/recipientSignPdf/${data.objectId}`); } //checking if document has completed and signyour-self flow - else if (!signerExist && !isPlaceholder) { + else if ((!signerExist && !isPlaceholder) || isSignYourself) { navigate(`/signaturePdf/${data.objectId}`); } //checking if document has declined by someone @@ -136,12 +138,10 @@ function DriveBody(props) { } }; - const handleMenuItemClick = (selectType, data) => { + const handleMenuItemClick = async (selectType, data) => { switch (selectType) { case "Download": { - const pdfName = data && data.Name; - const pdfUrl = data && data.SignedUrl ? data.SignedUrl : data.URL; - saveAs(pdfUrl, `${sanitizeFileName(pdfName)}_signed_by_OpenSign™.pdf`); + await handleDownloadPdf([data]); break; } case "Rename": { diff --git a/apps/OpenSign/src/constant/Utils.js b/apps/OpenSign/src/constant/Utils.js index c900b3c70..278c42185 100644 --- a/apps/OpenSign/src/constant/Utils.js +++ b/apps/OpenSign/src/constant/Utils.js @@ -2059,12 +2059,12 @@ export const getSignedUrl = async (pdfUrl, docId) => { export const handleDownloadPdf = async (pdfDetails, setIsDownloading) => { const pdfName = pdfDetails[0] && pdfDetails[0]?.Name; const pdfUrl = pdfDetails?.[0]?.SignedUrl || pdfDetails?.[0]?.URL; - setIsDownloading("pdf"); + setIsDownloading && setIsDownloading("pdf"); const docId = !pdfDetails?.[0]?.IsEnableOTP ? pdfDetails?.[0]?.objectId : ""; try { const url = await getSignedUrl(pdfUrl, docId); await fetchUrl(url, pdfName); - setIsDownloading(""); + setIsDownloading && setIsDownloading(""); } catch (err) { console.log("err in getsignedurl", err); setIsDownloading("");