diff --git a/client/src/components/bill-detail-edit/bill-detail-edit-return.component.jsx b/client/src/components/bill-detail-edit/bill-detail-edit-return.component.jsx index 44833c1b5..7a8e20cd3 100644 --- a/client/src/components/bill-detail-edit/bill-detail-edit-return.component.jsx +++ b/client/src/components/bill-detail-edit/bill-detail-edit-return.component.jsx @@ -34,6 +34,7 @@ export function BillDetailEditReturn({ setPartsOrderContext, insertAuditTrail, b actions: {}, context: { jobId: data.bills_by_pk.jobid, + job: data.bills_by_pk.job, vendorId: data.bills_by_pk.vendorid, returnFromBill: data.bills_by_pk.id, invoiceNumber: data.bills_by_pk.invoice_number, diff --git a/client/src/components/bills-list-table/bills-list-table.component.jsx b/client/src/components/bills-list-table/bills-list-table.component.jsx index cb88f46b8..04a3dee10 100644 --- a/client/src/components/bills-list-table/bills-list-table.component.jsx +++ b/client/src/components/bills-list-table/bills-list-table.component.jsx @@ -76,7 +76,7 @@ export function BillsListTableComponent({ diff --git a/client/src/components/job-search-select/job-search-select.component.jsx b/client/src/components/job-search-select/job-search-select.component.jsx index be1075034..4282014ff 100644 --- a/client/src/components/job-search-select/job-search-select.component.jsx +++ b/client/src/components/job-search-select/job-search-select.component.jsx @@ -1,5 +1,6 @@ -import {useLazyQuery} from "@apollo/client"; -import {Select, Space, Spin, Tag} from "antd"; +import { LoadingOutlined } from "@ant-design/icons"; +import { useLazyQuery } from "@apollo/client"; +import { Select, Space, Spin, Tag } from "antd"; import _ from "lodash"; import React, {forwardRef, useEffect, useState} from "react"; import {useTranslation} from "react-i18next"; @@ -8,8 +9,7 @@ import { SEARCH_JOBS_FOR_AUTOCOMPLETE } from "../../graphql/jobs.queries"; import AlertComponent from "../alert/alert.component"; -import {OwnerNameDisplayFunction} from "../owner-name-display/owner-name-display.component"; -import {LoadingOutlined} from "@ant-design/icons"; +import { OwnerNameDisplayFunction } from "../owner-name-display/owner-name-display.component"; const {Option} = Select; @@ -28,9 +28,14 @@ const JobSearchSelect = ( const [theOptions, setTheOptions] = useState([]); const [callSearch, {loading, error, data}] = useLazyQuery(SEARCH_JOBS_FOR_AUTOCOMPLETE, {}); - const [callIdSearch, {loading: idLoading, error: idError, data: idData}] = useLazyQuery( - SEARCH_JOBS_BY_ID_FOR_AUTOCOMPLETE - ); + const [ + callIdSearch, + { + //loading: idLoading, + error: idError, + data: idData + } + ] = useLazyQuery(SEARCH_JOBS_BY_ID_FOR_AUTOCOMPLETE); const executeSearch = (v) => { if (v && v.variables?.search !== "" && v.variables.search.length >= 2) callSearch(v); @@ -95,9 +100,9 @@ const JobSearchSelect = ( {`${clm_no && o.clm_no ? `${o.clm_no} | ` : ""}${ o.ro_number || t("general.labels.na") - } | ${OwnerNameDisplayFunction(o)} | ${ - o.v_model_yr || "" - } ${o.v_make_desc || ""} ${o.v_model_desc || ""}`} + } | ${OwnerNameDisplayFunction(o)} | ${o.v_model_yr || ""} ${o.v_make_desc || ""} ${ + o.v_model_desc || "" + }`} {o.status} diff --git a/client/src/components/jobs-available-table/jobs-available-table.container.jsx b/client/src/components/jobs-available-table/jobs-available-table.container.jsx index 26776a8c1..2c851d3f1 100644 --- a/client/src/components/jobs-available-table/jobs-available-table.container.jsx +++ b/client/src/components/jobs-available-table/jobs-available-table.container.jsx @@ -237,7 +237,7 @@ export function JobsAvailableContainer({ bodyshop, currentUser, insertAuditTrail executeFunction: true, rome: ResolveCCCLineIssues, promanager: ResolveCCCLineIssues, - args: [(supp, bodyshop)] + args: [supp, bodyshop] }); await InstanceRenderManager({ 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 788584a08..f82832ddc 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 @@ -7,17 +7,19 @@ import { createStructuredSelector } from "reselect"; import { INSERT_EXPORT_LOG } from "../../graphql/accounting.queries"; import { UPDATE_PAYMENT } from "../../graphql/payments.queries"; import { setModalContext } from "../../redux/modals/modals.actions"; +import { selectPayment } from "../../redux/modals/modals.selectors"; import { selectCurrentUser } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ - currentUser: selectCurrentUser + currentUser: selectCurrentUser, + paymentModal: selectPayment }); const mapDispatchToProps = (dispatch) => ({ setPaymentContext: (context) => dispatch(setModalContext({ context: context, modal: "payment" })) }); -const PaymentMarkForExportButton = ({ bodyshop, payment, refetch, setPaymentContext, currentUser }) => { +const PaymentMarkForExportButton = ({ bodyshop, payment, refetch, setPaymentContext, currentUser, paymentModal }) => { const { t } = useTranslation(); const [insertExportLog, { loading: exportLogLoading }] = useMutation(INSERT_EXPORT_LOG); const [updatePayment, { loading: updatePaymentLoading }] = useMutation(UPDATE_PAYMENT); @@ -56,17 +58,21 @@ const PaymentMarkForExportButton = ({ bodyshop, payment, refetch, setPaymentCont refetch }, context: { + ...paymentModal.context, + ...paymentModal.context, ...payment, smartRefetch: true, exportedat: today } }); - if (refetch) - refetch( - paymentUpdateResponse && - paymentUpdateResponse.data.update_payments.returning[0] - ); + if (refetch) { + if (paymentModal.context.refetchRequiresContext) { + refetch(paymentUpdateResponse && paymentUpdateResponse.data.update_payments.returning[0]); + } else { + refetch(); + } + } } else { notification["error"]({ message: t("payments.errors.exporting", { diff --git a/client/src/components/payment-modal/payment-modal.container.jsx b/client/src/components/payment-modal/payment-modal.container.jsx index b7e2eaf9c..6535005d2 100644 --- a/client/src/components/payment-modal/payment-modal.container.jsx +++ b/client/src/components/payment-modal/payment-modal.container.jsx @@ -32,7 +32,6 @@ function PaymentModalContainer({paymentModal, toggleModalVisible, bodyshop }) { const { t } = useTranslation(); const { context, actions, open } = paymentModal; - const smartRefetch = context?.smartRefetch || false; const [loading, setLoading] = useState(false); const handleFinish = async (values) => { @@ -82,17 +81,20 @@ function PaymentModalContainer({paymentModal, toggleModalVisible, bodyshop }) { }); if (!!!updatedPayment.errors) { - notification["success"]({ message: t("payments.successes.payment") }); + notification["success"]({ message: t("payments.successes.paymentupdate") }); } else { - notification["error"]({ message: t("payments.errors.payment") }); + notification["error"]({ message: t("payments.errors.paymentupdate") }); } } if (actions.refetch) { - const updatedData = smartRefetch && updatedPayment ? updatedPayment.data.update_payments.returning[0] : undefined; - actions.refetch(updatedData); + if (context.refetchRequiresContext) { + actions.refetch(updatedPayment && updatedPayment.data.update_payments.returning[0]); + } else { + actions.refetch(); + } } - + if (enterAgain) { const prev = form.getFieldsValue(["date"]); @@ -166,13 +168,7 @@ function PaymentModalContainer({paymentModal, toggleModalVisible, bodyshop }) { )} -
+ 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 d85cb14d3..3abd5bfd5 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 @@ -3,14 +3,20 @@ import { Button, notification } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; +import { createStructuredSelector } from "reselect"; import { UPDATE_PAYMENT } from "../../graphql/payments.queries"; import { setModalContext } from "../../redux/modals/modals.actions"; +import { selectPayment } from "../../redux/modals/modals.selectors"; + +const mapStateToProps = createStructuredSelector({ + paymentModal: selectPayment +}); const mapDispatchToProps = (dispatch) => ({ setPaymentContext: (context) => dispatch(setModalContext({ context: context, modal: "payment" })) }); -const PaymentReexportButton = ({ payment, refetch, setPaymentContext }) => { +const PaymentReexportButton = ({ paymentModal, payment, refetch, setPaymentContext }) => { const { t } = useTranslation(); const [updatePayment, { loading }] = useMutation(UPDATE_PAYMENT); @@ -34,16 +40,20 @@ const PaymentReexportButton = ({ payment, refetch, setPaymentContext }) => { refetch }, context: { - smartRefetch: true, + ...paymentModal.context, + ...paymentModal.context, ...payment, exportedat: null } }); - if (refetch) - refetch( - paymentUpdateResponse && - paymentUpdateResponse.data.update_payments.returning[0] - ); + + if (refetch) { + if (paymentModal.context.refetchRequiresContext) { + refetch(paymentUpdateResponse && paymentUpdateResponse.data.update_payments.returning[0]); + } else { + refetch(); + } + } } else { notification["error"]({ message: t("payments.errors.exporting", { @@ -60,4 +70,4 @@ const PaymentReexportButton = ({ payment, refetch, setPaymentContext }) => { ); }; -export default connect(null, mapDispatchToProps)(PaymentReexportButton); +export default connect(mapStateToProps, mapDispatchToProps)(PaymentReexportButton); 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 e9e96057f..c325c0f7a 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 @@ -14,11 +14,11 @@ import { selectBodyshop } from "../../redux/user/user.selectors"; import CurrencyFormatter from "../../utils/CurrencyFormatter"; import { DateFormatter, DateTimeFormatter } from "../../utils/DateFormatter"; import { TemplateList } from "../../utils/TemplateConstants"; +import { pageLimit } from "../../utils/config"; import { alphaSort } from "../../utils/sorters"; import CaBcEtfTableModalContainer from "../ca-bc-etf-table-modal/ca-bc-etf-table-modal.container"; import OwnerNameDisplay from "../owner-name-display/owner-name-display.component"; import PrintWrapperComponent from "../print-wrapper/print-wrapper.component"; -import { pageLimit } from "../../utils/config"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser @@ -171,7 +171,7 @@ export function PaymentsListPaginated({ } : refetch }, - context: apolloResults ? { smartRefetch: true, ...apolloResults} : {smartRefetch: true, ...record} + context: { ...(apolloResults ? apolloResults : record), refetchRequiresContext: true } }); }} > diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index e7e2b85a4..b5d3c5103 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -2595,7 +2595,8 @@ "markexported": "Payment(s) marked exported.", "markreexported": "Payment marked for re-export successfully", "payment": "Payment created successfully. ", - "stripe": "Credit card transaction charged successfully." + "paymentupdate": "Payment updated successfully. ", + "stripe": "Credit card transaction charged successfully." } }, "phonebook": { diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 46a2b6cd7..c164b3710 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -2594,7 +2594,8 @@ "markexported": "", "markreexported": "", "payment": "", - "stripe": "" + "paymentupdate": "", + "stripe": "" } }, "phonebook": { diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index e2703dd1b..ca5d6dc16 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -2594,7 +2594,8 @@ "markexported": "", "markreexported": "", "payment": "", - "stripe": "" + "paymentupdate": "", + "stripe": "" } }, "phonebook": {