IO-2371 Closing period timezone adjustments

This commit is contained in:
Allan Carr
2023-08-04 10:36:01 -07:00
parent 1a5c74dc79
commit eebe7edba8
2 changed files with 43 additions and 32 deletions

View File

@@ -12,6 +12,7 @@ import {
Switch,
Upload,
} from "antd";
import moment from "moment";
import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { MdOpenInNew } from "react-icons/md";
@@ -271,10 +272,20 @@ export function BillFormComponent({
bodyshop.accountingconfig.ClosingPeriod
) {
if (
Date.parse(value).valueOf() >=
Date.parse(bodyshop.accountingconfig.ClosingPeriod[0]).valueOf() &&
Date.parse(value).valueOf() <=
Date.parse(bodyshop.accountingconfig.ClosingPeriod[1]).valueOf()
moment(value)
.startOf("day")
.isSameOrAfter(
moment(
bodyshop.accountingconfig.ClosingPeriod[0]
).startOf("day")
) &&
moment(value)
.startOf("day")
.isSameOrBefore(
moment(
bodyshop.accountingconfig.ClosingPeriod[1]
).endOf("day")
)
) {
return Promise.resolve();
} else {

View File

@@ -255,41 +255,41 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) {
},
({ getFieldValue }) => ({
validator(_, value) {
if (!bodyshop.cdk_dealerid) {
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"))
);
},
}),
({ getFieldValue }) => ({
validator(_, value) {
if (
ClosingPeriod.treatment === "on" &&
bodyshop.accountingconfig.ClosingPeriod
) {
if (
ClosingPeriod.treatment === "on" &&
bodyshop.accountingconfig.ClosingPeriod
) {
if (
Date.parse(value).valueOf() >=
Date.parse(
bodyshop.accountingconfig.ClosingPeriod[0]
).valueOf() &&
Date.parse(value).valueOf() <=
Date.parse(
bodyshop.accountingconfig.ClosingPeriod[1]
).valueOf()
) {
return Promise.resolve();
} else {
return Promise.reject(
new Error(t("jobs.labels.closingperiod"))
);
}
} else {
return Promise.resolve();
}
} else {
if (
!value ||
moment(value).isSameOrAfter(moment(), "day")
moment(value).isSameOrAfter(
moment(
bodyshop.accountingconfig.ClosingPeriod[0]
).startOf("day")
) &&
moment(value).isSameOrBefore(
moment(
bodyshop.accountingconfig.ClosingPeriod[1]
).endOf("day")
)
) {
return Promise.resolve();
} else {
return Promise.reject(
new Error(t("jobs.labels.dms.invoicedatefuture"))
new Error(t("jobs.labels.closingperiod"))
);
}
} else {
return Promise.resolve();
}
},
}),