IO-2661 Rename CSR labels to Writer for Rome & PM

This commit is contained in:
Patrick Fic
2024-04-01 10:44:57 -07:00
parent 9b9ac505e9
commit 07a18bcd8c
9 changed files with 62 additions and 17 deletions

View File

@@ -1,4 +1,4 @@
<babeledit_project be_version="2.7.1" version="1.2"> <babeledit_project version="1.2" be_version="2.7.1">
<!-- <!--
BabelEdit project file BabelEdit project file
@@ -27170,6 +27170,27 @@
</translation> </translation>
</translations> </translations>
</concept_node> </concept_node>
<concept_node>
<name>employee_csr_writer</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node> <concept_node>
<name>employee_prep</name> <name>employee_prep</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>

View File

@@ -58,7 +58,7 @@ const Eula = ({ currentEula, currentUser, acceptEula }) => {
// Trim the values of the fields before submitting // Trim the values of the fields before submitting
const trimmedFormValues = Object.entries(otherFormValues).reduce((acc, [key, value]) => { const trimmedFormValues = Object.entries(otherFormValues).reduce((acc, [key, value]) => {
acc[key] = typeof value === "string" ? value.trim() : value; acc[key] = typeof value === "string" ? value?.trim() : value;
return acc; return acc;
}, {}); }, {});
@@ -140,7 +140,7 @@ const EulaFormComponent = ({ form, handleChange, onFinish, t }) => (
{ {
required: true, required: true,
validator: (_, value) => validator: (_, value) =>
value.trim() !== "" ? Promise.resolve() : Promise.reject(new Error(t("eula.messages.first_name"))) value?.trim() !== "" ? Promise.resolve() : Promise.reject(new Error(t("eula.messages.first_name")))
} }
]} ]}
> >
@@ -155,7 +155,7 @@ const EulaFormComponent = ({ form, handleChange, onFinish, t }) => (
{ {
required: true, required: true,
validator: (_, value) => validator: (_, value) =>
value.trim() !== "" ? Promise.resolve() : Promise.reject(new Error(t("eula.messages.last_name"))) value?.trim() !== "" ? Promise.resolve() : Promise.reject(new Error(t("eula.messages.last_name")))
} }
]} ]}
> >
@@ -172,7 +172,7 @@ const EulaFormComponent = ({ form, handleChange, onFinish, t }) => (
{ {
required: true, required: true,
validator: (_, value) => validator: (_, value) =>
value.trim() !== "" ? Promise.resolve() : Promise.reject(new Error(t("eula.messages.business_name"))) value?.trim() !== "" ? Promise.resolve() : Promise.reject(new Error(t("eula.messages.business_name")))
} }
]} ]}
> >

View File

@@ -33,7 +33,7 @@ function FeatureWrapper({ bodyshop, featureName, noauth, children, ...restProps
} }
export function HasFeatureAccess({ featureName, bodyshop }) { export function HasFeatureAccess({ featureName, bodyshop }) {
return bodyshop?.features.allAccess || dayjs(bodyshop?.features[featureName]).isAfter(dayjs()); return bodyshop?.features?.allAccess || dayjs(bodyshop?.features[featureName]).isAfter(dayjs());
} }
export default connect(mapStateToProps, null)(FeatureWrapper); export default connect(mapStateToProps, null)(FeatureWrapper);

View File

@@ -7,6 +7,7 @@ import { createStructuredSelector } from "reselect";
import { selectJobReadOnly } from "../../redux/application/application.selectors"; import { selectJobReadOnly } from "../../redux/application/application.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors";
import DataLabel from "../data-label/data-label.component"; import DataLabel from "../data-label/data-label.component";
import InstanceRenderManager from "../../utils/instanceRenderMgr";
const mapStateToProps = createStructuredSelector({ const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop, bodyshop: selectBodyshop,
@@ -153,7 +154,15 @@ export function JobEmployeeAssignments({
/> />
)} )}
</DataLabel> </DataLabel>
<DataLabel label={t("jobs.fields.employee_csr")}> <DataLabel
label={t(
InstanceRenderManager({
imex: "jobs.fields.employee_csr",
rome: "jobs.fields.employee_csr_writer",
promanager: "USE_ROME"
})
)}
>
{csr ? ( {csr ? (
<div> <div>
<span>{`${csr.first_name || ""} ${csr.last_name || ""}`}</span> <span>{`${csr.first_name || ""} ${csr.last_name || ""}`}</span>

View File

@@ -10,6 +10,7 @@ import { insertAuditTrail } from "../../redux/application/application.actions";
import { selectJobReadOnly } from "../../redux/application/application.selectors"; import { selectJobReadOnly } from "../../redux/application/application.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors";
import AuditTrailMapping from "../../utils/AuditTrailMappings"; import AuditTrailMapping from "../../utils/AuditTrailMappings";
import InstanceRenderManager from "../../utils/instanceRenderMgr";
const mapStateToProps = createStructuredSelector({ const mapStateToProps = createStructuredSelector({
//currentUser: selectCurrentUser //currentUser: selectCurrentUser
@@ -147,7 +148,13 @@ export function JobsConvertButton({ bodyshop, job, refetch, jobRO, insertAuditTr
{bodyshop.enforce_conversion_csr && ( {bodyshop.enforce_conversion_csr && (
<Form.Item <Form.Item
name={"employee_csr"} name={"employee_csr"}
label={t("jobs.fields.employee_csr")} label={t(
InstanceRenderManager({
imex: "jobs.fields.employee_csr",
rome: "jobs.fields.employee_csr_writer",
promanager: "USE_ROME"
})
)}
rules={[ rules={[
{ {
required: bodyshop.enforce_conversion_csr required: bodyshop.enforce_conversion_csr

View File

@@ -26,6 +26,7 @@ import ProductionListColumnStatus from "./production-list-columns.status.compone
import ProductionlistColumnTouchTime from "./prodution-list-columns.touchtime.component"; import ProductionlistColumnTouchTime from "./prodution-list-columns.touchtime.component";
import { store } from "../../redux/store"; import { store } from "../../redux/store";
import { setModalContext } from "../../redux/modals/modals.actions"; import { setModalContext } from "../../redux/modals/modals.actions";
import InstanceRenderManager from "../../utils/instanceRenderMgr";
const r = ({ technician, state, activeStatuses, data, bodyshop, refetch, treatments }) => { const r = ({ technician, state, activeStatuses, data, bodyshop, refetch, treatments }) => {
const { Enhanced_Payroll } = treatments; const { Enhanced_Payroll } = treatments;
@@ -120,15 +121,13 @@ const r = ({ technician, state, activeStatuses, data, bodyshop, refetch, treatme
sortOrder: state.sortedInfo.columnKey === "vehicle" && state.sortedInfo.order, sortOrder: state.sortedInfo.columnKey === "vehicle" && state.sortedInfo.order,
render: (text, record) => render: (text, record) =>
technician ? ( technician ? (
<>{`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${ <>{`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${record.v_model_desc || ""} ${
record.v_model_desc || ""
} ${record.v_color || ""} ${record.plate_no || ""}`}</>
) : (
<Link to={`/manage/vehicles/${record.vehicleid}`}>{`${
record.v_model_yr || ""
} ${record.v_make_desc || ""} ${record.v_model_desc || ""} ${
record.v_color || "" record.v_color || ""
} ${record.plate_no || ""}`}</Link> } ${record.plate_no || ""}`}</>
) : (
<Link to={`/manage/vehicles/${record.vehicleid}`}>{`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${
record.v_model_desc || ""
} ${record.v_color || ""} ${record.plate_no || ""}`}</Link>
) )
}, },
{ {
@@ -442,7 +441,13 @@ const r = ({ technician, state, activeStatuses, data, bodyshop, refetch, treatme
) )
}, },
{ {
title: i18n.t("jobs.fields.employee_csr"), title: i18n.t(
InstanceRenderManager({
imex: "jobs.fields.employee_csr",
rome: "jobs.fields.employee_csr_writer",
promanager: "USE_ROME"
})
),
dataIndex: "employee_csr", dataIndex: "employee_csr",
key: "employee_csr", key: "employee_csr",
sortOrder: state.sortedInfo.columnKey === "employee_csr" && state.sortedInfo.order, sortOrder: state.sortedInfo.columnKey === "employee_csr" && state.sortedInfo.order,

View File

@@ -1640,6 +1640,7 @@
"driveable": "Driveable", "driveable": "Driveable",
"employee_body": "Body", "employee_body": "Body",
"employee_csr": "Customer Service Rep.", "employee_csr": "Customer Service Rep.",
"employee_csr_writer": "Writer",
"employee_prep": "Prep", "employee_prep": "Prep",
"employee_refinish": "Refinish", "employee_refinish": "Refinish",
"est_addr1": "Estimator Address", "est_addr1": "Estimator Address",

View File

@@ -1640,6 +1640,7 @@
"driveable": "", "driveable": "",
"employee_body": "", "employee_body": "",
"employee_csr": "Representante de servicio al cliente.", "employee_csr": "Representante de servicio al cliente.",
"employee_csr_writer": "",
"employee_prep": "", "employee_prep": "",
"employee_refinish": "", "employee_refinish": "",
"est_addr1": "Dirección del tasador", "est_addr1": "Dirección del tasador",

View File

@@ -1640,6 +1640,7 @@
"driveable": "", "driveable": "",
"employee_body": "", "employee_body": "",
"employee_csr": "représentant du service à la clientèle", "employee_csr": "représentant du service à la clientèle",
"employee_csr_writer": "",
"employee_prep": "", "employee_prep": "",
"employee_refinish": "", "employee_refinish": "",
"est_addr1": "Adresse de l'évaluateur", "est_addr1": "Adresse de l'évaluateur",