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 }) { > - - +
+ + + + +
); diff --git a/client/src/graphql/jobs-lines.queries.js b/client/src/graphql/jobs-lines.queries.js index bb7b7cf20..b755ee705 100644 --- a/client/src/graphql/jobs-lines.queries.js +++ b/client/src/graphql/jobs-lines.queries.js @@ -219,6 +219,12 @@ export const UPDATE_JOB_LINE = gql` id notes mod_lbr_ty + mod_lb_hrs + part_type + op_code_desc + prt_dsmk_m + prt_dsmk_p + tax_part part_qty db_price act_price