IO-941 Add Date Definitions

This commit is contained in:
Patrick Fic
2021-04-28 12:30:04 -07:00
parent 2bda63601a
commit 9c1996a557
7 changed files with 332 additions and 42 deletions

View File

@@ -29733,6 +29733,27 @@
</translation> </translation>
</translations> </translations>
</concept_node> </concept_node>
<concept_node>
<name>filterson</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>generateasemail</name> <name>generateasemail</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>
@@ -29775,6 +29796,116 @@
</translation> </translation>
</translations> </translations>
</concept_node> </concept_node>
<folder_node>
<name>objects</name>
<children>
<concept_node>
<name>appointments</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>
<name>bills</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>
<name>jobs</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>
<name>payments</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>
<name>timetickets</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>
</children>
</folder_node>
<concept_node> <concept_node>
<name>vendor</name> <name>vendor</name>
<definition_loaded>false</definition_loaded> <definition_loaded>false</definition_loaded>

View File

@@ -102,6 +102,23 @@ export function ReportCenterModalComponent({ reportCenterModal }) {
))} ))}
</Select> </Select>
</Form.Item> </Form.Item>
<Form.Item dependencies={["key"]}>
{() => {
const key = form.getFieldValue("key");
if (!key) return null;
//Kind of Id
const rangeFilter = Templates[key] && Templates[key].rangeFilter;
if (!rangeFilter) return null;
return (
<div>
{t("reportcenter.labels.filterson", {
object: rangeFilter.object,
field: rangeFilter.field,
})}
</div>
);
}}
</Form.Item>
<Form.Item dependencies={["key"]}> <Form.Item dependencies={["key"]}>
{() => { {() => {
const key = form.getFieldValue("key"); const key = form.getFieldValue("key");

View File

@@ -105,7 +105,7 @@ export function CsiContainerPage({ currentUser }) {
}} }}
> >
<div style={{ display: "flex", alignItems: "center", margin: "2em" }}> <div style={{ display: "flex", alignItems: "center", margin: "2em" }}>
{bodyshop.logo_img_path ? ( {bodyshop.logo_img_path && bodyshop.logo_img_path.src ? (
<img src={bodyshop.logo_img_path.src} alt="Logo" /> <img src={bodyshop.logo_img_path.src} alt="Logo" />
) : null} ) : null}
<div style={{ margin: "2em" }}> <div style={{ margin: "2em" }}>

View File

@@ -1792,8 +1792,16 @@
"labels": { "labels": {
"dates": "Dates", "dates": "Dates",
"employee": "Employee", "employee": "Employee",
"filterson": "Filters on {{object}}: {{field}}",
"generateasemail": "Generate as Email?", "generateasemail": "Generate as Email?",
"key": "Report", "key": "Report",
"objects": {
"appointments": "Appointments",
"bills": "Bills",
"jobs": "Jobs",
"payments": "Payments",
"timetickets": "Timetickets"
},
"vendor": "Vendor" "vendor": "Vendor"
}, },
"templates": { "templates": {

View File

@@ -1792,8 +1792,16 @@
"labels": { "labels": {
"dates": "", "dates": "",
"employee": "", "employee": "",
"filterson": "",
"generateasemail": "", "generateasemail": "",
"key": "", "key": "",
"objects": {
"appointments": "",
"bills": "",
"jobs": "",
"payments": "",
"timetickets": ""
},
"vendor": "" "vendor": ""
}, },
"templates": { "templates": {

View File

@@ -1792,8 +1792,16 @@
"labels": { "labels": {
"dates": "", "dates": "",
"employee": "", "employee": "",
"filterson": "",
"generateasemail": "", "generateasemail": "",
"key": "", "key": "",
"objects": {
"appointments": "",
"bills": "",
"jobs": "",
"payments": "",
"timetickets": ""
},
"vendor": "" "vendor": ""
}, },
"templates": { "templates": {

View File

@@ -339,75 +339,127 @@ export const TemplateList = (type, context) => {
? { ? {
payments_by_date_type: { payments_by_date_type: {
title: i18n.t("reportcenter.templates.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"), subject: i18n.t("reportcenter.templates.payments_by_date_type"),
key: "payments_by_date_type", key: "payments_by_date_type",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.payments"),
field: i18n.t("payments.fields.date"),
},
}, },
purchases_by_date_range_detail: { purchases_by_date_range_detail: {
title: i18n.t( title: i18n.t(
"reportcenter.templates.purchases_by_date_range_detail" "reportcenter.templates.purchases_by_date_range_detail"
), ),
description: "Est Detail",
subject: i18n.t( subject: i18n.t(
"reportcenter.templates.purchases_by_date_range_detail" "reportcenter.templates.purchases_by_date_range_detail"
), ),
key: "purchases_by_date_range_detail", key: "purchases_by_date_range_detail",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.bills"),
field: i18n.t("bills.fields.date"),
},
}, },
purchases_by_date_range_summary: { purchases_by_date_range_summary: {
title: i18n.t( title: i18n.t(
"reportcenter.templates.purchases_by_date_range_summary" "reportcenter.templates.purchases_by_date_range_summary"
), ),
description: "Est Detail",
subject: i18n.t( subject: i18n.t(
"reportcenter.templates.purchases_by_date_range_summary" "reportcenter.templates.purchases_by_date_range_summary"
), ),
key: "purchases_by_date_range_summary", key: "purchases_by_date_range_summary",
disabled: false, 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: { purchases_by_vendor_detailed_date_range: {
title: i18n.t( title: i18n.t(
"reportcenter.templates.purchases_by_vendor_detailed_date_range" "reportcenter.templates.purchases_by_vendor_detailed_date_range"
), ),
description: "Est Detail",
subject: i18n.t( subject: i18n.t(
"reportcenter.templates.purchases_by_vendor_detailed_date_range" "reportcenter.templates.purchases_by_vendor_detailed_date_range"
), ),
key: "purchases_by_vendor_detailed_date_range", key: "purchases_by_vendor_detailed_date_range",
idtype: "vendor", idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.bills"),
field: i18n.t("bills.fields.date"),
},
}, },
purchases_by_vendor_summary_date_range: { purchases_by_vendor_summary_date_range: {
title: i18n.t( title: i18n.t(
"reportcenter.templates.purchases_by_vendor_summary_date_range" "reportcenter.templates.purchases_by_vendor_summary_date_range"
), ),
description: "Est Detail",
subject: i18n.t( subject: i18n.t(
"reportcenter.templates.purchases_by_vendor_summary_date_range" "reportcenter.templates.purchases_by_vendor_summary_date_range"
), ),
key: "purchases_by_vendor_summary_date_range", key: "purchases_by_vendor_summary_date_range",
idtype: "vendor", idtype: "vendor",
disabled: false, 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: { timetickets: {
title: i18n.t("reportcenter.templates.timetickets"), title: i18n.t("reportcenter.templates.timetickets"),
description: "Est Detail",
subject: i18n.t("reportcenter.templates.timetickets"), subject: i18n.t("reportcenter.templates.timetickets"),
key: "timetickets", key: "timetickets",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.timetickets"),
field: i18n.t("timetickets.fields.date"),
},
}, },
timetickets_employee: { timetickets_employee: {
title: i18n.t("reportcenter.templates.timetickets_employee"), title: i18n.t("reportcenter.templates.timetickets_employee"),
description: "Est Detail",
subject: i18n.t("reportcenter.templates.timetickets_employee"), subject: i18n.t("reportcenter.templates.timetickets_employee"),
key: "timetickets_employee", key: "timetickets_employee",
idtype: "employee", idtype: "employee",
@@ -416,20 +468,26 @@ export const TemplateList = (type, context) => {
attendance_employee: { attendance_employee: {
title: i18n.t("reportcenter.templates.attendance_employee"), title: i18n.t("reportcenter.templates.attendance_employee"),
description: "Est Detail",
subject: i18n.t("reportcenter.templates.attendance_employee"), subject: i18n.t("reportcenter.templates.attendance_employee"),
key: "attendance_employee", key: "attendance_employee",
idtype: "employee", idtype: "employee",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.timetickets"),
field: i18n.t("timetickets.fields.date"),
},
}, },
timetickets_summary: { timetickets_summary: {
title: i18n.t("reportcenter.templates.timetickets_summary"), title: i18n.t("reportcenter.templates.timetickets_summary"),
description: "Est Detail",
subject: i18n.t("reportcenter.templates.timetickets_summary"), subject: i18n.t("reportcenter.templates.timetickets_summary"),
key: "timetickets_summary", key: "timetickets_summary",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.timetickets"),
field: i18n.t("timetickets.fields.date"),
},
}, },
hours_sold_detail_closed: { hours_sold_detail_closed: {
@@ -439,6 +497,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_detail_closed", key: "hours_sold_detail_closed",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.invoice_date"),
},
}, },
hours_sold_detail_closed_source: { hours_sold_detail_closed_source: {
@@ -452,6 +514,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_detail_closed_source", key: "hours_sold_detail_closed_source",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.invoice_date"),
},
}, },
hours_sold_summary_closed: { hours_sold_summary_closed: {
@@ -461,6 +527,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_summary_closed", key: "hours_sold_summary_closed",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.invoice_date"),
},
}, },
hours_sold_summary_closed_source: { hours_sold_summary_closed_source: {
@@ -474,6 +544,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_summary_closed_source", key: "hours_sold_summary_closed_source",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.invoice_date"),
},
}, },
hours_sold_detail_open: { hours_sold_detail_open: {
@@ -483,6 +557,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_detail_open", key: "hours_sold_detail_open",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.open_date"),
},
}, },
hours_sold_detail_open_source: { hours_sold_detail_open_source: {
@@ -496,6 +574,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_detail_open_source", key: "hours_sold_detail_open_source",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.open_date"),
},
}, },
hours_sold_summary_open: { hours_sold_summary_open: {
@@ -505,6 +587,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_summary_open", key: "hours_sold_summary_open",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.open_date"),
},
}, },
hours_sold_summary_open_source: { hours_sold_summary_open_source: {
@@ -518,6 +604,10 @@ export const TemplateList = (type, context) => {
key: "hours_sold_summary_open_source", key: "hours_sold_summary_open_source",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.open_date"),
},
}, },
estimator_detail: { estimator_detail: {
title: i18n.t("reportcenter.templates.estimator_detail"), title: i18n.t("reportcenter.templates.estimator_detail"),
@@ -526,6 +616,10 @@ export const TemplateList = (type, context) => {
key: "estimator_detail", key: "estimator_detail",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
estimator_summary: { estimator_summary: {
title: i18n.t("reportcenter.templates.estimator_summary"), title: i18n.t("reportcenter.templates.estimator_summary"),
@@ -534,6 +628,10 @@ export const TemplateList = (type, context) => {
key: "estimator_summary", key: "estimator_summary",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
supplement_ratio_source: { supplement_ratio_source: {
title: i18n.t("reportcenter.templates.supplement_ratio_source"), title: i18n.t("reportcenter.templates.supplement_ratio_source"),
@@ -542,6 +640,10 @@ export const TemplateList = (type, context) => {
key: "supplement_ratio_source", key: "supplement_ratio_source",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
credits_not_received_date: { credits_not_received_date: {
title: i18n.t("reportcenter.templates.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", key: "credits_not_received_date",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
job_costing_ro_date_summary: { job_costing_ro_date_summary: {
title: i18n.t("reportcenter.templates.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", key: "job_costing_ro_date_summary",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
job_costing_ro_source: { job_costing_ro_source: {
title: i18n.t("reportcenter.templates.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", key: "job_costing_ro_source",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
job_costing_ro_date_detail: { job_costing_ro_date_detail: {
title: i18n.t("reportcenter.templates.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", key: "job_costing_ro_date_detail",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
job_costing_estimator: { job_costing_estimator: {
title: i18n.t("reportcenter.templates.job_costing_estimator"), title: i18n.t("reportcenter.templates.job_costing_estimator"),
@@ -586,6 +704,10 @@ export const TemplateList = (type, context) => {
key: "job_costing_estimator", key: "job_costing_estimator",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
void_ros: { void_ros: {
title: i18n.t("reportcenter.templates.void_ros"), title: i18n.t("reportcenter.templates.void_ros"),
@@ -594,6 +716,10 @@ export const TemplateList = (type, context) => {
key: "void_ros", key: "void_ros",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_open"),
},
}, },
gsr_by_make: { gsr_by_make: {
title: i18n.t("reportcenter.templates.gsr_by_make"), title: i18n.t("reportcenter.templates.gsr_by_make"),
@@ -602,6 +728,10 @@ export const TemplateList = (type, context) => {
key: "gsr_by_make", key: "gsr_by_make",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
gsr_by_estimator: { gsr_by_estimator: {
title: i18n.t("reportcenter.templates.gsr_by_estimator"), title: i18n.t("reportcenter.templates.gsr_by_estimator"),
@@ -610,6 +740,10 @@ export const TemplateList = (type, context) => {
key: "gsr_by_estimator", key: "gsr_by_estimator",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
gsr_labor_only: { gsr_labor_only: {
title: i18n.t("reportcenter.templates.gsr_labor_only"), title: i18n.t("reportcenter.templates.gsr_labor_only"),
@@ -618,6 +752,10 @@ export const TemplateList = (type, context) => {
key: "gsr_labor_only", key: "gsr_labor_only",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.jobs"),
field: i18n.t("jobs.fields.date_invoiced"),
},
}, },
open_orders: { open_orders: {
title: i18n.t("reportcenter.templates.open_orders"), title: i18n.t("reportcenter.templates.open_orders"),
@@ -626,30 +764,10 @@ export const TemplateList = (type, context) => {
key: "open_orders", key: "open_orders",
//idtype: "vendor", //idtype: "vendor",
disabled: false, disabled: false,
}, rangeFilter: {
purchases_by_cost_center_detail: { object: i18n.t("reportcenter.labels.objects.jobs"),
title: i18n.t( field: i18n.t("jobs.fields.date_open"),
"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,
}, },
} }
: {}), : {}),