IO-3040 Report Selector Date Range Restriction

Signed-off-by: Allan Carr <allan.carr@thinkimex.com>
This commit is contained in:
Allan Carr
2024-11-26 15:04:39 -08:00
parent d40579694f
commit 24cc9762b2
5 changed files with 24 additions and 2 deletions

View File

@@ -216,7 +216,9 @@ export function JobLinesComponent({
{ {
title: t("joblines.fields.part_qty"), title: t("joblines.fields.part_qty"),
dataIndex: "part_qty", dataIndex: "part_qty",
key: "part_qty" key: "part_qty",
sorter: (a, b) => a.part_qty - b.part_qty,
sortOrder: state.sortedInfo.columnKey === "part_qty" && state.sortedInfo.order
}, },
// { // {
// title: t('joblines.fields.tax_part'), // title: t('joblines.fields.tax_part'),

View File

@@ -110,7 +110,13 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) {
to: values.to, to: values.to,
subject: Templates[values.key]?.subject subject: Templates[values.key]?.subject
}, },
values.sendbytext === "text" ? values.sendbytext : values.sendbyexcel === "excel" ? "x" : values.sendby === "email" ? "e" : "p", values.sendbytext === "text"
? values.sendbytext
: values.sendbyexcel === "excel"
? "x"
: values.sendby === "email"
? "e"
: "p",
id id
); );
setLoading(false); setLoading(false);
@@ -274,6 +280,17 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) {
{ {
required: true required: true
//message: t("general.validation.required"), //message: t("general.validation.required"),
},
{
validator: (_, value) => {
if (value && value[0] && value[1] && process.env.NODE_ENV === "production") {
const diffInDays = (value[1] - value[0]) / (1000 * 3600 * 24);
if (diffInDays > 92) {
return Promise.reject(t("general.validation.dateRangeExceeded"));
}
}
return Promise.resolve();
}
} }
]} ]}
> >

View File

@@ -1289,6 +1289,7 @@
"unsavedchangespopup": "You have unsaved changes. Are you sure you want to leave?" "unsavedchangespopup": "You have unsaved changes. Are you sure you want to leave?"
}, },
"validation": { "validation": {
"dateRangeExceeded": "The date range has been exceeded.",
"invalidemail": "Please enter a valid email.", "invalidemail": "Please enter a valid email.",
"invalidphone": "Please enter a valid phone number.", "invalidphone": "Please enter a valid phone number.",
"required": "{{label}} is required." "required": "{{label}} is required."

View File

@@ -1289,6 +1289,7 @@
"unsavedchangespopup": "" "unsavedchangespopup": ""
}, },
"validation": { "validation": {
"dateRangeExceeded": "",
"invalidemail": "Por favor introduzca una dirección de correo electrónico válida.", "invalidemail": "Por favor introduzca una dirección de correo electrónico válida.",
"invalidphone": "", "invalidphone": "",
"required": "Este campo es requerido." "required": "Este campo es requerido."

View File

@@ -1289,6 +1289,7 @@
"unsavedchangespopup": "" "unsavedchangespopup": ""
}, },
"validation": { "validation": {
"dateRangeExceeded": "",
"invalidemail": "S'il vous plaît entrer un email valide.", "invalidemail": "S'il vous plaît entrer un email valide.",
"invalidphone": "", "invalidphone": "",
"required": "Ce champ est requis." "required": "Ce champ est requis."