IO-2177 Add enforce category on conversion.
This commit is contained in:
@@ -43,7 +43,7 @@ export function JobsConvertButton({
|
||||
const { t } = useTranslation();
|
||||
const [form] = Form.useForm();
|
||||
|
||||
const handleConvert = async ({ employee_csr, ...values }) => {
|
||||
const handleConvert = async ({ employee_csr, category, ...values }) => {
|
||||
if (parentFormIsFieldsTouched()) {
|
||||
alert(t("jobs.labels.savebeforeconversion"));
|
||||
return;
|
||||
@@ -55,6 +55,7 @@ export function JobsConvertButton({
|
||||
job: {
|
||||
converted: true,
|
||||
...(bodyshop.enforce_conversion_csr ? { employee_csr } : {}),
|
||||
...(bodyshop.enforce_conversion_category ? { category } : {}),
|
||||
...values,
|
||||
},
|
||||
},
|
||||
@@ -94,6 +95,7 @@ export function JobsConvertButton({
|
||||
driveable: true,
|
||||
towin: false,
|
||||
employee_csr: job.employee_csr,
|
||||
category: job.category,
|
||||
}}
|
||||
>
|
||||
<Form.Item
|
||||
@@ -197,6 +199,26 @@ export function JobsConvertButton({
|
||||
</Select>
|
||||
</Form.Item>
|
||||
)}
|
||||
{bodyshop.enforce_conversion_category && (
|
||||
<Form.Item
|
||||
name={"category"}
|
||||
label={t("jobs.fields.category")}
|
||||
rules={[
|
||||
{
|
||||
required: bodyshop.enforce_conversion_category,
|
||||
//message: t("general.validation.required"),
|
||||
},
|
||||
]}
|
||||
>
|
||||
<Select allowClear>
|
||||
{bodyshop.md_categories.map((s) => (
|
||||
<Select.Option key={s} value={s}>
|
||||
{s}
|
||||
</Select.Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
)}
|
||||
<Form.Item
|
||||
label={t("jobs.fields.ca_gst_registrant")}
|
||||
name="ca_gst_registrant"
|
||||
|
||||
@@ -473,6 +473,13 @@ export default function ShopInfoGeneral({ form }) {
|
||||
>
|
||||
<Switch />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name={["enforce_conversion_category"]}
|
||||
label={t("bodyshop.fields.enforce_conversion_category")}
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
name={["target_touchtime"]}
|
||||
label={t("bodyshop.fields.target_touchtime")}
|
||||
|
||||
@@ -115,6 +115,7 @@ export const QUERY_BODYSHOP = gql`
|
||||
enforce_conversion_csr
|
||||
md_lost_sale_reasons
|
||||
md_parts_scan
|
||||
enforce_conversion_category
|
||||
employees {
|
||||
user_email
|
||||
id
|
||||
@@ -227,6 +228,7 @@ export const UPDATE_SHOP = gql`
|
||||
enforce_conversion_csr
|
||||
md_lost_sale_reasons
|
||||
md_parts_scan
|
||||
enforce_conversion_category
|
||||
employees {
|
||||
id
|
||||
first_name
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
},
|
||||
"email": "General Shop Email",
|
||||
"enforce_class": "Enforce Class on Conversion?",
|
||||
"enforce_conversion_category": "Enforce Conversion Category",
|
||||
"enforce_conversion_csr": "Enforce CSR on Conversion?",
|
||||
"enforce_referral": "Enforce Referrals",
|
||||
"federal_tax_id": "Federal Tax ID (GST/HST)",
|
||||
@@ -1280,6 +1281,7 @@
|
||||
"removefromproduction": "Remove from Production",
|
||||
"schedule": "Schedule",
|
||||
"sendcsi": "Send CSI",
|
||||
"sendpartspricechange": "",
|
||||
"sendtodms": "Send to DMS",
|
||||
"sync": "Sync",
|
||||
"uninvoice": "Uninvoice",
|
||||
@@ -1303,6 +1305,7 @@
|
||||
"nojobselected": "No job is selected.",
|
||||
"noowner": "No owner associated.",
|
||||
"novehicle": "No vehicle associated.",
|
||||
"partspricechange": "",
|
||||
"saving": "Error encountered while saving record.",
|
||||
"scanimport": "Error importing job. {{message}}",
|
||||
"totalscalc": "Error while calculating new job totals.",
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
},
|
||||
"email": "",
|
||||
"enforce_class": "",
|
||||
"enforce_conversion_category": "",
|
||||
"enforce_conversion_csr": "",
|
||||
"enforce_referral": "",
|
||||
"federal_tax_id": "",
|
||||
@@ -1280,6 +1281,7 @@
|
||||
"removefromproduction": "",
|
||||
"schedule": "Programar",
|
||||
"sendcsi": "",
|
||||
"sendpartspricechange": "",
|
||||
"sendtodms": "",
|
||||
"sync": "",
|
||||
"uninvoice": "",
|
||||
@@ -1303,6 +1305,7 @@
|
||||
"nojobselected": "No hay trabajo seleccionado.",
|
||||
"noowner": "Ningún propietario asociado.",
|
||||
"novehicle": "No hay vehículo asociado.",
|
||||
"partspricechange": "",
|
||||
"saving": "Se encontró un error al guardar el registro.",
|
||||
"scanimport": "",
|
||||
"totalscalc": "",
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
},
|
||||
"email": "",
|
||||
"enforce_class": "",
|
||||
"enforce_conversion_category": "",
|
||||
"enforce_conversion_csr": "",
|
||||
"enforce_referral": "",
|
||||
"federal_tax_id": "",
|
||||
@@ -1280,6 +1281,7 @@
|
||||
"removefromproduction": "",
|
||||
"schedule": "Programme",
|
||||
"sendcsi": "",
|
||||
"sendpartspricechange": "",
|
||||
"sendtodms": "",
|
||||
"sync": "",
|
||||
"uninvoice": "",
|
||||
@@ -1303,6 +1305,7 @@
|
||||
"nojobselected": "Aucun travail n'est sélectionné.",
|
||||
"noowner": "Aucun propriétaire associé.",
|
||||
"novehicle": "Aucun véhicule associé.",
|
||||
"partspricechange": "",
|
||||
"saving": "Erreur rencontrée lors de la sauvegarde de l'enregistrement.",
|
||||
"scanimport": "",
|
||||
"totalscalc": "",
|
||||
|
||||
Reference in New Issue
Block a user