diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index f292acf4f..8de0a69f7 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -25469,6 +25469,27 @@ + + invoicedatefuture + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + kmoutnotgreaterthankmin false diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index 999d56224..8f927d4ff 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -1878,6 +1878,7 @@ export const QUERY_JOB_CLOSE_DETAILS = gql` scheduled_delivery actual_delivery scheduled_in + date_invoiced actual_in kmin kmout diff --git a/client/src/pages/jobs-close/jobs-close.component.jsx b/client/src/pages/jobs-close/jobs-close.component.jsx index 71d961c99..697211ee6 100644 --- a/client/src/pages/jobs-close/jobs-close.component.jsx +++ b/client/src/pages/jobs-close/jobs-close.component.jsx @@ -56,7 +56,7 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { jobId: job.id, job: { status: bodyshop.md_ro_statuses.default_invoiced || "", - date_invoiced: new Date(), + date_invoiced: values.date_invoiced, actual_in: values.actual_in, actual_completion: values.actual_completion, actual_delivery: values.actual_delivery, @@ -119,6 +119,9 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { actual_delivery: job.actual_delivery ? moment(job.actual_delivery) : job.scheduled_delivery && moment(job.scheduled_delivery), + date_invoiced: job.date_invoiced + ? moment(job.date_invoiced) + : moment(), kmin: job.kmin, kmout: job.kmout, dms_allocation: job.dms_allocation, @@ -219,6 +222,32 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) { > + ({ + validator(_, value) { + if (!bodyshop.cdk_dealerid) return Promise.resolve(); + if (!value || moment(value).isSameOrAfter(moment(), "day")) { + return Promise.resolve(); + } + + return Promise.reject( + new Error(t("jobs.labels.dms.invoicedatefuture")) + ); + }, + }), + ]} + > + + {(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (