diff --git a/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx b/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx
index e247f5450..96268df7a 100644
--- a/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx
+++ b/client/src/components/jobs-list-paginated/jobs-list-paginated.component.jsx
@@ -11,6 +11,7 @@ import { createStructuredSelector } from "reselect";
import { selectBodyshop } from "../../redux/user/user.selectors";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import { pageLimit } from "../../utils/config";
+import { alphaSort, statusSort } from "../../utils/sorters";
import useLocalStorage from "../../utils/useLocalStorage";
import StartChatButton from "../chat-open-button/chat-open-button.component";
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
@@ -36,7 +37,10 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
title: t("jobs.fields.ro_number"),
dataIndex: "ro_number",
key: "ro_number",
- sorter: true, //(a, b) => alphaSort(a.ro_number, b.ro_number),
+ sorter: search?.search
+ ? (a, b) =>
+ parseInt((a.ro_number || "0").replace(/\D/g, "")) - parseInt((b.ro_number || "0").replace(/\D/g, ""))
+ : true,
sortOrder: sortcolumn === "ro_number" && sortorder,
render: (text, record) => (
@@ -50,7 +54,6 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
key: "ownr_ln",
ellipsis: true,
//sorter: true, // (a, b) => alphaSort(a.ownr_ln, b.ownr_ln),
-
//sortOrder: sortcolumn === "ownr_ln" && sortorder,
render: (text, record) => {
return record.ownerid ? (
@@ -68,7 +71,6 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
title: t("jobs.fields.ownr_ph1"),
dataIndex: "ownr_ph1",
key: "ownr_ph1",
-
ellipsis: true,
render: (text, record) => (
@@ -78,7 +80,6 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
title: t("jobs.fields.ownr_ph2"),
dataIndex: "ownr_ph2",
key: "ownr_ph2",
-
ellipsis: true,
render: (text, record) => (
@@ -88,9 +89,8 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
title: t("jobs.fields.status"),
dataIndex: "status",
key: "status",
-
ellipsis: true,
- sorter: true, // (a, b) => alphaSort(a.status, b.status),
+ sorter: search?.search ? (a, b) => statusSort(a.status, b.status, bodyshop.md_ro_statuses.active_statuses) : true,
sortOrder: sortcolumn === "status" && sortorder,
render: (text, record) => {
return record.status || t("general.labels.na");
@@ -106,7 +106,6 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
title: t("jobs.fields.vehicle"),
dataIndex: "vehicle",
key: "vehicle",
-
ellipsis: true,
render: (text, record) => {
return record.vehicleid ? (
@@ -127,7 +126,7 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
dataIndex: "plate_no",
key: "plate_no",
ellipsis: true,
- sorter: true, //(a, b) => alphaSort(a.plate_no, b.plate_no),
+ sorter: search?.search ? (a, b) => alphaSort(a.plate_no, b.plate_no) : true,
sortOrder: sortcolumn === "plate_no" && sortorder,
render: (text, record) => {
return record.plate_no ? record.plate_no : "";
@@ -138,7 +137,7 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
dataIndex: "clm_no",
key: "clm_no",
ellipsis: true,
- sorter: true, //(a, b) => alphaSort(a.clm_no, b.clm_no),
+ sorter: search?.search ? (a, b) => alphaSort(a.clm_no, b.clm_no) : true,
sortOrder: sortcolumn === "clm_no" && sortorder,
render: (text, record) =>
`${record.clm_no || ""}${
@@ -156,7 +155,7 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
dataIndex: "clm_total",
key: "clm_total",
- sorter: true, //(a, b) => a.clm_total - b.clm_total,
+ sorter: search?.search ? (a, b) => a.clm_total - b.clm_total : true,
sortOrder: sortcolumn === "clm_total" && sortorder,
render: (text, record) => {
return record.clm_total ? (
@@ -170,7 +169,6 @@ export function JobsList({ bodyshop, refetch, loading, jobs, total }) {
title: t("jobs.fields.owner_owing"),
dataIndex: "owner_owing",
key: "owner_owing",
-
render: (text, record) => (
{record.owner_owing}
),
diff --git a/client/src/components/production-list-columns/production-list-columns.data.js b/client/src/components/production-list-columns/production-list-columns.data.js
index 6677c2127..fe66c6d94 100644
--- a/client/src/components/production-list-columns/production-list-columns.data.js
+++ b/client/src/components/production-list-columns/production-list-columns.data.js
@@ -9,9 +9,7 @@ import { onlyUnique } from "../../utils/arrayHelper";
import { alphaSort, dateSort, statusSort } from "../../utils/sorters";
import JobAltTransportChange from "../job-at-change/job-at-change.component";
import JobPartsQueueCount from "../job-parts-queue-count/job-parts-queue-count.component";
-import OwnerNameDisplay, {
- OwnerNameDisplayFunction,
-} from "../owner-name-display/owner-name-display.component";
+import OwnerNameDisplay, { OwnerNameDisplayFunction } from "../owner-name-display/owner-name-display.component";
import ProductionSubletsManageComponent from "../production-sublets-manage/production-sublets-manage.component";
import ProductionListColumnAlert from "./production-list-columns.alert.component";
import ProductionListColumnBodyPriority from "./production-list-columns.bodypriority.component";
@@ -34,11 +32,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
dataIndex: "viewdetail",
key: "viewdetail",
ellipsis: true,
- render: (text, record) => (
-
- {i18n.t("general.labels.view")}
-
- ),
+ render: (text, record) => {i18n.t("general.labels.view")}
},
{
title: i18n.t("jobs.fields.ro_number"),
@@ -46,23 +40,18 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "ro_number",
ellipsis: true,
sorter: (a, b) => alphaSort(a.ro_number, b.ro_number),
- sortOrder:
- state.sortedInfo.columnKey === "ro_number" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "ro_number" && state.sortedInfo.order,
render: (text, record) =>
technician ? (
{record.ro_number}
- {record.suspended && (
-
- )}
+ {record.suspended && }
) : (
{record.ro_number}
- {record.suspended && (
-
- )}
+ {record.suspended && }
{record.iouparent && (
@@ -70,7 +59,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
)}
- ),
+ )
},
{
title: i18n.t("jobs.fields.owner"),
@@ -85,10 +74,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
),
- sorter: (a, b) =>
- alphaSort(OwnerNameDisplayFunction(a), OwnerNameDisplayFunction(b)),
- sortOrder:
- state.sortedInfo.columnKey === "ownr" && state.sortedInfo.order,
+ sorter: (a, b) => alphaSort(OwnerNameDisplayFunction(a), OwnerNameDisplayFunction(b)),
+ sortOrder: state.sortedInfo.columnKey === "ownr" && state.sortedInfo.order
},
{
title: i18n.t("jobs.fields.vehicle"),
@@ -97,13 +84,10 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
ellipsis: true,
sorter: (a, b) =>
alphaSort(
- `${a.v_model_yr || ""} ${a.v_make_desc || ""} ${
- a.v_model_desc || ""
- }`,
+ `${a.v_model_yr || ""} ${a.v_make_desc || ""} ${a.v_model_desc || ""}`,
`${b.v_model_yr || ""} ${b.v_make_desc || ""} ${b.v_model_desc || ""}`
),
- sortOrder:
- state.sortedInfo.columnKey === "vehicle" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "vehicle" && state.sortedInfo.order,
render: (text, record) =>
technician ? (
<>{`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${
@@ -115,7 +99,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
} ${record.v_make_desc || ""} ${record.v_model_desc || ""} ${
record.v_color || ""
} ${record.plate_no || ""}`}
- ),
+ )
},
{
title: i18n.t("jobs.fields.actual_in"),
@@ -123,11 +107,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "actual_in",
ellipsis: true,
sorter: (a, b) => dateSort(a.actual_in, b.actual_in),
- sortOrder:
- state.sortedInfo.columnKey === "actual_in" && state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "actual_in" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.actual_in") + " (HH:MM)",
@@ -135,28 +116,16 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "actual_in_time",
ellipsis: true,
- render: (text, record) => (
- {record.actual_in}
- ),
+ render: (text, record) => {record.actual_in}
},
{
title: i18n.t("jobs.fields.scheduled_completion"),
dataIndex: "scheduled_completion",
key: "scheduled_completion",
ellipsis: true,
- sorter: (a, b) =>
- dateSort(a.scheduled_completion, b.scheduled_completion),
- sortOrder:
- state.sortedInfo.columnKey === "scheduled_completion" &&
- state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sorter: (a, b) => dateSort(a.scheduled_completion, b.scheduled_completion),
+ sortOrder: state.sortedInfo.columnKey === "scheduled_completion" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.scheduled_completion") + " (HH:MM)",
@@ -164,9 +133,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "scheduled_completion_time",
ellipsis: true,
- render: (text, record) => (
- {record.scheduled_completion}
- ),
+ render: (text, record) => {record.scheduled_completion}
},
{
title: i18n.t("jobs.fields.date_last_contacted"),
@@ -174,10 +141,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "date_last_contacted",
ellipsis: true,
sorter: (a, b) => dateSort(a.date_last_contacted, b.date_last_contacted),
- sortOrder:
- state.sortedInfo.columnKey === "date_last_contacted" &&
- state.sortedInfo.order,
- render: (text, record) => ,
+ sortOrder: state.sortedInfo.columnKey === "date_last_contacted" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.date_next_contact"),
@@ -185,17 +150,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "date_next_contact",
ellipsis: true,
sorter: (a, b) => dateSort(a.date_next_contact, b.date_next_contact),
- sortOrder:
- state.sortedInfo.columnKey === "date_next_contact" &&
- state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "date_next_contact" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.scheduled_delivery"),
@@ -203,17 +159,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "scheduled_delivery",
ellipsis: true,
sorter: (a, b) => dateSort(a.scheduled_delivery, b.scheduled_delivery),
- sortOrder:
- state.sortedInfo.columnKey === "scheduled_delivery" &&
- state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "scheduled_delivery" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.scheduled_delivery") + " (HH:MM)",
@@ -221,9 +168,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "scheduled_delivery_time",
ellipsis: true,
- render: (text, record) => (
- {record.scheduled_delivery}
- ),
+ render: (text, record) => {record.scheduled_delivery}
},
{
title: i18n.t("jobs.fields.ins_co_nm"),
@@ -231,8 +176,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "ins_co_nm",
ellipsis: true,
sorter: (a, b) => alphaSort(a.ins_co_nm, b.ins_co_nm),
- sortOrder:
- state.sortedInfo.columnKey === "ins_co_nm" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "ins_co_nm" && state.sortedInfo.order
},
{
title: i18n.t("jobs.fields.clm_no"),
@@ -240,8 +184,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "clm_no",
ellipsis: true,
sorter: (a, b) => alphaSort(a.clm_no, b.clm_no),
- sortOrder:
- state.sortedInfo.columnKey === "clm_no" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "clm_no" && state.sortedInfo.order
},
{
title: i18n.t("jobs.fields.clm_total"),
@@ -249,11 +192,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "clm_total",
ellipsis: true,
sorter: (a, b) => a.clm_total - b.clm_total,
- sortOrder:
- state.sortedInfo.columnKey === "clm_total" && state.sortedInfo.order,
- render: (text, record) => (
- {record.clm_total}
- ),
+ sortOrder: state.sortedInfo.columnKey === "clm_total" && state.sortedInfo.order,
+ render: (text, record) => {record.clm_total}
},
{
title: i18n.t("jobs.fields.owner_owing"),
@@ -261,49 +201,36 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "owner_owing",
ellipsis: true,
sorter: (a, b) => a.owner_owing - b.owner_owing,
- sortOrder:
- state.sortedInfo.columnKey === "owner_owing" && state.sortedInfo.order,
- render: (text, record) => (
- {record.owner_owing}
- ),
+ sortOrder: state.sortedInfo.columnKey === "owner_owing" && state.sortedInfo.order,
+ render: (text, record) => {record.owner_owing}
},
{
title: i18n.t("jobs.fields.ownr_ph1"),
dataIndex: "ownr_ph1",
key: "ownr_ph1",
ellipsis: true,
- render: (text, record) => (
- {record.ownr_ph1}
- ),
+ render: (text, record) => {record.ownr_ph1}
},
{
title: i18n.t("jobs.fields.ownr_ph2"),
dataIndex: "ownr_ph2",
key: "ownr_ph2",
ellipsis: true,
- render: (text, record) => (
- {record.ownr_ph2}
- ),
+ render: (text, record) => {record.ownr_ph2}
},
{
title: i18n.t("jobs.fields.specialcoveragepolicy"),
dataIndex: "special_coverage_policy",
key: "special_coverage_policy",
ellipsis: true,
- sorter: (a, b) =>
- Number(a.special_coverage_policy) - Number(b.special_coverage_policy),
- sortOrder:
- state.sortedInfo.columnKey === "special_coverage_policy" &&
- state.sortedInfo.order,
+ sorter: (a, b) => Number(a.special_coverage_policy) - Number(b.special_coverage_policy),
+ sortOrder: state.sortedInfo.columnKey === "special_coverage_policy" && state.sortedInfo.order,
filters: [
{ text: "True", value: true },
- { text: "False", value: false },
+ { text: "False", value: false }
],
- onFilter: (value, record) =>
- value.includes(record.special_coverage_policy),
- render: (text, record) => (
-
- ),
+ onFilter: (value, record) => value === record.special_coverage_policy,
+ render: (text, record) =>
},
{
@@ -312,15 +239,13 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "alt_transport",
ellipsis: true,
sorter: (a, b) => alphaSort(a.alt_transport, b.alt_transport),
- sortOrder:
- state.sortedInfo.columnKey === "alt_transport" &&
- state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "alt_transport" && state.sortedInfo.order,
filters:
(bodyshop &&
bodyshop.appt_alt_transport.map((s) => {
return {
text: s,
- value: [s],
+ value: [s]
};
})) ||
[],
@@ -330,7 +255,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
{record.alt_transport}
- ),
+ )
},
{
title: i18n.t("jobs.fields.status"),
@@ -338,9 +263,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "status",
ellipsis: true,
sorter: (a, b) => statusSort(a.status, b.status, activeStatuses),
- sortOrder:
- state.sortedInfo.columnKey === "status" && state.sortedInfo.order,
- render: (text, record) => ,
+ sortOrder: state.sortedInfo.columnKey === "status" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.category"),
@@ -353,37 +277,30 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
bodyshop.md_categories.map((s) => {
return {
text: s,
- value: [s],
+ value: [s]
};
})) ||
[],
onFilter: (value, record) => value.includes(record.category),
sorter: (a, b) => alphaSort(a.category, b.category),
- sortOrder:
- state.sortedInfo.columnKey === "category" && state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "category" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.bodyhours"),
dataIndex: "labhrs",
key: "labhrs",
- sorter: (a, b) =>
- a.labhrs.aggregate.sum.mod_lb_hrs - b.labhrs.aggregate.sum.mod_lb_hrs,
- sortOrder:
- state.sortedInfo.columnKey === "labhrs" && state.sortedInfo.order,
- render: (text, record) => record.labhrs.aggregate.sum.mod_lb_hrs,
+ sorter: (a, b) => a.labhrs.aggregate.sum.mod_lb_hrs - b.labhrs.aggregate.sum.mod_lb_hrs,
+ sortOrder: state.sortedInfo.columnKey === "labhrs" && state.sortedInfo.order,
+ render: (text, record) => record.labhrs.aggregate.sum.mod_lb_hrs
},
{
title: i18n.t("production.labels.refinishhours"),
dataIndex: "larhrs",
key: "larhrs",
- sorter: (a, b) =>
- a.larhrs.aggregate.sum.mod_lb_hrs - b.larhrs.aggregate.sum.mod_lb_hrs,
- sortOrder:
- state.sortedInfo.columnKey === "larhrs" && state.sortedInfo.order,
- render: (text, record) => record.larhrs.aggregate.sum.mod_lb_hrs,
+ sorter: (a, b) => a.larhrs.aggregate.sum.mod_lb_hrs - b.larhrs.aggregate.sum.mod_lb_hrs,
+ sortOrder: state.sortedInfo.columnKey === "larhrs" && state.sortedInfo.order,
+ render: (text, record) => record.larhrs.aggregate.sum.mod_lb_hrs
},
{
title: i18n.t("production.labels.totalhours"),
@@ -393,38 +310,36 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
a.labhrs.aggregate.sum.mod_lb_hrs +
a.larhrs.aggregate.sum.mod_lb_hrs -
(b.labhrs.aggregate.sum.mod_lb_hrs + b.larhrs.aggregate.sum.mod_lb_hrs),
- sortOrder:
- state.sortedInfo.columnKey === "totalhours" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "totalhours" && state.sortedInfo.order,
render: (text, record) =>
- (
- record.labhrs.aggregate.sum.mod_lb_hrs +
- record.larhrs.aggregate.sum.mod_lb_hrs
- ).toFixed(1),
+ (record.labhrs.aggregate.sum.mod_lb_hrs + record.larhrs.aggregate.sum.mod_lb_hrs).toFixed(1)
},
{
title: i18n.t("production.labels.alert"),
dataIndex: "alert",
key: "alert",
- sorter: (a, b) =>
- Number(a.production_vars?.alert || false) -
- Number(b.production_vars?.alert || false),
- sortOrder:
- state.sortedInfo.columnKey === "alert" && state.sortedInfo.order,
- render: (text, record) => ,
+ sorter: (a, b) => Number(a.production_vars?.alert || false) - Number(b.production_vars?.alert || false),
+ sortOrder: state.sortedInfo.columnKey === "alert" && state.sortedInfo.order,
+ filters: [
+ { text: "True", value: true },
+ { text: "False", value: false }
+ ],
+ onFilter: (value, record) => value === (record.production_vars?.alert || false),
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.note"),
dataIndex: "note",
key: "note",
ellipsis: true,
- render: (text, record) => ,
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.comment"),
dataIndex: "comment",
key: "comment",
ellipsis: true,
- render: (text, record) => ,
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.touchtime"),
@@ -432,7 +347,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "tt",
render: (text, record) => {
return ;
- },
+ }
},
{
title: i18n.t("production.labels.bodypriority"),
@@ -442,11 +357,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
sorter: (a, b) =>
((a.production_vars && a.production_vars.bodypriority) || 11) -
((b.production_vars && b.production_vars.bodypriority) || 11),
- sortOrder:
- state.sortedInfo.columnKey === "bodypriority" && state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "bodypriority" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.paintpriority"),
@@ -456,12 +368,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
sorter: (a, b) =>
((a.production_vars && a.production_vars.paintpriority) || 11) -
((b.production_vars && b.production_vars.paintpriority) || 11),
- sortOrder:
- state.sortedInfo.columnKey === "paintpriority" &&
- state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "paintpriority" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.detailpriority"),
@@ -471,110 +379,74 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
sorter: (a, b) =>
((a.production_vars && a.production_vars.detailpriority) || 11) -
((b.production_vars && b.production_vars.detailpriority) || 11),
- sortOrder:
- state.sortedInfo.columnKey === "detailpriority" &&
- state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "detailpriority" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("production.labels.sublets"),
dataIndex: "sublets",
key: "sublets",
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.employee_body"),
dataIndex: "employee_body",
key: "employee_body",
- sortOrder:
- state.sortedInfo.columnKey === "employee_body" &&
- state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "employee_body" && state.sortedInfo.order,
sorter: (a, b) =>
alphaSort(
bodyshop.employees?.find((e) => e.id === a.employee_body)?.first_name,
bodyshop.employees?.find((e) => e.id === b.employee_body)?.first_name
),
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.employee_prep"),
dataIndex: "employee_prep",
key: "employee_prep",
- sortOrder:
- state.sortedInfo.columnKey === "employee_prep" &&
- state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "employee_prep" && state.sortedInfo.order,
sorter: (a, b) =>
alphaSort(
bodyshop.employees?.find((e) => e.id === a.employee_prep)?.first_name,
bodyshop.employees?.find((e) => e.id === b.employee_prep)?.first_name
),
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.employee_csr"),
dataIndex: "employee_csr",
key: "employee_csr",
- sortOrder:
- state.sortedInfo.columnKey === "employee_csr" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "employee_csr" && state.sortedInfo.order,
sorter: (a, b) =>
alphaSort(
bodyshop.employees?.find((e) => e.id === a.employee_csr)?.first_name,
bodyshop.employees?.find((e) => e.id === b.employee_csr)?.first_name
),
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.employee_refinish"),
dataIndex: "employee_refinish",
key: "employee_refinish",
- sortOrder:
- state.sortedInfo.columnKey === "employee_refinish" &&
- state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "employee_refinish" && state.sortedInfo.order,
sorter: (a, b) =>
alphaSort(
- bodyshop.employees?.find((e) => e.id === a.employee_refinish)
- ?.first_name,
- bodyshop.employees?.find((e) => e.id === b.employee_refinish)
- ?.first_name
+ bodyshop.employees?.find((e) => e.id === a.employee_refinish)?.first_name,
+ bodyshop.employees?.find((e) => e.id === b.employee_refinish)?.first_name
),
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.labels.parts_received"),
dataIndex: "parts_received",
key: "parts_received",
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.partsstatus"),
dataIndex: "partsstatus",
key: "partsstatus",
- render: (text, record) => (
-
- ),
+ render: (text, record) =>
},
{
title: i18n.t("jobs.labels.estimator"),
@@ -585,8 +457,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
`${a.est_ct_fn || ""} ${a.est_ct_ln || ""}`.trim(),
`${b.est_ct_fn || ""} ${b.est_ct_ln || ""}`.trim()
),
- sortOrder:
- state.sortedInfo.columnKey === "estimator" && state.sortedInfo.order,
+ sortOrder: state.sortedInfo.columnKey === "estimator" && state.sortedInfo.order,
filters:
(data &&
data
@@ -595,16 +466,12 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
.map((s) => {
return {
text: s || "N/A",
- value: [s],
+ value: [s]
};
})) ||
[],
- onFilter: (value, record) =>
- value.includes(
- `${record.est_ct_fn || ""} ${record.est_ct_ln || ""}`.trim()
- ),
- render: (text, record) =>
- `${record.est_ct_fn || ""} ${record.est_ct_ln || ""}`.trim(),
+ onFilter: (value, record) => value.includes(`${record.est_ct_fn || ""} ${record.est_ct_ln || ""}`.trim()),
+ render: (text, record) => `${record.est_ct_fn || ""} ${record.est_ct_ln || ""}`.trim()
},
//Added as a place holder for St Claude. Not implemented as it requires another join for a field used by only 1 client.
@@ -634,12 +501,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "date_repairstarted",
ellipsis: true,
sorter: (a, b) => dateSort(a.date_repairstarted, b.date_repairstarted),
- sortOrder:
- state.sortedInfo.columnKey === "date_repairstarted" &&
- state.sortedInfo.order,
- render: (text, record) => (
-
- ),
+ sortOrder: state.sortedInfo.columnKey === "date_repairstarted" && state.sortedInfo.order,
+ render: (text, record) =>
},
{
title: i18n.t("jobs.fields.date_repairstarted") + " (HH:MM)",
@@ -647,10 +510,8 @@ const r = ({ technician, state, activeStatuses, data, bodyshop }) => {
key: "date_repairstarted_time",
ellipsis: true,
- render: (text, record) => (
- {record.date_repairstarted}
- ),
- },
+ render: (text, record) => {record.date_repairstarted}
+ }
];
};
export default r;
diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js
index 0cd49d52b..f29694161 100644
--- a/client/src/graphql/jobs.queries.js
+++ b/client/src/graphql/jobs.queries.js
@@ -1,7 +1,7 @@
import { gql } from "@apollo/client";
export const QUERY_ALL_ACTIVE_JOBS_PAGINATED = gql`
- query QUERY_ALL_JOBS_PAGINATED_STATUS_FILTERED(
+ query QUERY_ALL_ACTIVE_JOBS_PAGINATED(
$offset: Int
$limit: Int
$order: [jobs_order_by!]
diff --git a/client/src/utils/handleBeta.js b/client/src/utils/handleBeta.js
index 8a1fba468..dcb0d18d1 100644
--- a/client/src/utils/handleBeta.js
+++ b/client/src/utils/handleBeta.js
@@ -1,37 +1,47 @@
-export const BETA_KEY = 'betaSwitchImex';
+export const BETA_KEY = "betaSwitchImex";
export const checkBeta = () => {
- const cookie = document.cookie.split('; ').find(row => row.startsWith(BETA_KEY));
- return cookie ? cookie.split('=')[1] === 'true' : false;
-}
-
+ const cookie = document.cookie.split("; ").find((row) => row.startsWith(BETA_KEY));
+ return cookie ? cookie.split("=")[1] === "true" : false;
+};
export const setBeta = (value) => {
- const domain = window.location.hostname.split('.').slice(-2).join('.');
- document.cookie = `${BETA_KEY}=${value}; path=/; domain=.${domain}`;
-}
+ const domain = window.location.hostname.split(".").slice(-2).join(".");
+ document.cookie = `${BETA_KEY}=${value}; path=/; domain=.${domain}`;
+};
export const handleBeta = () => {
- // If the current host name does not start with beta or test, then we don't need to do anything.
- if (window.location.hostname.startsWith('localhost')) {
- console.log('Not on beta or test, so no need to handle beta.');
- return;
+ if (window.location.hostname.startsWith("localhost")) {
+ console.log("Not on beta or test, so no need to handle beta.");
+ return;
+ }
+
+ const isBeta = checkBeta();
+ const currentHostName = window.location.hostname;
+
+ // Determine if the host name starts with "beta" or "www.beta"
+ const isBetaHost = currentHostName.startsWith("beta.");
+ const isBetaHostWithWWW = currentHostName.startsWith("www.beta.");
+
+ if (isBeta) {
+ // If beta is on and we are not on a beta domain, redirect to the beta version
+ if (!isBetaHost && !isBetaHostWithWWW) {
+ const newHostName = currentHostName.startsWith("www.")
+ ? `www.beta.${currentHostName.replace(/^www\./, "")}`
+ : `beta.${currentHostName}`;
+ const href = `${window.location.protocol}//${newHostName}${window.location.pathname}${window.location.search}${window.location.hash}`;
+ window.location.replace(href);
}
-
- const isBeta = checkBeta();
-
- const currentHostName = window.location.hostname;
-
- // Beta is enabled, but the current host name does start with beta.
- if (isBeta && !currentHostName.startsWith('beta')) {
- const href= `${window.location.protocol}//beta.${currentHostName}${window.location.pathname}${window.location.search}${window.location.hash}`;
- window.location.replace(href);
+ // Otherwise, if beta is on and we're already on a beta domain, stay there
+ } else {
+ // If beta is off and we are on a beta domain, redirect to the non-beta version
+ if (isBetaHost || isBetaHostWithWWW) {
+ const newHostName = currentHostName.replace(/^www\.beta\./, "www.").replace(/^beta\./, "");
+ const href = `${window.location.protocol}//${newHostName}${window.location.pathname}${window.location.search}${window.location.hash}`;
+ window.location.replace(href);
}
+ // Otherwise, if beta is off and we're not on a beta domain, stay there
+ }
+};
- // Beta is not enabled, but the current host name does start with beta.
- else if (!isBeta && currentHostName.startsWith('beta')) {
- const href = `${window.location.protocol}//${currentHostName.replace('beta.', '')}${window.location.pathname}${window.location.search}${window.location.hash}`;
- window.location.replace(href);
- }
-}
export default handleBeta;