diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index 1a6bef6df..d45726083 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -29733,6 +29733,27 @@ + + filterson + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + generateasemail false @@ -29775,6 +29796,116 @@ + + objects + + + appointments + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + bills + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + jobs + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + payments + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + timetickets + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + vendor false diff --git a/client/src/components/report-center-modal/report-center-modal.component.jsx b/client/src/components/report-center-modal/report-center-modal.component.jsx index ed819306d..b4e086e7b 100644 --- a/client/src/components/report-center-modal/report-center-modal.component.jsx +++ b/client/src/components/report-center-modal/report-center-modal.component.jsx @@ -102,6 +102,23 @@ export function ReportCenterModalComponent({ reportCenterModal }) { ))} + + {() => { + const key = form.getFieldValue("key"); + if (!key) return null; + //Kind of Id + const rangeFilter = Templates[key] && Templates[key].rangeFilter; + if (!rangeFilter) return null; + return ( +
+ {t("reportcenter.labels.filterson", { + object: rangeFilter.object, + field: rangeFilter.field, + })} +
+ ); + }} +
{() => { const key = form.getFieldValue("key"); diff --git a/client/src/pages/csi/csi.container.page.jsx b/client/src/pages/csi/csi.container.page.jsx index 24fe20e71..eed395016 100644 --- a/client/src/pages/csi/csi.container.page.jsx +++ b/client/src/pages/csi/csi.container.page.jsx @@ -105,7 +105,7 @@ export function CsiContainerPage({ currentUser }) { }} >
- {bodyshop.logo_img_path ? ( + {bodyshop.logo_img_path && bodyshop.logo_img_path.src ? ( Logo ) : null}
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 29ea7f56b..6cd7f8728 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -1792,8 +1792,16 @@ "labels": { "dates": "Dates", "employee": "Employee", + "filterson": "Filters on {{object}}: {{field}}", "generateasemail": "Generate as Email?", "key": "Report", + "objects": { + "appointments": "Appointments", + "bills": "Bills", + "jobs": "Jobs", + "payments": "Payments", + "timetickets": "Timetickets" + }, "vendor": "Vendor" }, "templates": { diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 7aef1dede..8ea654516 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -1792,8 +1792,16 @@ "labels": { "dates": "", "employee": "", + "filterson": "", "generateasemail": "", "key": "", + "objects": { + "appointments": "", + "bills": "", + "jobs": "", + "payments": "", + "timetickets": "" + }, "vendor": "" }, "templates": { diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index cef0a4e98..4a2d41bd0 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -1792,8 +1792,16 @@ "labels": { "dates": "", "employee": "", + "filterson": "", "generateasemail": "", "key": "", + "objects": { + "appointments": "", + "bills": "", + "jobs": "", + "payments": "", + "timetickets": "" + }, "vendor": "" }, "templates": { diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js index 4aa6297a7..9178ec834 100644 --- a/client/src/utils/TemplateConstants.js +++ b/client/src/utils/TemplateConstants.js @@ -339,75 +339,127 @@ export const TemplateList = (type, context) => { ? { payments_by_date_type: { title: i18n.t("reportcenter.templates.payments_by_date_type"), - description: "Est Detail", subject: i18n.t("reportcenter.templates.payments_by_date_type"), key: "payments_by_date_type", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.payments"), + field: i18n.t("payments.fields.date"), + }, }, purchases_by_date_range_detail: { title: i18n.t( "reportcenter.templates.purchases_by_date_range_detail" ), - description: "Est Detail", subject: i18n.t( "reportcenter.templates.purchases_by_date_range_detail" ), key: "purchases_by_date_range_detail", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, }, purchases_by_date_range_summary: { title: i18n.t( "reportcenter.templates.purchases_by_date_range_summary" ), - description: "Est Detail", subject: i18n.t( "reportcenter.templates.purchases_by_date_range_summary" ), key: "purchases_by_date_range_summary", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, }, - schedule: { - title: i18n.t("reportcenter.templates.schedule"), - description: "Est Detail", - subject: i18n.t("reportcenter.templates.schedule"), - key: "schedule", - disabled: false, - }, - purchases_by_vendor_detailed_date_range: { title: i18n.t( "reportcenter.templates.purchases_by_vendor_detailed_date_range" ), - description: "Est Detail", subject: i18n.t( "reportcenter.templates.purchases_by_vendor_detailed_date_range" ), key: "purchases_by_vendor_detailed_date_range", idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, }, purchases_by_vendor_summary_date_range: { title: i18n.t( "reportcenter.templates.purchases_by_vendor_summary_date_range" ), - description: "Est Detail", subject: i18n.t( "reportcenter.templates.purchases_by_vendor_summary_date_range" ), key: "purchases_by_vendor_summary_date_range", idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, }, + purchases_by_cost_center_detail: { + title: i18n.t( + "reportcenter.templates.purchases_by_cost_center_detail" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.purchases_by_cost_center_detail" + ), + key: "purchases_by_cost_center_detail", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, + }, + purchases_by_cost_center_summary: { + title: i18n.t( + "reportcenter.templates.purchases_by_cost_center_summary" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.purchases_by_cost_center_summary" + ), + key: "purchases_by_cost_center_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, + }, + schedule: { + title: i18n.t("reportcenter.templates.schedule"), + subject: i18n.t("reportcenter.templates.schedule"), + key: "schedule", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.appointments"), + field: i18n.t("appointments.fields.time"), + }, + }, + timetickets: { title: i18n.t("reportcenter.templates.timetickets"), - description: "Est Detail", subject: i18n.t("reportcenter.templates.timetickets"), key: "timetickets", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, }, timetickets_employee: { title: i18n.t("reportcenter.templates.timetickets_employee"), - description: "Est Detail", subject: i18n.t("reportcenter.templates.timetickets_employee"), key: "timetickets_employee", idtype: "employee", @@ -416,20 +468,26 @@ export const TemplateList = (type, context) => { attendance_employee: { title: i18n.t("reportcenter.templates.attendance_employee"), - description: "Est Detail", subject: i18n.t("reportcenter.templates.attendance_employee"), key: "attendance_employee", idtype: "employee", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, }, timetickets_summary: { title: i18n.t("reportcenter.templates.timetickets_summary"), - description: "Est Detail", subject: i18n.t("reportcenter.templates.timetickets_summary"), key: "timetickets_summary", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, }, hours_sold_detail_closed: { @@ -439,6 +497,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_detail_closed", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.invoice_date"), + }, }, hours_sold_detail_closed_source: { @@ -452,6 +514,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_detail_closed_source", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.invoice_date"), + }, }, hours_sold_summary_closed: { @@ -461,6 +527,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_summary_closed", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.invoice_date"), + }, }, hours_sold_summary_closed_source: { @@ -474,6 +544,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_summary_closed_source", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.invoice_date"), + }, }, hours_sold_detail_open: { @@ -483,6 +557,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_detail_open", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.open_date"), + }, }, hours_sold_detail_open_source: { @@ -496,6 +574,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_detail_open_source", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.open_date"), + }, }, hours_sold_summary_open: { @@ -505,6 +587,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_summary_open", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.open_date"), + }, }, hours_sold_summary_open_source: { @@ -518,6 +604,10 @@ export const TemplateList = (type, context) => { key: "hours_sold_summary_open_source", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.open_date"), + }, }, estimator_detail: { title: i18n.t("reportcenter.templates.estimator_detail"), @@ -526,6 +616,10 @@ export const TemplateList = (type, context) => { key: "estimator_detail", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, estimator_summary: { title: i18n.t("reportcenter.templates.estimator_summary"), @@ -534,6 +628,10 @@ export const TemplateList = (type, context) => { key: "estimator_summary", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, supplement_ratio_source: { title: i18n.t("reportcenter.templates.supplement_ratio_source"), @@ -542,6 +640,10 @@ export const TemplateList = (type, context) => { key: "supplement_ratio_source", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, credits_not_received_date: { title: i18n.t("reportcenter.templates.credits_not_received_date"), @@ -550,6 +652,10 @@ export const TemplateList = (type, context) => { key: "credits_not_received_date", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, job_costing_ro_date_summary: { title: i18n.t("reportcenter.templates.job_costing_ro_date_summary"), @@ -560,6 +666,10 @@ export const TemplateList = (type, context) => { key: "job_costing_ro_date_summary", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, job_costing_ro_source: { title: i18n.t("reportcenter.templates.job_costing_ro_source"), @@ -568,6 +678,10 @@ export const TemplateList = (type, context) => { key: "job_costing_ro_source", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, job_costing_ro_date_detail: { title: i18n.t("reportcenter.templates.job_costing_ro_date_detail"), @@ -578,6 +692,10 @@ export const TemplateList = (type, context) => { key: "job_costing_ro_date_detail", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, job_costing_estimator: { title: i18n.t("reportcenter.templates.job_costing_estimator"), @@ -586,6 +704,10 @@ export const TemplateList = (type, context) => { key: "job_costing_estimator", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, void_ros: { title: i18n.t("reportcenter.templates.void_ros"), @@ -594,6 +716,10 @@ export const TemplateList = (type, context) => { key: "void_ros", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, }, gsr_by_make: { title: i18n.t("reportcenter.templates.gsr_by_make"), @@ -602,6 +728,10 @@ export const TemplateList = (type, context) => { key: "gsr_by_make", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, gsr_by_estimator: { title: i18n.t("reportcenter.templates.gsr_by_estimator"), @@ -610,6 +740,10 @@ export const TemplateList = (type, context) => { key: "gsr_by_estimator", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, gsr_labor_only: { title: i18n.t("reportcenter.templates.gsr_labor_only"), @@ -618,6 +752,10 @@ export const TemplateList = (type, context) => { key: "gsr_labor_only", //idtype: "vendor", disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, }, open_orders: { title: i18n.t("reportcenter.templates.open_orders"), @@ -626,30 +764,10 @@ export const TemplateList = (type, context) => { key: "open_orders", //idtype: "vendor", disabled: false, - }, - purchases_by_cost_center_detail: { - title: i18n.t( - "reportcenter.templates.purchases_by_cost_center_detail" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.purchases_by_cost_center_detail" - ), - key: "purchases_by_cost_center_detail", - //idtype: "vendor", - disabled: false, - }, - purchases_by_cost_center_summary: { - title: i18n.t( - "reportcenter.templates.purchases_by_cost_center_summary" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.purchases_by_cost_center_summary" - ), - key: "purchases_by_cost_center_summary", - //idtype: "vendor", - disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, }, } : {}),