feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration -Cleaned up DMS key check (consolidated into a helper function), Clean up DMS post form and make it agnostic, same with customer selector.

This commit is contained in:
Dave
2025-11-13 11:18:11 -05:00
parent 577c3bec04
commit 09ea6dff2b
32 changed files with 1747 additions and 1411 deletions

View File

@@ -14,6 +14,7 @@ import {
import JobSearchSelect from "../job-search-select/job-search-select.component";
import LaborAllocationsTable from "../labor-allocations-table/labor-allocations-table.component";
import { CalculateAllocationsTotals } from "../labor-allocations-table/labor-allocations-table.utility";
import { bodyshopHasDmsKey } from "../../utils/dmsUtils.js";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
import LoadingSkeleton from "../loading-skeleton/loading-skeleton.component";
import { HasRbacAccess } from "../rbac-wrapper/rbac-wrapper.component";
@@ -127,7 +128,7 @@ export function TimeTicketModalComponent({
onSelect={(value) => {
const emps = employeeAutoCompleteOptions && employeeAutoCompleteOptions.filter((e) => e.id === value)[0];
form.setFieldsValue({ flat_rate: emps && emps.flat_rate });
form.setFieldsValue({ flat_rate: emps?.flat_rate });
}}
/>
</Form.Item>
@@ -189,10 +190,7 @@ export function TimeTicketModalComponent({
lineTicketData.jobs_by_pk.lbr_adjustments
);
const fieldTypeToCheck =
bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber || bodyshop.rr_dealerid
? "mod_lbr_ty"
: "cost_center";
const fieldTypeToCheck = bodyshopHasDmsKey(bodyshop) ? "mod_lbr_ty" : "cost_center";
const costCenterDiff =
Math.round(
@@ -266,7 +264,7 @@ export function TimeTicketModalComponent({
if (!value) return Promise.resolve();
if (!clockon && value) return Promise.reject(t("timetickets.validation.clockoffwithoutclockon"));
// TODO - Verify this exists
if (value && value.isSameOrAfter && !value.isSameOrAfter(clockon))
if (value?.isSameOrAfter && !value.isSameOrAfter(clockon))
return Promise.reject(t("timetickets.validation.clockoffmustbeafterclockon"));
return Promise.resolve();