IO-2371 Closing period timezone adjustments
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
|||||||
Switch,
|
Switch,
|
||||||
Upload,
|
Upload,
|
||||||
} from "antd";
|
} from "antd";
|
||||||
|
import moment from "moment";
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { MdOpenInNew } from "react-icons/md";
|
import { MdOpenInNew } from "react-icons/md";
|
||||||
@@ -271,10 +272,20 @@ export function BillFormComponent({
|
|||||||
bodyshop.accountingconfig.ClosingPeriod
|
bodyshop.accountingconfig.ClosingPeriod
|
||||||
) {
|
) {
|
||||||
if (
|
if (
|
||||||
Date.parse(value).valueOf() >=
|
moment(value)
|
||||||
Date.parse(bodyshop.accountingconfig.ClosingPeriod[0]).valueOf() &&
|
.startOf("day")
|
||||||
Date.parse(value).valueOf() <=
|
.isSameOrAfter(
|
||||||
Date.parse(bodyshop.accountingconfig.ClosingPeriod[1]).valueOf()
|
moment(
|
||||||
|
bodyshop.accountingconfig.ClosingPeriod[0]
|
||||||
|
).startOf("day")
|
||||||
|
) &&
|
||||||
|
moment(value)
|
||||||
|
.startOf("day")
|
||||||
|
.isSameOrBefore(
|
||||||
|
moment(
|
||||||
|
bodyshop.accountingconfig.ClosingPeriod[1]
|
||||||
|
).endOf("day")
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -255,41 +255,41 @@ export function JobsCloseComponent({ job, bodyshop, jobRO }) {
|
|||||||
},
|
},
|
||||||
({ getFieldValue }) => ({
|
({ getFieldValue }) => ({
|
||||||
validator(_, value) {
|
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 (
|
if (
|
||||||
ClosingPeriod.treatment === "on" &&
|
moment(value).isSameOrAfter(
|
||||||
bodyshop.accountingconfig.ClosingPeriod
|
moment(
|
||||||
) {
|
bodyshop.accountingconfig.ClosingPeriod[0]
|
||||||
if (
|
).startOf("day")
|
||||||
Date.parse(value).valueOf() >=
|
) &&
|
||||||
Date.parse(
|
moment(value).isSameOrBefore(
|
||||||
bodyshop.accountingconfig.ClosingPeriod[0]
|
moment(
|
||||||
).valueOf() &&
|
bodyshop.accountingconfig.ClosingPeriod[1]
|
||||||
Date.parse(value).valueOf() <=
|
).endOf("day")
|
||||||
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")
|
|
||||||
) {
|
) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
} else {
|
} else {
|
||||||
return Promise.reject(
|
return Promise.reject(
|
||||||
new Error(t("jobs.labels.dms.invoicedatefuture"))
|
new Error(t("jobs.labels.closingperiod"))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|||||||
Reference in New Issue
Block a user