diff --git a/apps/OpenSign/src/json/ReportJson.js b/apps/OpenSign/src/json/ReportJson.js index 486c28c5a..728ef175b 100644 --- a/apps/OpenSign/src/json/ReportJson.js +++ b/apps/OpenSign/src/json/ReportJson.js @@ -84,6 +84,15 @@ export default function reportJson(id) { btnIcon: "fa fa-trash", redirectUrl: "", action: "delete" + }, + { + btnId: "1688", + btnLabel: "Revoke", + btnColor: "#ff4848", + textColor: "white", + btnIcon: "fa-solid fa-file-circle-xmark", + redirectUrl: "", + action: "revoke" } ], helpMsg: diff --git a/apps/OpenSign/src/pages/PdfRequestFiles.js b/apps/OpenSign/src/pages/PdfRequestFiles.js index 3acb27776..8d8395cc3 100644 --- a/apps/OpenSign/src/pages/PdfRequestFiles.js +++ b/apps/OpenSign/src/pages/PdfRequestFiles.js @@ -1092,9 +1092,9 @@ function PdfRequestFiles() { isDecline.currnt === "Sure" ? "Are you sure want to decline this document ?" : isDecline.currnt === "YouDeclined" - ? "You have declined this document!" - : isDecline.currnt === "another" && - "You cannot sign this document as it has been declined by one or more recipient(s)." + ? "You have declined this document!" + : isDecline.currnt === "another" && + "You can not sign this document as it has been declined/revoked." } footerMessage={isDecline.currnt === "Sure"} declineDoc={declineDoc} diff --git a/apps/OpenSign/src/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js index 0445bf2db..b6bbd34ba 100644 --- a/apps/OpenSign/src/primitives/GetReportDisplay.js +++ b/apps/OpenSign/src/primitives/GetReportDisplay.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useMemo } from "react"; + import React, { useState, useEffect, useMemo } from "react"; import pad from "../assets/images/pad.svg"; import { useNavigate } from "react-router-dom"; import axios from "axios"; @@ -25,13 +25,14 @@ const ReportTable = ({ const [currentPage, setCurrentPage] = useState(1); const [actLoader, setActLoader] = useState({}); const [isAlert, setIsAlert] = useState(false); - const [isErr, setIsErr] = useState(false); const [isDocErr, setIsDocErr] = useState(false); const [isContactform, setIsContactform] = useState(false); const [isDeleteModal, setIsDeleteModal] = useState({}); + const [isRevoke, setIsRevoke] = useState({}); const [isShare, setIsShare] = useState({}); const [shareUrls, setShareUrls] = useState([]); const [copied, setCopied] = useState(false); + const [alertMsg, setAlertMsg] = useState({ type: "success", message: "" }); const startIndex = (currentPage - 1) * docPerPage; // For loop is used to calculate page numbers visible below table @@ -164,7 +165,10 @@ const ReportTable = ({ } catch (err) { console.log("Err", err); setIsAlert(true); - setIsErr(true); + setAlertMsg({ + type: "danger", + message: "Something went wrong, Please try again later!" + }); setTimeout(() => setIsAlert(false), 1500); setActLoader({}); } @@ -174,14 +178,20 @@ const ReportTable = ({ } } else { setIsAlert(true); - setIsErr(true); + setAlertMsg({ + type: "danger", + message: "Something went wrong, Please try again later!" + }); setTimeout(() => setIsAlert(false), 1500); setActLoader({}); } } catch (err) { console.log("err", err); setIsAlert(true); - setIsErr(true); + setAlertMsg({ + type: "danger", + message: "Something went wrong, Please try again later!" + }); setTimeout(() => setIsAlert(false), 1500); setActLoader({}); } @@ -200,6 +210,8 @@ const ReportTable = ({ setIsDeleteModal({ [item.objectId]: true }); } else if (act.action === "share") { handleShare(item); + } else if (act.action === "revoke") { + setIsRevoke({ [item.objectId]: true }); } }; // Get current list @@ -248,6 +260,10 @@ const ReportTable = ({ if (res.data && res.data.updatedAt) { setActLoader({}); setIsAlert(true); + setAlertMsg({ + type: "success", + message: "Record deleted successfully!" + }); setTimeout(() => setIsAlert(false), 1500); const upldatedList = List.filter((x) => x.objectId !== item.objectId); setList(upldatedList); @@ -255,12 +271,18 @@ const ReportTable = ({ } catch (err) { console.log("err", err); setIsAlert(true); - setIsErr(true); + setAlertMsg({ + type: "danger", + message: "Something went wrong, Please try again later!" + }); setTimeout(() => setIsAlert(false), 1500); setActLoader({}); } }; - const handleCloseDeleteModal = () => setIsDeleteModal({}); + const handleClose = () => { + setIsRevoke({}); + setIsDeleteModal({}); + }; const handleShare = (item) => { setActLoader({ [item.objectId]: true }); @@ -281,6 +303,53 @@ const ReportTable = ({ navigator.clipboard.writeText(share.url); setCopied({ ...copied, [share.email]: true }); }; + //function to handle revoke/decline docment + const handleRevoke = async (item) => { + setIsRevoke({}); + setActLoader({ [`${item.objectId}`]: true }); + const data = { + IsDeclined: true + }; + + await axios + .put( + `${localStorage.getItem("baseUrl")}classes/${localStorage.getItem( + "_appName" + )}_Document/${item.objectId}`, + data, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": localStorage.getItem("parseAppId"), + "X-Parse-Session-Token": localStorage.getItem("accesstoken") + } + } + ) + .then(async (result) => { + const res = result.data; + if (res) { + setActLoader({}); + setIsAlert(true); + setAlertMsg({ + type: "success", + message: "Record revoked successfully!" + }); + setTimeout(() => setIsAlert(false), 1500); + const upldatedList = List.filter((x) => x.objectId !== item.objectId); + setList(upldatedList); + } + }) + .catch((err) => { + console.log("err", err); + setIsAlert(true); + setAlertMsg({ + type: "danger", + message: "Something went wrong, Please try again later!" + }); + setTimeout(() => setIsAlert(false), 1500); + setActLoader({}); + }); + }; return (