diff --git a/client/src/components/payment-mark-export-button/payment-mark-export-button-component.jsx b/client/src/components/payment-mark-export-button/payment-mark-export-button-component.jsx
index 59819e03c..788584a08 100644
--- a/client/src/components/payment-mark-export-button/payment-mark-export-button-component.jsx
+++ b/client/src/components/payment-mark-export-button/payment-mark-export-button-component.jsx
@@ -57,6 +57,7 @@ const PaymentMarkForExportButton = ({ bodyshop, payment, refetch, setPaymentCont
},
context: {
...payment,
+ smartRefetch: true,
exportedat: today
}
});
diff --git a/client/src/components/payment-modal/payment-modal.container.jsx b/client/src/components/payment-modal/payment-modal.container.jsx
index 0c5a9eb3c..b7e2eaf9c 100644
--- a/client/src/components/payment-modal/payment-modal.container.jsx
+++ b/client/src/components/payment-modal/payment-modal.container.jsx
@@ -1,32 +1,30 @@
-import { useMutation } from "@apollo/client";
-import { Button, Form, Modal, notification, Space } from "antd";
-import React, { useEffect, useState } from "react";
-import { useTranslation } from "react-i18next";
-import { connect } from "react-redux";
-import { createStructuredSelector } from "reselect";
-import { INSERT_NEW_PAYMENT, UPDATE_PAYMENT } from "../../graphql/payments.queries";
-import { setEmailOptions } from "../../redux/email/email.actions";
-import { toggleModalVisible } from "../../redux/modals/modals.actions";
-import { selectPayment } from "../../redux/modals/modals.selectors";
-import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors";
-import { GenerateDocument } from "../../utils/RenderTemplate";
-import { TemplateList } from "../../utils/TemplateConstants";
+import {useMutation} from "@apollo/client";
+import {Button, Form, Modal, notification, Space} from "antd";
+import React, {useEffect, useState} from "react";
+import {useTranslation} from "react-i18next";
+import {connect} from "react-redux";
+import {createStructuredSelector} from "reselect";
+import {INSERT_NEW_PAYMENT, UPDATE_PAYMENT} from "../../graphql/payments.queries";
+import {toggleModalVisible} from "../../redux/modals/modals.actions";
+import {selectPayment} from "../../redux/modals/modals.selectors";
+import {selectBodyshop} from "../../redux/user/user.selectors";
+import {GenerateDocument} from "../../utils/RenderTemplate";
+import {TemplateList} from "../../utils/TemplateConstants";
import PaymentForm from "../payment-form/payment-form.component";
-import PaymentMarkForExportButton from "../payment-mark-export-button/payment-mark-export-button-component";
+import PaymentMarkForExportButton
+ from "../payment-mark-export-button/payment-mark-export-button-component";
import PaymentReexportButton from "../payment-reexport-button/payment-reexport-button.component";
const mapStateToProps = createStructuredSelector({
paymentModal: selectPayment,
bodyshop: selectBodyshop,
- currentUser: selectCurrentUser
});
const mapDispatchToProps = (dispatch) => ({
- setEmailOptions: (e) => dispatch(setEmailOptions(e)),
toggleModalVisible: () => dispatch(toggleModalVisible("payment"))
});
-function PaymentModalContainer({ paymentModal, toggleModalVisible, bodyshop, currentUser, setEmailOptions }) {
+function PaymentModalContainer({paymentModal, toggleModalVisible, bodyshop }) {
const [form] = Form.useForm();
const [enterAgain, setEnterAgain] = useState(false);
const [insertPayment] = useMutation(INSERT_NEW_PAYMENT);
@@ -34,7 +32,7 @@ function PaymentModalContainer({ paymentModal, toggleModalVisible, bodyshop, cur
const { t } = useTranslation();
const { context, actions, open } = paymentModal;
-
+ const smartRefetch = context?.smartRefetch || false;
const [loading, setLoading] = useState(false);
const handleFinish = async (values) => {
@@ -90,8 +88,11 @@ function PaymentModalContainer({ paymentModal, toggleModalVisible, bodyshop, cur
}
}
- if (actions.refetch) actions.refetch();
-
+ if (actions.refetch) {
+ const updatedData = smartRefetch && updatedPayment ? updatedPayment.data.update_payments.returning[0] : undefined;
+ actions.refetch(updatedData);
+ }
+
if (enterAgain) {
const prev = form.getFieldsValue(["date"]);
diff --git a/client/src/components/payment-reexport-button/payment-reexport-button.component.jsx b/client/src/components/payment-reexport-button/payment-reexport-button.component.jsx
index 5325231e4..d85cb14d3 100644
--- a/client/src/components/payment-reexport-button/payment-reexport-button.component.jsx
+++ b/client/src/components/payment-reexport-button/payment-reexport-button.component.jsx
@@ -34,6 +34,7 @@ const PaymentReexportButton = ({ payment, refetch, setPaymentContext }) => {
refetch
},
context: {
+ smartRefetch: true,
...payment,
exportedat: null
}
diff --git a/client/src/components/payments-list-paginated/payment-list-paginated.component.jsx b/client/src/components/payments-list-paginated/payment-list-paginated.component.jsx
index 1a5dd6774..e9e96057f 100644
--- a/client/src/components/payments-list-paginated/payment-list-paginated.component.jsx
+++ b/client/src/components/payments-list-paginated/payment-list-paginated.component.jsx
@@ -171,7 +171,7 @@ export function PaymentsListPaginated({
}
: refetch
},
- context: apolloResults ? apolloResults : record
+ context: apolloResults ? { smartRefetch: true, ...apolloResults} : {smartRefetch: true, ...record}
});
}}
>
diff --git a/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx b/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx
index fd53d25ab..6639f14f3 100644
--- a/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx
+++ b/client/src/components/print-center-jobs-labels/print-center-jobs-labels.component.jsx
@@ -1,4 +1,13 @@
-import { Button, Card, Form, InputNumber, notification, Popover, Radio } from "antd";
+import {
+ Button,
+ Card,
+ Form,
+ InputNumber,
+ notification,
+ Popover,
+ Radio,
+ Space,
+} from "antd";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
@@ -95,10 +104,16 @@ export function PrintCenterJobsLabels({ bodyshop, jobId }) {
>