Merged in release/2023-02-10 (pull request #675)

Release/2023 02 10
This commit is contained in:
Patrick Fic
2023-02-10 23:34:55 +00:00
13 changed files with 77 additions and 8 deletions

View File

@@ -22,9 +22,20 @@ export function JoblinePresetButton({ bodyshop, form }) {
}; };
const menu = ( const menu = (
<Menu> <Menu
style={{
columnCount: Math.max(
Math.floor(bodyshop.md_jobline_presets.length / 15),
1
),
}}
>
{bodyshop.md_jobline_presets.map((i, idx) => ( {bodyshop.md_jobline_presets.map((i, idx) => (
<Menu.Item onClick={() => handleSelect(i)} key={idx}> <Menu.Item
onClick={() => handleSelect(i)}
key={idx}
style={{ breakInside: "avoid" }}
>
{i.label} {i.label}
</Menu.Item> </Menu.Item>
))} ))}

View File

@@ -34,7 +34,9 @@ function OwnerDetailJobsComponent({ bodyshop, owner }) {
render: (text, record) => render: (text, record) =>
record.vehicleid ? ( record.vehicleid ? (
<Link to={`/manage/vehicles/${record.vehicleid}`}> <Link to={`/manage/vehicles/${record.vehicleid}`}>
{`${record.v_model_yr} ${record.v_make_desc} ${record.v_model_desc}`} {`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${
record.v_model_desc || ""
}`.trim()}
</Link> </Link>
) : ( ) : (
t("jobs.errors.novehicle") t("jobs.errors.novehicle")

View File

@@ -39,9 +39,11 @@ export function VehicleDetailContainer({
document.title = t("titles.vehicledetail", { document.title = t("titles.vehicledetail", {
vehicle: vehicle:
data && data.vehicles_by_pk data && data.vehicles_by_pk
? `${data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr} ${ ? `${(data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr) || ""} ${
data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc (data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc) || ""
} ${data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc}` } ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc) || ""
}`
: "", : "",
}); });
setSelectedHeader("vehicles"); setSelectedHeader("vehicles");
@@ -53,7 +55,14 @@ export function VehicleDetailContainer({
label: t("titles.bc.vehicle-details", { label: t("titles.bc.vehicle-details", {
vehicle: vehicle:
data && data.vehicles_by_pk data && data.vehicles_by_pk
? `${data.vehicles_by_pk.v_model_yr} ${data.vehicles_by_pk.v_make_desc} ${data.vehicles_by_pk.v_model_desc}` ? `${
(data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr) || ""
} ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc) || ""
} ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc) ||
""
}`
: "", : "",
}), }),
}, },
@@ -64,7 +73,11 @@ export function VehicleDetailContainer({
CreateRecentItem( CreateRecentItem(
vehId, vehId,
"vehicle", "vehicle",
`${data.vehicles_by_pk.v_vin} | ${data.vehicles_by_pk.v_model_yr} ${data.vehicles_by_pk.v_make_desc} ${data.vehicles_by_pk.v_model_desc}`, `${data.vehicles_by_pk.v_vin || "N/A"} | ${
data.vehicles_by_pk.v_model_yr || ""
} ${data.vehicles_by_pk.v_make_desc || ""} ${
data.vehicles_by_pk.v_model_desc || ""
}`.trim(),
`/manage/vehicles/${vehId}` `/manage/vehicles/${vehId}`
) )
); );

View File

@@ -2486,6 +2486,8 @@
"production_by_technician": "Production by Technician", "production_by_technician": "Production by Technician",
"production_by_technician_one": "Production filtered by Technician", "production_by_technician_one": "Production filtered by Technician",
"psr_by_make": "Percent of Sales by Vehicle Make", "psr_by_make": "Percent of Sales by Vehicle Make",
"purchase_return_ratio_grouped_by_vendor_detail": "Purchase & Return Ratio by Vendor (Detail)",
"purchase_return_ratio_grouped_by_vendor_summary": "Purchase & Return Ratio by Vendor (Summary)",
"purchases_by_cost_center_detail": "Purchases by Cost Center (Detail)", "purchases_by_cost_center_detail": "Purchases by Cost Center (Detail)",
"purchases_by_cost_center_summary": "Purchases by Cost Center (Summary)", "purchases_by_cost_center_summary": "Purchases by Cost Center (Summary)",
"purchases_by_date_range_detail": "Purchases by Date - Detail", "purchases_by_date_range_detail": "Purchases by Date - Detail",

View File

@@ -2486,6 +2486,8 @@
"production_by_technician": "", "production_by_technician": "",
"production_by_technician_one": "", "production_by_technician_one": "",
"psr_by_make": "", "psr_by_make": "",
"purchase_return_ratio_grouped_by_vendor_detail": "",
"purchase_return_ratio_grouped_by_vendor_summary": "",
"purchases_by_cost_center_detail": "", "purchases_by_cost_center_detail": "",
"purchases_by_cost_center_summary": "", "purchases_by_cost_center_summary": "",
"purchases_by_date_range_detail": "", "purchases_by_date_range_detail": "",

View File

@@ -2486,6 +2486,8 @@
"production_by_technician": "", "production_by_technician": "",
"production_by_technician_one": "", "production_by_technician_one": "",
"psr_by_make": "", "psr_by_make": "",
"purchase_return_ratio_grouped_by_vendor_detail": "",
"purchase_return_ratio_grouped_by_vendor_summary": "",
"purchases_by_cost_center_detail": "", "purchases_by_cost_center_detail": "",
"purchases_by_cost_center_summary": "", "purchases_by_cost_center_summary": "",
"purchases_by_date_range_detail": "", "purchases_by_date_range_detail": "",

View File

@@ -1813,6 +1813,34 @@ export const TemplateList = (type, context) => {
}, },
group: "jobs", group: "jobs",
}, },
purchase_return_ratio_grouped_by_vendor_detail: {
title: i18n.t("reportcenter.templates.purchase_return_ratio_grouped_by_vendor_detail"),
subject: i18n.t(
"reportcenter.templates.purchase_return_ratio_grouped_by_vendor_detail"
),
key: "purchase_return_ratio_grouped_by_vendor_detail",
//idtype: "vendor",
disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.bills"),
field: i18n.t("bills.fields.date"),
},
group: "purchases",
},
purchase_return_ratio_grouped_by_vendor_summary: {
title: i18n.t("reportcenter.templates.purchase_return_ratio_grouped_by_vendor_summary"),
subject: i18n.t(
"reportcenter.templates.purchase_return_ratio_grouped_by_vendor_summary"
),
key: "purchase_return_ratio_grouped_by_vendor_summary",
//idtype: "vendor",
disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.bills"),
field: i18n.t("bills.fields.date"),
},
group: "purchases",
},
} }
: {}), : {}),
...(!type || type === "courtesycarcontract" ...(!type || type === "courtesycarcontract"

View File

@@ -0,0 +1 @@
DROP INDEX IF EXISTS "public"."exportlog_billid";

View File

@@ -0,0 +1,2 @@
CREATE INDEX "exportlog_billid" on
"public"."exportlog" using btree ("billid");

View File

@@ -0,0 +1 @@
DROP INDEX IF EXISTS "public"."exportlog_jobid";

View File

@@ -0,0 +1,2 @@
CREATE INDEX "exportlog_jobid" on
"public"."exportlog" using btree ("jobid");

View File

@@ -0,0 +1 @@
DROP INDEX IF EXISTS "public"."exportlog_payments";

View File

@@ -0,0 +1,2 @@
CREATE INDEX "exportlog_payments" on
"public"."exportlog" using btree ("paymentid");