diff --git a/client/src/components/production-list-columns/production-list-columns.data.jsx b/client/src/components/production-list-columns/production-list-columns.data.jsx index 165e15c1d..91dd64c45 100644 --- a/client/src/components/production-list-columns/production-list-columns.data.jsx +++ b/client/src/components/production-list-columns/production-list-columns.data.jsx @@ -161,7 +161,6 @@ const productionListColumnsData = ({ technician, state, activeStatuses, data, bo dataIndex: "actual_in_time", key: "actual_in_time", ellipsis: true, - render: (text, record) => {record.actual_in} }, { @@ -181,6 +180,22 @@ const productionListColumnsData = ({ technician, state, activeStatuses, data, bo render: (text, record) => {record.scheduled_completion} }, + { + title: i18n.t("jobs.fields.actual_completion"), + dataIndex: "actual_completion", + key: "actual_completion", + ellipsis: true, + sorter: (a, b) => dateSort(a.actual_completion, b.actual_completion), + sortOrder: state.sortedInfo.columnKey === "actual_completion" && state.sortedInfo.order, + render: (text, record) => + }, + { + title: i18n.t("jobs.fields.actual_completion") + " (HH:MM)", + dataIndex: "actual_completion_time", + key: "actual_completion_time", + ellipsis: true, + render: (text, record) => {record.actual_completion} + }, { title: i18n.t("jobs.fields.date_last_contacted"), dataIndex: "date_last_contacted", diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index 3caf46059..64b1de151 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -1095,6 +1095,7 @@ export const UPDATE_JOB = gql` scheduled_completion scheduled_delivery actual_in + actual_completion date_repairstarted date_void date_lost_sale @@ -2597,6 +2598,7 @@ export const QUERY_JOBS_IN_PRODUCTION = gql` vehicleid plate_no actual_in + actual_completion scheduled_completion scheduled_delivery date_last_contacted diff --git a/client/src/redux/user/user.sagas.js b/client/src/redux/user/user.sagas.js index 663724691..ce727c01e 100644 --- a/client/src/redux/user/user.sagas.js +++ b/client/src/redux/user/user.sagas.js @@ -239,22 +239,13 @@ export function* signInSuccessSaga({ payload }) { try { window.$crisp.push(["set", "user:nickname", [payload.displayName || payload.email]]); - const currentUserSegment = InstanceRenderManager({ - imex: "imex-online-user", - rome: "rome-online-user" - }); - window.$crisp.push(["set", "session:segments", [[currentUserSegment]]]); InstanceRenderManager({ executeFunction: true, args: [], - imex: () => { - window.$crisp.push(["set", "session:segments", [["imex"]]]); - }, rome: () => { window.$zoho.salesiq.visitor.name(payload.displayName || payload.email); window.$zoho.salesiq.visitor.email(payload.email); - window.$crisp.push(["set", "session:segments", [["rome"]]]); } }); @@ -262,11 +253,13 @@ export function* signInSuccessSaga({ payload }) { try { const state = yield select(); const isParts = state?.application?.isPartsEntry === true; - const instanceSeg = InstanceRenderManager({ imex: "imex", rome: "rome" }); + const instanceSeg = InstanceRenderManager({ + imex: ["imex-online-user", "imex"], + rome: ["rome-online-user", "rome"] + }); // Always ensure segments include instance + user, and append partsManagement if applicable const segs = [ - currentUserSegment, - instanceSeg, + ...instanceSeg, ...(isParts ? [ InstanceRenderManager({ @@ -373,7 +366,10 @@ export function* SetAuthLevelFromShopDetails({ payload }) { // Build consolidated Crisp segments including instance, region, features, and parts mode const isParts = yield select((state) => state.application.isPartsEntry === true); - const instanceSeg = InstanceRenderManager({ imex: "imex", rome: "rome" }); + const instanceSeg = InstanceRenderManager({ + imex: ["imex-online-user", "imex"], + rome: ["rome-online-user", "rome"] + }); const featureSegments = payload.features?.allAccess === true @@ -401,7 +397,7 @@ export function* SetAuthLevelFromShopDetails({ payload }) { featureSegments.push(...additionalSegments); const regionSeg = payload.region_config ? `region:${payload.region_config}` : null; - const segments = [instanceSeg, ...(regionSeg ? [regionSeg] : []), ...featureSegments]; + const segments = [...instanceSeg, ...(regionSeg ? [regionSeg] : []), ...featureSegments]; if (isParts) { segments.push(InstanceRenderManager({ imex: "ImexPartsManagement", rome: "RomePartsManagement" })); }