diff --git a/client/src/components/job-detail-lines/job-lines.component.jsx b/client/src/components/job-detail-lines/job-lines.component.jsx index 070798452..a774bac6b 100644 --- a/client/src/components/job-detail-lines/job-lines.component.jsx +++ b/client/src/components/job-detail-lines/job-lines.component.jsx @@ -216,7 +216,9 @@ export function JobLinesComponent({ { title: t("joblines.fields.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'), diff --git a/client/src/components/report-center-modal/report-center-modal.component.jsx b/client/src/components/report-center-modal/report-center-modal.component.jsx index 974e62de7..f518fd94e 100644 --- a/client/src/components/report-center-modal/report-center-modal.component.jsx +++ b/client/src/components/report-center-modal/report-center-modal.component.jsx @@ -110,7 +110,13 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) { to: values.to, 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 ); setLoading(false); @@ -274,6 +280,17 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) { { required: true //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(); + } } ]} > diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 217064827..e86e9936e 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -1289,6 +1289,7 @@ "unsavedchangespopup": "You have unsaved changes. Are you sure you want to leave?" }, "validation": { + "dateRangeExceeded": "The date range has been exceeded.", "invalidemail": "Please enter a valid email.", "invalidphone": "Please enter a valid phone number.", "required": "{{label}} is required." diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 303349825..8b9026489 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -1289,6 +1289,7 @@ "unsavedchangespopup": "" }, "validation": { + "dateRangeExceeded": "", "invalidemail": "Por favor introduzca una dirección de correo electrónico válida.", "invalidphone": "", "required": "Este campo es requerido." diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 9cdf64349..8f9330ea0 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -1289,6 +1289,7 @@ "unsavedchangespopup": "" }, "validation": { + "dateRangeExceeded": "", "invalidemail": "S'il vous plaît entrer un email valide.", "invalidphone": "", "required": "Ce champ est requis."