{
+ try {
+ setDistributing(true);
+ await axios.post("/esign/distribute", {
+ documentId,
+ envelopeId,
+ jobid,
+ bodyshopid: bodyshop.id
+ });
+
+ toggleModalVisible();
+ } catch (error) {
+ notification.error({
+ message: t("esignature.distribute_error"),
+ description: error?.response?.data?.message || error.message
+ });
+ }
+ setDistributing(false);
+ }}
+ onCancel={async () => {
+ try {
+ await axios.post("/esign/delete", {
+ documentId,
+ envelopeId,
+ bodyshopid: bodyshop.id
+ });
+
+ toggleModalVisible();
+ } catch (error) {
+ notification.error({
+ message: t("esignature.cancel_error"),
+ description: error?.response?.data?.message || error.message
+ });
+ }
+ }}
+ okButtonProps={{ loading: distributing }}
+ okText={t("esignature.actions.distribute")}
+ destroyOnHidden
+ width={"80%"}
+ >
+
+ {token ? (
+ {
+ console.log("Document updated:", data);
+ }}
+ />
+ ) : (
+
+ )}
+
+
+ );
+}
+
+export default connect(mapStateToProps, mapDispatchToProps)(EsignatureModalContainer);
diff --git a/client/src/components/job-audit-trail/job-audit-trail.component.jsx b/client/src/components/job-audit-trail/job-audit-trail.component.jsx
index 48d5352cd..e29baafb5 100644
--- a/client/src/components/job-audit-trail/job-audit-trail.component.jsx
+++ b/client/src/components/job-audit-trail/job-audit-trail.component.jsx
@@ -1,6 +1,6 @@
import { SyncOutlined } from "@ant-design/icons";
import { useQuery } from "@apollo/client/react";
-import { Button, Card, Col, Row, Tag } from "antd";
+import { Button, Card, Checkbox, Col, Row, Space, Tag } from "antd";
import ResponsiveTable from "../responsive-table/responsive-table.component";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
@@ -12,6 +12,9 @@ import { DateTimeFormatter } from "../../utils/DateFormatter";
import BlurWrapperComponent from "../feature-wrapper/blur-wrapper.component";
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
import UpsellComponent, { upsellEnum } from "../upsell/upsell.component";
+import axios from "axios";
+import { useNotification } from "../../contexts/Notifications/notificationContext";
+import { hasDocumensoApiKey } from "../../utils/esignature.js";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop
@@ -23,6 +26,8 @@ export default connect(mapStateToProps, mapDispatchToProps)(JobAuditTrail);
export function JobAuditTrail({ bodyshop, jobId }) {
const { t } = useTranslation();
+ const notification = useNotification();
+ const esignatureEnabled = hasDocumensoApiKey(bodyshop);
const { loading, data, refetch } = useQuery(QUERY_AUDIT_TRAIL, {
variables: { jobid: jobId },
skip: !jobId,
@@ -53,6 +58,145 @@ export function JobAuditTrail({ bodyshop, jobId }) {
)
}
];
+ const esigColumns = [
+ {
+ title: t("esignature.fields.created_at"),
+ dataIndex: "created_at",
+ key: "created_at",
+ render: (text) =>