Compare commits

..

1 Commits

Author SHA1 Message Date
Allan Carr
790ab0447f IO-3322 IntelliPay Refund
Add logging to capture Response from IntelliPay API on success

Signed-off-by: Allan Carr <allan@imexsystems.ca>
2025-08-06 16:30:56 -07:00
2 changed files with 428 additions and 516 deletions

View File

@@ -145,289 +145,244 @@ export function ShopInfoGeneral({ form, bodyshop }) {
</Form.Item> </Form.Item>
</LayoutFormRow> </LayoutFormRow>
<LayoutFormRow header={t("bodyshop.labels.accountingsetup")} id="accountingsetup"> <LayoutFormRow header={t("bodyshop.labels.accountingsetup")} id="accountingsetup">
{[ {HasFeatureAccess({ featureName: "export", bodyshop }) && (
...(HasFeatureAccess({ featureName: "export", bodyshop }) <>
? [ <Form.Item label={t("bodyshop.labels.qbo")} valuePropName="checked" name={["accountingconfig", "qbo"]}>
<Form.Item <Switch />
key="qbo" </Form.Item>
label={t("bodyshop.labels.qbo")} {InstanceRenderManager({
valuePropName="checked" imex: (
name={["accountingconfig", "qbo"]} <Form.Item shouldUpdate noStyle>
> {() => (
<Switch /> <Form.Item
</Form.Item>, label={t("bodyshop.labels.qbo_usa")}
InstanceRenderManager({ shouldUpdate
imex: ( valuePropName="checked"
<Form.Item key="qbo_usa_wrapper" shouldUpdate noStyle> name={["accountingconfig", "qbo_usa"]}
{() => ( >
<Form.Item <Switch disabled={!form.getFieldValue(["accountingconfig", "qbo"])} />
label={t("bodyshop.labels.qbo_usa")}
shouldUpdate
valuePropName="checked"
name={["accountingconfig", "qbo_usa"]}
>
<Switch disabled={!form.getFieldValue(["accountingconfig", "qbo"])} />
</Form.Item>
)}
</Form.Item> </Form.Item>
) )}
}), </Form.Item>
)
})}
<Form.Item label={t("bodyshop.labels.qbo_departmentid")} name={["accountingconfig", "qbo_departmentid"]}>
<Input />
</Form.Item>
<Form.Item
label={t("bodyshop.labels.accountingtiers")}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
name={["accountingconfig", "tiers"]}
>
<Radio.Group>
<Radio value={2}>2</Radio>
<Radio value={3}>3</Radio>
</Radio.Group>
</Form.Item>
<Form.Item shouldUpdate>
{() => {
return (
<Form.Item
label={t("bodyshop.labels.2tiersetup")}
shouldUpdate
rules={[
{
required: form.getFieldValue(["accountingconfig", "tiers"]) === 2
//message: t("general.validation.required"),
}
]}
name={["accountingconfig", "twotierpref"]}
>
<Radio.Group disabled={form.getFieldValue(["accountingconfig", "tiers"]) === 3}>
<Radio value="name">{t("bodyshop.labels.2tiername")}</Radio>
<Radio value="source">{t("bodyshop.labels.2tiersource")}</Radio>
</Radio.Group>
</Form.Item>
);
}}
</Form.Item>
<Form.Item
label={t("bodyshop.labels.printlater")}
valuePropName="checked"
name={["accountingconfig", "printlater"]}
>
<Switch />
</Form.Item>
<Form.Item
label={t("bodyshop.labels.emaillater")}
valuePropName="checked"
name={["accountingconfig", "emaillater"]}
>
<Switch />
</Form.Item>
</>
)}
<Form.Item
label={t("bodyshop.fields.inhousevendorid")}
name={"inhousevendorid"}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
<Input />
</Form.Item>
<Form.Item
label={t("bodyshop.fields.default_adjustment_rate")}
name={"default_adjustment_rate"}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
<InputNumber min={0} precision={2} />
</Form.Item>
{InstanceRenderManager({
imex: (
<Form.Item label={t("bodyshop.fields.federal_tax_id")} name="federal_tax_id">
<Input />
</Form.Item>
)
})}
<Form.Item label={t("bodyshop.fields.state_tax_id")} name="state_tax_id">
<Input />
</Form.Item>
{HasFeatureAccess({ featureName: "bills", bodyshop }) && (
<>
{InstanceRenderManager({
imex: (
<Form.Item <Form.Item
key="qbo_departmentid" label={t("bodyshop.fields.invoice_federal_tax_rate")}
label={t("bodyshop.labels.qbo_departmentid")} name={["bill_tax_rates", "federal_tax_rate"]}
name={["accountingconfig", "qbo_departmentid"]}
>
<Input />
</Form.Item>,
<Form.Item
key="accountingtiers"
label={t("bodyshop.labels.accountingtiers")}
rules={[ rules={[
{ {
required: true required: true
//message: t("general.validation.required"), //message: t("general.validation.required"),
} }
]} ]}
name={["accountingconfig", "tiers"]}
> >
<Radio.Group> <InputNumber />
<Radio value={2}>2</Radio>
<Radio value={3}>3</Radio>
</Radio.Group>
</Form.Item>,
<Form.Item key="twotierpref_wrapper" shouldUpdate>
{() => {
return (
<Form.Item
label={t("bodyshop.labels.2tiersetup")}
shouldUpdate
rules={[
{
required: form.getFieldValue(["accountingconfig", "tiers"]) === 2
//message: t("general.validation.required"),
}
]}
name={["accountingconfig", "twotierpref"]}
>
<Radio.Group disabled={form.getFieldValue(["accountingconfig", "tiers"]) === 3}>
<Radio value="name">{t("bodyshop.labels.2tiername")}</Radio>
<Radio value="source">{t("bodyshop.labels.2tiersource")}</Radio>
</Radio.Group>
</Form.Item>
);
}}
</Form.Item>,
<Form.Item
key="printlater"
label={t("bodyshop.labels.printlater")}
valuePropName="checked"
name={["accountingconfig", "printlater"]}
>
<Switch />
</Form.Item>,
<Form.Item
key="emaillater"
label={t("bodyshop.labels.emaillater")}
valuePropName="checked"
name={["accountingconfig", "emaillater"]}
>
<Switch />
</Form.Item> </Form.Item>
] )
: []), })}
<Form.Item <Form.Item
key="inhousevendorid" label={t("bodyshop.fields.invoice_state_tax_rate")}
label={t("bodyshop.fields.inhousevendorid")} name={["bill_tax_rates", "state_tax_rate"]}
name={"inhousevendorid"} rules={[
rules={[ {
{ required: true
required: true //message: t("general.validation.required"),
//message: t("general.validation.required"), }
} ]}
]} >
> <InputNumber />
<Input /> </Form.Item>
</Form.Item>, <Form.Item
<Form.Item label={t("bodyshop.fields.invoice_local_tax_rate")}
key="default_adjustment_rate" name={["bill_tax_rates", "local_tax_rate"]}
label={t("bodyshop.fields.default_adjustment_rate")} rules={[
name={"default_adjustment_rate"} {
rules={[ required: true
{ //message: t("general.validation.required"),
required: true }
//message: t("general.validation.required"), ]}
} >
]} <InputNumber />
> </Form.Item>
<InputNumber min={0} precision={2} /> </>
</Form.Item>, )}
InstanceRenderManager({ <Form.Item
imex: ( name={["md_payment_types"]}
<Form.Item key="federal_tax_id" label={t("bodyshop.fields.federal_tax_id")} name="federal_tax_id"> label={t("bodyshop.fields.md_payment_types")}
rules={[
{
required: true,
//message: t("general.validation.required"),
type: "array"
}
]}
>
<Select mode="tags" />
</Form.Item>
<Form.Item
name={["md_categories"]}
label={t("bodyshop.fields.md_categories")}
rules={[
{
//message: t("general.validation.required"),
type: "array"
}
]}
>
<Select mode="tags" />
</Form.Item>
{HasFeatureAccess({ featureName: "export", bodyshop }) && (
<>
<Form.Item
name={["accountingconfig", "ReceivableCustomField1"]}
label={t("bodyshop.fields.ReceivableCustomField", { number: 1 })}
>
{ReceivableCustomFieldSelect}
</Form.Item>
<Form.Item
name={["accountingconfig", "ReceivableCustomField2"]}
label={t("bodyshop.fields.ReceivableCustomField", { number: 2 })}
>
{ReceivableCustomFieldSelect}
</Form.Item>
<Form.Item
name={["accountingconfig", "ReceivableCustomField3"]}
label={t("bodyshop.fields.ReceivableCustomField", { number: 3 })}
>
{ReceivableCustomFieldSelect}
</Form.Item>
<Form.Item
name={["md_classes"]}
label={t("bodyshop.fields.md_classes")}
rules={[
({ getFieldValue }) => {
return {
required: getFieldValue("enforce_class"),
//message: t("general.validation.required"),
type: "array"
};
}
]}
>
<Select mode="tags" />
</Form.Item>
<Form.Item name={["enforce_class"]} label={t("bodyshop.fields.enforce_class")} valuePropName="checked">
<Switch />
</Form.Item>
{ClosingPeriod.treatment === "on" && (
<Form.Item
name={["accountingconfig", "ClosingPeriod"]}
label={t("bodyshop.fields.closingperiod")} //{t("reportcenter.labels.dates")}
>
<DatePicker.RangePicker format="MM/DD/YYYY" presets={DatePickerRanges} />
</Form.Item>
)}
{ADPPayroll.treatment === "on" && (
<Form.Item name={["accountingconfig", "companyCode"]} label={t("bodyshop.fields.companycode")}>
<Input /> <Input />
</Form.Item> </Form.Item>
) )}
}), {ADPPayroll.treatment === "on" && (
<Form.Item key="state_tax_id" label={t("bodyshop.fields.state_tax_id")} name="state_tax_id"> <Form.Item name={["accountingconfig", "batchID"]} label={t("bodyshop.fields.batchid")}>
<Input /> <Input />
</Form.Item>, </Form.Item>
...(HasFeatureAccess({ featureName: "bills", bodyshop }) )}
? [ </>
InstanceRenderManager({ )}
imex: (
<Form.Item
key="invoice_federal_tax_rate"
label={t("bodyshop.fields.invoice_federal_tax_rate")}
name={["bill_tax_rates", "federal_tax_rate"]}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
<InputNumber />
</Form.Item>
)
}),
<Form.Item
key="invoice_state_tax_rate"
label={t("bodyshop.fields.invoice_state_tax_rate")}
name={["bill_tax_rates", "state_tax_rate"]}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
<InputNumber />
</Form.Item>,
<Form.Item
key="invoice_local_tax_rate"
label={t("bodyshop.fields.invoice_local_tax_rate")}
name={["bill_tax_rates", "local_tax_rate"]}
rules={[
{
required: true
//message: t("general.validation.required"),
}
]}
>
<InputNumber />
</Form.Item>
]
: []),
<Form.Item
key="md_payment_types"
name={["md_payment_types"]}
label={t("bodyshop.fields.md_payment_types")}
rules={[
{
required: true,
//message: t("general.validation.required"),
type: "array"
}
]}
>
<Select mode="tags" />
</Form.Item>,
<Form.Item
key="md_categories"
name={["md_categories"]}
label={t("bodyshop.fields.md_categories")}
rules={[
{
//message: t("general.validation.required"),
type: "array"
}
]}
>
<Select mode="tags" />
</Form.Item>,
...(HasFeatureAccess({ featureName: "export", bodyshop })
? [
<Form.Item
key="ReceivableCustomField1"
name={["accountingconfig", "ReceivableCustomField1"]}
label={t("bodyshop.fields.ReceivableCustomField", { number: 1 })}
>
{ReceivableCustomFieldSelect}
</Form.Item>,
<Form.Item
key="ReceivableCustomField2"
name={["accountingconfig", "ReceivableCustomField2"]}
label={t("bodyshop.fields.ReceivableCustomField", { number: 2 })}
>
{ReceivableCustomFieldSelect}
</Form.Item>,
<Form.Item
key="ReceivableCustomField3"
name={["accountingconfig", "ReceivableCustomField3"]}
label={t("bodyshop.fields.ReceivableCustomField", { number: 3 })}
>
{ReceivableCustomFieldSelect}
</Form.Item>,
<Form.Item
key="md_classes"
name={["md_classes"]}
label={t("bodyshop.fields.md_classes")}
rules={[
({ getFieldValue }) => {
return {
required: getFieldValue("enforce_class"),
//message: t("general.validation.required"),
type: "array"
};
}
]}
>
<Select mode="tags" />
</Form.Item>,
<Form.Item
key="enforce_class"
name={["enforce_class"]}
label={t("bodyshop.fields.enforce_class")}
valuePropName="checked"
>
<Switch />
</Form.Item>,
...(ClosingPeriod.treatment === "on"
? [
<Form.Item
key="ClosingPeriod"
name={["accountingconfig", "ClosingPeriod"]}
label={t("bodyshop.fields.closingperiod")} //{t("reportcenter.labels.dates")}
>
<DatePicker.RangePicker format="MM/DD/YYYY" presets={DatePickerRanges} />
</Form.Item>
]
: []),
...(ADPPayroll.treatment === "on"
? [
<Form.Item
key="companyCode"
name={["accountingconfig", "companyCode"]}
label={t("bodyshop.fields.companycode")}
>
<Input />
</Form.Item>
]
: []),
...(ADPPayroll.treatment === "on"
? [
<Form.Item
key="batchID"
name={["accountingconfig", "batchID"]}
label={t("bodyshop.fields.batchid")}
>
<Input />
</Form.Item>
]
: [])
]
: [])
]}
</LayoutFormRow> </LayoutFormRow>
<FeatureWrapper featureName="scoreboard" noauth={() => null}> <FeatureWrapper featureName="scoreboard" noauth={() => null}>
<LayoutFormRow header={t("bodyshop.labels.scoreboardsetup")} id="scoreboardsetup"> <LayoutFormRow header={t("bodyshop.labels.scoreboardsetup")} id="scoreboardsetup">
@@ -491,255 +446,211 @@ export function ShopInfoGeneral({ form, bodyshop }) {
</LayoutFormRow> </LayoutFormRow>
</FeatureWrapper> </FeatureWrapper>
<LayoutFormRow header={t("bodyshop.labels.systemsettings")} id="systemsettings"> <LayoutFormRow header={t("bodyshop.labels.systemsettings")} id="systemsettings">
{[ <Form.Item
<Form.Item name={["md_referral_sources"]}
key="md_referral_sources" label={t("bodyshop.fields.md_referral_sources")}
name={["md_referral_sources"]} rules={[
label={t("bodyshop.fields.md_referral_sources")} {
rules={[ required: true,
{ //message: t("general.validation.required"),
required: true, type: "array"
//message: t("general.validation.required"), }
type: "array" ]}
} >
]} <Select mode="tags" />
> </Form.Item>
<Select mode="tags" /> <Form.Item name={["enforce_referral"]} label={t("bodyshop.fields.enforce_referral")} valuePropName="checked">
</Form.Item>, <Switch />
<Form.Item </Form.Item>
key="enforce_referral" <Form.Item
name={["enforce_referral"]} name={["enforce_conversion_csr"]}
label={t("bodyshop.fields.enforce_referral")} label={t("bodyshop.fields.enforce_conversion_csr")}
valuePropName="checked" valuePropName="checked"
> >
<Switch /> <Switch />
</Form.Item>, </Form.Item>
<Form.Item <Form.Item
key="enforce_conversion_csr" name={["enforce_conversion_category"]}
name={["enforce_conversion_csr"]} label={t("bodyshop.fields.enforce_conversion_category")}
label={t("bodyshop.fields.enforce_conversion_csr")} valuePropName="checked"
valuePropName="checked" >
> <Switch />
<Switch /> </Form.Item>
</Form.Item>, <Form.Item
<Form.Item name={["target_touchtime"]}
key="enforce_conversion_category" label={t("bodyshop.fields.target_touchtime")}
name={["enforce_conversion_category"]} rules={[
label={t("bodyshop.fields.enforce_conversion_category")} {
valuePropName="checked" required: true
> //message: t("general.validation.required"),
<Switch /> }
</Form.Item>, ]}
<Form.Item >
key="target_touchtime" <InputNumber min={0.1} precision={1} />
name={["target_touchtime"]} </Form.Item>
label={t("bodyshop.fields.target_touchtime")} <Form.Item label={t("bodyshop.fields.use_fippa")} name={["use_fippa"]} valuePropName="checked">
rules={[ <Switch />
{ </Form.Item>
required: true <Form.Item
//message: t("general.validation.required"), label={t("bodyshop.fields.md_hour_split.prep")}
} name={["md_hour_split", "prep"]}
]} dependencies={[["md_hour_split", "paint"]]}
> rules={[
<InputNumber min={0.1} precision={1} /> ({ getFieldValue }) => ({
</Form.Item>, validator(rule, value) {
<Form.Item key="use_fippa" label={t("bodyshop.fields.use_fippa")} name={["use_fippa"]} valuePropName="checked"> if (!value && !getFieldValue(["md_hour_split", "paint"])) {
<Switch /> return Promise.resolve();
</Form.Item>,
<Form.Item
key="md_hour_split_prep"
label={t("bodyshop.fields.md_hour_split.prep")}
name={["md_hour_split", "prep"]}
dependencies={[["md_hour_split", "paint"]]}
rules={[
({ getFieldValue }) => ({
validator(rule, value) {
if (!value && !getFieldValue(["md_hour_split", "paint"])) {
return Promise.resolve();
}
if (value + getFieldValue(["md_hour_split", "paint"]) === 1) {
return Promise.resolve();
}
return Promise.reject(t("bodyshop.validation.larsplit"));
} }
}) if (value + getFieldValue(["md_hour_split", "paint"]) === 1) {
]} return Promise.resolve();
>
<InputNumber min={0} max={1} precision={2} />
</Form.Item>,
<Form.Item
key="md_hour_split_paint"
label={t("bodyshop.fields.md_hour_split.paint")}
name={["md_hour_split", "paint"]}
dependencies={[["md_hour_split", "prep"]]}
rules={[
({ getFieldValue }) => ({
validator(rule, value) {
if (!value && !getFieldValue(["md_hour_split", "paint"])) {
return Promise.resolve();
}
if (value + getFieldValue(["md_hour_split", "prep"]) === 1) {
return Promise.resolve();
}
return Promise.reject(t("bodyshop.validation.larsplit"));
} }
}) return Promise.reject(t("bodyshop.validation.larsplit"));
]}
>
<InputNumber min={0} max={1} precision={2} />
</Form.Item>,
<Form.Item
key="jc_hourly_rates_mapa"
label={t("bodyshop.fields.jc_hourly_rates.mapa")}
name={["jc_hourly_rates", "mapa"]}
>
<CurrencyInput />
</Form.Item>,
<Form.Item
key="jc_hourly_rates_mash"
label={t("bodyshop.fields.jc_hourly_rates.mash")}
name={["jc_hourly_rates", "mash"]}
>
<CurrencyInput />
</Form.Item>,
<Form.Item
key="use_paint_scale_data"
name={["use_paint_scale_data"]}
label={t("bodyshop.fields.use_paint_scale_data")}
valuePropName="checked"
>
<Switch />
</Form.Item>,
<Form.Item
key="attach_pdf_to_email"
name={["attach_pdf_to_email"]}
label={t("bodyshop.fields.attach_pdf_to_email")}
valuePropName="checked"
>
<Switch />
</Form.Item>,
<Form.Item
key="md_from_emails"
name={["md_from_emails"]}
label={t("bodyshop.fields.md_from_emails")}
// rules={[
// {
// //message: t("general.validation.required"),
// type: "array",
// },
// ]}
>
<Select mode="tags" />
</Form.Item>,
<Form.Item
key="md_email_cc_parts_order"
name={["md_email_cc", "parts_order"]}
label={t("bodyshop.fields.md_email_cc", { template: "parts_orders" })}
rules={[
{
//message: t("general.validation.required"),
type: "array"
} }
]} })
> ]}
<Select mode="tags" /> >
</Form.Item>, <InputNumber min={0} max={1} precision={2} />
<Form.Item </Form.Item>
key="md_email_cc_parts_return_slip" <Form.Item
name={["md_email_cc", "parts_return_slip"]} label={t("bodyshop.fields.md_hour_split.paint")}
label={t("bodyshop.fields.md_email_cc", { template: "parts_returns" })} name={["md_hour_split", "paint"]}
rules={[ dependencies={[["md_hour_split", "prep"]]}
{ rules={[
//message: t("general.validation.required"), ({ getFieldValue }) => ({
type: "array" validator(rule, value) {
if (!value && !getFieldValue(["md_hour_split", "paint"])) {
return Promise.resolve();
}
if (value + getFieldValue(["md_hour_split", "prep"]) === 1) {
return Promise.resolve();
}
return Promise.reject(t("bodyshop.validation.larsplit"));
} }
]} })
> ]}
<Select mode="tags" /> >
</Form.Item>, <InputNumber min={0} max={1} precision={2} />
...(HasFeatureAccess({ featureName: "timetickets", bodyshop }) </Form.Item>
? [ <Form.Item label={t("bodyshop.fields.jc_hourly_rates.mapa")} name={["jc_hourly_rates", "mapa"]}>
<Form.Item <CurrencyInput />
key="tt_allow_post_to_invoiced" </Form.Item>
name={["tt_allow_post_to_invoiced"]} <Form.Item label={t("bodyshop.fields.jc_hourly_rates.mash")} name={["jc_hourly_rates", "mash"]}>
label={t("bodyshop.fields.tt_allow_post_to_invoiced")} <CurrencyInput />
valuePropName="checked" </Form.Item>
> <Form.Item
<Switch /> name={["use_paint_scale_data"]}
</Form.Item>, label={t("bodyshop.fields.use_paint_scale_data")}
<Form.Item valuePropName="checked"
key="tt_enforce_hours_for_tech_console" >
name={["tt_enforce_hours_for_tech_console"]} <Switch />
label={t("bodyshop.fields.tt_enforce_hours_for_tech_console")} </Form.Item>
valuePropName="checked" <Form.Item
> name={["attach_pdf_to_email"]}
<Switch /> label={t("bodyshop.fields.attach_pdf_to_email")}
</Form.Item>, valuePropName="checked"
<Form.Item >
key="bill_allow_post_to_closed" <Switch />
name={["bill_allow_post_to_closed"]} </Form.Item>
label={t("bodyshop.fields.bill_allow_post_to_closed")} <Form.Item
valuePropName="checked" name={["md_from_emails"]}
> label={t("bodyshop.fields.md_from_emails")}
<Switch /> // rules={[
</Form.Item> // {
] // //message: t("general.validation.required"),
: []), // type: "array",
<Form.Item // },
key="md_ded_notes" // ]}
name={["md_ded_notes"]} >
label={t("bodyshop.fields.md_ded_notes")} <Select mode="tags" />
rules={[ </Form.Item>
{ <Form.Item
//message: t("general.validation.required"), name={["md_email_cc", "parts_order"]}
type: "array" label={t("bodyshop.fields.md_email_cc", { template: "parts_orders" })}
} rules={[
]} {
> //message: t("general.validation.required"),
<Select mode="tags" /> type: "array"
</Form.Item>, }
<Form.Item ]}
key="parts_queue_toggle" >
label={t("bodyshop.fields.md_functionality_toggles.parts_queue_toggle")} <Select mode="tags" />
name={["md_functionality_toggles", "parts_queue_toggle"]} </Form.Item>
valuePropName="checked" <Form.Item
> name={["md_email_cc", "parts_return_slip"]}
<Switch /> label={t("bodyshop.fields.md_email_cc", { template: "parts_returns" })}
</Form.Item>, rules={[
<Form.Item {
key="last_name_first" //message: t("general.validation.required"),
name={["last_name_first"]} type: "array"
label={t("bodyshop.fields.last_name_first")} }
valuePropName="checked" ]}
> >
<Switch /> <Select mode="tags" />
</Form.Item>, </Form.Item>
<Form.Item
key="uselocalmediaserver" {HasFeatureAccess({ featureName: "timetickets", bodyshop }) && (
name={["uselocalmediaserver"]} <>
label={t("bodyshop.fields.uselocalmediaserver")} <Form.Item
valuePropName="checked" name={["tt_allow_post_to_invoiced"]}
> label={t("bodyshop.fields.tt_allow_post_to_invoiced")}
<Switch /> valuePropName="checked"
</Form.Item>, >
<Form.Item <Switch />
key="localmediaserverhttp" </Form.Item>
name={["localmediaserverhttp"]} <Form.Item
label={t("bodyshop.fields.localmediaserverhttp")} name={["tt_enforce_hours_for_tech_console"]}
> label={t("bodyshop.fields.tt_enforce_hours_for_tech_console")}
<Input /> valuePropName="checked"
</Form.Item>, >
<Form.Item <Switch />
key="localmediaservernetwork" </Form.Item>
name={["localmediaservernetwork"]} <Form.Item
label={t("bodyshop.fields.localmediaservernetwork")} name={["bill_allow_post_to_closed"]}
> label={t("bodyshop.fields.bill_allow_post_to_closed")}
<Input /> valuePropName="checked"
</Form.Item>, >
<Form.Item key="localmediatoken" name={["localmediatoken"]} label={t("bodyshop.fields.localmediatoken")}> <Switch />
<Input /> </Form.Item>
</Form.Item> </>
]} )}
<Form.Item
name={["md_ded_notes"]}
label={t("bodyshop.fields.md_ded_notes")}
rules={[
{
//message: t("general.validation.required"),
type: "array"
}
]}
>
<Select mode="tags" />
</Form.Item>
<Form.Item
label={t("bodyshop.fields.md_functionality_toggles.parts_queue_toggle")}
name={["md_functionality_toggles", "parts_queue_toggle"]}
valuePropName="checked"
>
<Switch />
</Form.Item>
<Form.Item name={["last_name_first"]} label={t("bodyshop.fields.last_name_first")} valuePropName="checked">
<Switch />
</Form.Item>
<Form.Item
name={["uselocalmediaserver"]}
label={t("bodyshop.fields.uselocalmediaserver")}
valuePropName="checked"
>
<Switch />
</Form.Item>
<Form.Item name={["localmediaserverhttp"]} label={t("bodyshop.fields.localmediaserverhttp")}>
<Input />
</Form.Item>
<Form.Item name={["localmediaservernetwork"]} label={t("bodyshop.fields.localmediaservernetwork")}>
<Input />
</Form.Item>
<Form.Item name={["localmediatoken"]} label={t("bodyshop.fields.localmediatoken")}>
<Input />
</Form.Item>
</LayoutFormRow> </LayoutFormRow>
<LayoutFormRow header={t("bodyshop.labels.shop_enabled_features")} id="sharing"> <LayoutFormRow header={t("bodyshop.labels.shop_enabled_features")} id="sharing">
<Form.Item <Form.Item

View File

@@ -144,6 +144,7 @@ const paymentRefund = async (req, res) => {
logger.log("intellipay-refund-success", "DEBUG", req.user?.email, null, { logger.log("intellipay-refund-success", "DEBUG", req.user?.email, null, {
requestOptions: options, requestOptions: options,
response: response?.data,
...logResponseMeta ...logResponseMeta
}); });