From cc7bd1c792f2abd11b0f2bd9fa02c09fa0698db1 Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Wed, 19 Apr 2023 15:44:09 -0700 Subject: [PATCH 01/11] IO-2243 DMS Posting Sheet Report Requested by Morrey Auto Body --- client/src/translations/en_us/common.json | 1 + client/src/translations/es/common.json | 1 + client/src/translations/fr/common.json | 1 + client/src/utils/TemplateConstants.js | 4149 ++++++++++----------- 4 files changed, 2071 insertions(+), 2081 deletions(-) diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index f01d1a186..725bf69e5 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -2226,6 +2226,7 @@ "csi_invitation": "CSI Invitation", "csi_invitation_action": "CSI Invite", "diagnostic_authorization": "Diagnostic Authorization", + "dms_posting_sheet": "DMS Posting Sheet", "envelope_return_address": "#10 Envelope Return Address Label", "estimate": "Estimate Only", "estimate_detail": "Estimate Details", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 552b080a2..0af8515dd 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -2226,6 +2226,7 @@ "csi_invitation": "", "csi_invitation_action": "", "diagnostic_authorization": "", + "dms_posting_sheet": "", "envelope_return_address": "", "estimate": "", "estimate_detail": "", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 40d15a480..c474c6c27 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -2226,6 +2226,7 @@ "csi_invitation": "", "csi_invitation_action": "", "diagnostic_authorization": "", + "dms_posting_sheet": "", "envelope_return_address": "", "estimate": "", "estimate_detail": "", diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js index fd9ec5c07..e2aeb1132 100644 --- a/client/src/utils/TemplateConstants.js +++ b/client/src/utils/TemplateConstants.js @@ -1,2089 +1,2076 @@ import i18n from "i18next"; //import { store } from "../redux/store"; export const EmailSettings = { - fromNameDefault: "ImEX Online", - fromAddress: "noreply@imex.online", + fromNameDefault: "ImEX Online", + fromAddress: "noreply@imex.online", }; export const TemplateList = (type, context) => { - //const { bodyshop } = store.getState().user; + //const { bodyshop } = store.getState().user; - return { - //If there's no type or the type is job, send it back. - ...(!type || type === "job" - ? { - casl_authorization: { - title: i18n.t("printcenter.jobs.casl_authorization"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.casl_authorization"), - key: "casl_authorization", - disabled: false, - group: "authorization", - }, - - fippa_authorization: { - title: i18n.t("printcenter.jobs.fippa_authorization"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.fippa_authorization"), - key: "fippa_authorization", - disabled: false, - group: "authorization", - }, - diagnostic_authorization: { - title: i18n.t("printcenter.jobs.diagnostic_authorization"), - description: "Diagnostic Authorization", - subject: i18n.t("printcenter.jobs.diagnostic_authorization"), - key: "diagnostic_authorization", - disabled: false, - group: "authorization", - }, - mechanical_authorization: { - title: i18n.t("printcenter.jobs.mechanical_authorization"), - description: "Diagnostic Authorization", - subject: i18n.t("printcenter.jobs.mechanical_authorization"), - key: "mechanical_authorization", - disabled: false, - group: "authorization", - }, - appointment_reminder: { - title: i18n.t("printcenter.jobs.appointment_reminder"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.appointment_reminder"), - key: "appointment_reminder", - disabled: false, - group: "pre", - }, - estimate_followup: { - title: i18n.t("printcenter.jobs.estimate_followup"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.estimate_followup"), - key: "estimate_followup", - disabled: false, - group: "pre", - }, - express_repair_checklist: { - title: i18n.t("printcenter.jobs.express_repair_checklist"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.express_repair_checklist"), - key: "express_repair_checklist", - disabled: false, - group: "pre", - }, - glass_express_checklist: { - title: i18n.t("printcenter.jobs.glass_express_checklist"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.glass_express_checklist"), - key: "glass_express_checklist", - disabled: false, - group: "pre", - }, - stolen_recovery_checklist: { - title: i18n.t("printcenter.jobs.stolen_recovery_checklist"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.stolen_recovery_checklist"), - key: "stolen_recovery_checklist", - disabled: false, - group: "pre", - }, - vehicle_check_in: { - title: i18n.t("printcenter.jobs.vehicle_check_in"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.vehicle_check_in"), - key: "vehicle_check_in", - disabled: false, - group: "pre", - }, - parts_order_history: { - title: i18n.t("printcenter.jobs.parts_order_history"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.parts_order_history"), - key: "parts_order_history", - disabled: false, - group: "ro", - }, - - job_notes: { - title: i18n.t("printcenter.jobs.job_notes"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.job_notes"), - key: "job_notes", - disabled: false, - group: "ro", - }, - ro_with_description: { - title: i18n.t("printcenter.jobs.ro_with_description"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.ro_with_description"), - key: "ro_with_description", - disabled: false, - group: "ro", - }, - window_tag: { - title: i18n.t("printcenter.jobs.window_tag"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.window_tag"), - key: "window_tag", - disabled: false, - group: "ro", - }, - supplement_request: { - title: i18n.t("printcenter.jobs.supplement_request"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.supplement_request"), - key: "supplement_request", - disabled: false, - group: "ro", - }, - estimate: { - title: i18n.t("printcenter.jobs.estimate"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.estimate"), - key: "estimate", - disabled: false, - group: "ro", - }, - parts_list: { - title: i18n.t("printcenter.jobs.parts_list"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.parts_list"), - key: "parts_list", - disabled: false, - group: "ro", - }, - coversheet_portrait: { - title: i18n.t("printcenter.jobs.coversheet_portrait"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.coversheet_portrait"), - key: "coversheet_portrait", - disabled: false, - group: "ro", - }, - coversheet_landscape: { - title: i18n.t("printcenter.jobs.coversheet_landscape"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.coversheet_landscape"), - key: "coversheet_landscape", - disabled: false, - group: "ro", - }, - key_tag: { - title: i18n.t("printcenter.jobs.key_tag"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.key_tag"), - key: "key_tag", - disabled: false, - group: "ro", - }, - paint_grid: { - title: i18n.t("printcenter.jobs.paint_grid"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.paint_grid"), - key: "paint_grid", - disabled: false, - group: "ro", - }, - worksheet_by_line_number: { - title: i18n.t("printcenter.jobs.worksheet_by_line_number"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.worksheet_by_line_number"), - key: "worksheet_by_line_number", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation_type: { - title: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_type" - ), - description: "All Jobs Notes", - subject: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_type" - ), - key: "worksheet_sorted_by_operation_type", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation: { - title: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), - key: "worksheet_sorted_by_operation", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation_no_hours: { - title: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_no_hours" - ), - description: "All Jobs Notes", - subject: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_no_hours" - ), - key: "worksheet_sorted_by_operation_no_hours", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation_part_type: { - title: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_part_type" - ), - description: "All Jobs Notes", - subject: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_part_type" - ), - key: "worksheet_sorted_by_operation_part_type", - disabled: false, - group: "worksheet", - }, - payments_by_job: { - title: i18n.t("printcenter.jobs.payments_by_job"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.payments_by_job"), - key: "payments_by_job", - disabled: false, - group: "financial", - }, - final_invoice: { - title: i18n.t("printcenter.jobs.final_invoice"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.final_invoice"), - key: "final_invoice", - disabled: false, - group: "financial", - }, - payment_request: { - title: i18n.t("printcenter.jobs.payment_request"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.payment_request"), - key: "payment_request", - disabled: false, - group: "financial", - }, - invoice_total_payable: { - title: i18n.t("printcenter.jobs.invoice_total_payable"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.invoice_total_payable"), - key: "invoice_total_payable", - disabled: false, - group: "financial", - }, - invoice_customer_payable: { - title: i18n.t("printcenter.jobs.invoice_customer_payable"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.invoice_customer_payable"), - key: "invoice_customer_payable", - disabled: false, - group: "financial", - }, - ro_totals: { - title: i18n.t("printcenter.jobs.ro_totals"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.ro_totals"), - key: "ro_totals", - disabled: false, - group: "financial", - }, - job_costing_ro: { - title: i18n.t("printcenter.jobs.job_costing_ro"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.job_costing_ro"), - key: "job_costing_ro", - disabled: false, - group: "financial", - }, - purchases_by_ro_detail: { - title: i18n.t("printcenter.jobs.purchases_by_ro_detail"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.purchases_by_ro_detail"), - key: "purchases_by_ro_detail", - disabled: false, - group: "financial", - }, - purchases_by_ro_summary: { - title: i18n.t("printcenter.jobs.purchases_by_ro_summary"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.purchases_by_ro_summary"), - key: "purchases_by_ro_summary", - disabled: false, - group: "financial", - }, - filing_coversheet_portrait: { - title: i18n.t("printcenter.jobs.filing_coversheet_portrait"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.filing_coversheet_portrait"), - key: "filing_coversheet_portrait", - disabled: false, - group: "post", - }, - filing_coversheet_landscape: { - title: i18n.t("printcenter.jobs.filing_coversheet_landscape"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.filing_coversheet_landscape"), - key: "filing_coversheet_landscape", - disabled: false, - group: "post", - }, - qc_sheet: { - title: i18n.t("printcenter.jobs.qc_sheet"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.qc_sheet"), - key: "qc_sheet", - disabled: false, - group: "post", - }, - - vehicle_delivery_check: { - title: i18n.t("printcenter.jobs.vehicle_delivery_check"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.vehicle_delivery_check"), - key: "vehicle_delivery_check", - disabled: false, - group: "post", - }, - - guarantee: { - title: i18n.t("printcenter.jobs.guarantee"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.guarantee"), - key: "guarantee", - disabled: false, - group: "post", - }, - csi_invitation: { - title: i18n.t("printcenter.jobs.csi_invitation"), - description: "CSI invite", - key: "csi_invitation", - subject: i18n.t("printcenter.jobs.csi_invitation"), - disabled: false, - group: "post", - }, - window_tag_sublet: { - title: i18n.t("printcenter.jobs.window_tag_sublet"), - description: "Window Tag Sublet", - key: "window_tag_sublet", - subject: i18n.t("printcenter.jobs.window_tag_sublet"), - disabled: false, - group: "ro", - }, - thank_you_ro: { - title: i18n.t("printcenter.jobs.thank_you_ro"), - description: "Thank You Letter by RO", - key: "thank_you_ro", - subject: i18n.t("printcenter.jobs.thank_you_ro"), - disabled: false, - group: "post", - }, - parts_label_single: { - title: i18n.t("printcenter.jobs.parts_label_single"), - description: "Thank You Letter by RO", - key: "parts_label_single", - subject: i18n.t("printcenter.jobs.parts_label_single"), - disabled: false, - group: "ro", - ignoreCustomMargins: true, - }, - envelope_return_address: { - title: i18n.t("printcenter.jobs.envelope_return_address"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.envelope_return_address"), - key: "envelope_return_address", - disabled: false, - group: "ro", - ignoreCustomMargins: true, - }, - sgi_certificate_of_repairs: { - title: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), - description: "Thank You Letter by RO", - key: "sgi_certificate_of_repairs", - subject: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), - disabled: false, - group: "ro", - regions: { - CA_SK: true, - }, - }, - sgi_windshield_auth: { - title: i18n.t("printcenter.jobs.sgi_windshield_auth"), - description: "Thank You Letter by RO", - key: "sgi_windshield_auth", - subject: i18n.t("printcenter.jobs.sgi_windshield_auth"), - disabled: false, - group: "pre", - regions: { - CA_SK: true, - }, - }, - mpi_final_acct_sheet: { - title: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), - description: "Thank You Letter by RO", - key: "mpi_final_acct_sheet", - subject: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), - disabled: false, - group: "post", - regions: { - CA_MB: true, - }, - }, - mpi_eglass_auth: { - title: i18n.t("printcenter.jobs.mpi_eglass_auth"), - description: "Thank You Letter by RO", - key: "mpi_eglass_auth", - subject: i18n.t("printcenter.jobs.mpi_eglass_auth"), - disabled: false, - group: "pre", - regions: { - CA_MB: true, - }, - }, - mpi_animal_checklist: { - title: i18n.t("printcenter.jobs.mpi_animal_checklist"), - description: "Thank You Letter by RO", - key: "mpi_animal_checklist", - subject: i18n.t("printcenter.jobs.mpi_animal_checklist"), - disabled: false, - group: "pre", - regions: { - CA_MB: true, - }, - }, - ab_proof_of_loss: { - title: i18n.t("printcenter.jobs.ab_proof_of_loss"), - description: "Thank You Letter by RO", - key: "ab_proof_of_loss", - subject: i18n.t("printcenter.jobs.ab_proof_of_loss"), - disabled: false, - group: "pre", - regions: { - CA_AB: true, - }, - }, - // parts_label_multi: { - // title: i18n.t("printcenter.jobs.parts_label_multi"), - // description: "Thank You Letter by RO", - // key: "parts_label_multi", - // subject: i18n.t("printcenter.jobs.parts_label_multi"), - // disabled: false, - // group: "ro", - // }, - iou_form: { - title: i18n.t("printcenter.jobs.iou_form"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.iou_form"), - key: "iou_form", - disabled: false, - group: "post", - }, - lag_time_ro: { - title: i18n.t("printcenter.jobs.lag_time_ro"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.lag_time_ro"), - key: "lag_time_ro", - disabled: false, - group: "ro", - }, - rental_reservation: { - title: i18n.t("printcenter.jobs.rental_reservation"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.rental_reservation"), - key: "rental_reservation", - disabled: false, - group: "pre", - }, - timetickets_ro: { - title: i18n.t("printcenter.jobs.timetickets_ro"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.timetickets_ro"), - key: "timetickets_ro", - disabled: false, - group: "financial", - }, - } - : {}), - ...(!type || type === "job_special" - ? { - special_thirdpartypayer: { - title: i18n.t("printcenter.jobs.thirdpartypayer"), - description: "CSI invite", - key: "special_thirdpartypayer", - disabled: false, - }, - folder_label_multiple: { - title: i18n.t("printcenter.jobs.folder_label_multiple"), - description: "Folder Label Multiple", - key: "folder_label_multiple", - disabled: false, - }, - parts_label_multiple: { - title: i18n.t("printcenter.jobs.parts_label_multiple"), - description: "Parts Label Multiple", - key: "parts_label_multiple", - disabled: false, - }, - parts_invoice_label_single: { - title: i18n.t("printcenter.jobs.parts_invoice_label_single"), - description: "Parts Label Multiple", - key: "parts_invoice_label_single", - disabled: false, - ignoreCustomMargins: true, - }, - csi_invitation_action: { - title: i18n.t("printcenter.jobs.csi_invitation_action"), - description: "CSI invite", - key: "csi_invitation_action", - subject: i18n.t("printcenter.jobs.csi_invitation_action"), - disabled: false, - }, - individual_job_note: { - title: i18n.t("printcenter.jobs.individual_job_note"), - description: "CSI invite", - key: "individual_job_note", - subject: i18n.t("printcenter.jobs.individual_job_note", { - ro_number: (context && context.ro_number) || "", - }), - disabled: false, - }, - } - : {}), - ...(!type || type === "appointment" - ? { - appointment_confirmation: { - title: i18n.t("printcenter.appointments.appointment_confirmation"), - description: "Appointment Confirmation", - subject: i18n.t( - "printcenter.appointments.appointment_confirmation" - ), - key: "appointment_confirmation", - disabled: false, - }, - } - : {}), - ...(!type || type === "partsorder" - ? { - parts_order: { - title: i18n.t("printcenter.jobs.parts_order"), - description: "Parts Order", - key: "parts_order", - subject: i18n.t("printcenter.subjects.jobs.parts_order", { - ro_number: context && context.job && context.job.ro_number, - name: ( - (context && context.job && context.job.ownr_ln) || - (context && context.job && context.job.ownr_co_nm) || - "" - ).trim(), - }), - disabled: false, - }, - sublet_order: { - title: i18n.t("printcenter.jobs.sublet_order"), - description: "Parts Order", - key: "sublet_order", - subject: i18n.t("printcenter.subjects.jobs.sublet_order", { - ro_number: context && context.job && context.job.ro_number, - name: ( - (context && context.job && context.job.ownr_ln) || - (context && context.job && context.job.ownr_co_nm) || - "" - ).trim(), - }), - disabled: false, - }, - parts_return_slip: { - title: i18n.t("printcenter.jobs.parts_return_slip"), - subject: i18n.t("printcenter.jobs.parts_return_slip"), - description: "Parts Return", - key: "parts_return_slip", - disabled: false, - }, - } - : {}), - ...(!type || type === "payment" - ? { - payment_receipt: { - title: i18n.t("printcenter.jobs.payment_receipt"), - description: "Payment Receipt", - subject: i18n.t("printcenter.jobs.payment_receipt"), - key: "payment_receipt", - disabled: false, - }, - } - : {}), - ...(!type || type === "csi" ? {} : {}), - ...(!type || type === "report_center" - ? { - hours_sold_detail_closed: { - title: i18n.t("reportcenter.templates.hours_sold_detail_closed"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_detail_closed"), - key: "hours_sold_detail_closed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - - hours_sold_detail_closed_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_ins_co" - ), - key: "hours_sold_detail_closed_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - - hours_sold_summary_closed: { - title: i18n.t("reportcenter.templates.hours_sold_summary_closed"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_summary_closed"), - key: "hours_sold_summary_closed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - - hours_sold_summary_closed_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_ins_co" - ), - key: "hours_sold_summary_closed_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - - hours_sold_detail_open: { - title: i18n.t("reportcenter.templates.hours_sold_detail_open"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_detail_open"), - key: "hours_sold_detail_open", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - - hours_sold_detail_open_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_open_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_open_ins_co" - ), - key: "hours_sold_detail_open_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - - hours_sold_summary_open: { - title: i18n.t("reportcenter.templates.hours_sold_summary_open"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_summary_open"), - key: "hours_sold_summary_open", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - - hours_sold_summary_open_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_open_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_open_ins_co" - ), - key: "hours_sold_summary_open_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - - hours_sold_detail_closed_csr: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_csr" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_csr" - ), - key: "hours_sold_detail_closed_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_open_csr: { - title: i18n.t("reportcenter.templates.hours_sold_detail_open_csr"), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_open_csr" - ), - key: "hours_sold_detail_open_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - hours_sold_summary_closed_csr: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_csr" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_csr" - ), - key: "hours_sold_summary_closed_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_open_csr: { - title: i18n.t("reportcenter.templates.hours_sold_summary_open_csr"), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_open_csr" - ), - key: "hours_sold_summary_open_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_open_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_open_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_open_status" - ), - key: "hours_sold_summary_open_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_closed_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_status" - ), - key: "hours_sold_summary_closed_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_open_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_open_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_open_status" - ), - key: "hours_sold_detail_open_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_closed_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_status" - ), - key: "hours_sold_detail_closed_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - purchases_by_date_range_detail: { - title: i18n.t( - "reportcenter.templates.purchases_by_date_range_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"), - }, - group: "purchases", - }, - purchases_by_date_range_summary: { - title: i18n.t( - "reportcenter.templates.purchases_by_date_range_summary" - ), - 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"), - }, - group: "purchases", - }, - purchases_by_vendor_detailed_date_range: { - title: i18n.t( - "reportcenter.templates.purchases_by_vendor_detailed_date_range" - ), - 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"), - }, - group: "purchases", - }, - purchases_by_vendor_summary_date_range: { - title: i18n.t( - "reportcenter.templates.purchases_by_vendor_summary_date_range" - ), - 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"), - }, - group: "purchases", - }, - 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"), - }, - group: "purchases", - }, - 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"), - }, - group: "purchases", - }, - purchases_grouped_by_vendor_detailed: { - title: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_detailed" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_detailed" - ), - key: "purchases_grouped_by_vendor_detailed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("bills.fields.date"), - }, - group: "purchases", - }, - purchases_grouped_by_vendor_summary: { - title: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_summary" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_summary" - ), - key: "purchases_grouped_by_vendor_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("bills.fields.date"), - }, - group: "purchases", - }, - job_costing_ro_date_summary: { - title: i18n.t("reportcenter.templates.job_costing_ro_date_summary"), - description: "", - subject: i18n.t( - "reportcenter.templates.job_costing_ro_date_summary" - ), - 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"), - }, - group: "jobs", - }, - job_costing_ro_csr: { - title: i18n.t("reportcenter.templates.job_costing_ro_csr"), - description: "", - subject: i18n.t("reportcenter.templates.job_costing_ro_csr"), - key: "job_costing_ro_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - job_costing_ro_ins_co: { - title: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), - key: "job_costing_ro_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - job_costing_ro_date_detail: { - title: i18n.t("reportcenter.templates.job_costing_ro_date_detail"), - description: "", - subject: i18n.t( - "reportcenter.templates.job_costing_ro_date_detail" - ), - 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"), - }, - group: "jobs", - }, - job_costing_ro_estimator: { - title: i18n.t("reportcenter.templates.job_costing_ro_estimator"), - description: "", - subject: i18n.t("reportcenter.templates.job_costing_ro_estimator"), - key: "job_costing_ro_estimator", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - payments_by_date: { - title: i18n.t("reportcenter.templates.payments_by_date"), - subject: i18n.t("reportcenter.templates.payments_by_date"), - key: "payments_by_date", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.payments"), - field: i18n.t("payments.fields.date"), - }, - group: "customers", - }, - payments_by_date_type: { - title: i18n.t("reportcenter.templates.payments_by_date_type"), - 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"), - }, - group: "customers", - }, - - 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"), - }, - group: "customers", - }, - - timetickets: { - title: i18n.t("reportcenter.templates.timetickets"), - subject: i18n.t("reportcenter.templates.timetickets"), - key: "timetickets", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.timetickets"), - field: i18n.t("timetickets.fields.date"), - }, - group: "payroll", - }, - timetickets_employee: { - title: i18n.t("reportcenter.templates.timetickets_employee"), - subject: i18n.t("reportcenter.templates.timetickets_employee"), - key: "timetickets_employee", - idtype: "employee", - disabled: false, - group: "payroll", - }, - attendance_detail: { - title: i18n.t("reportcenter.templates.attendance_detail"), - subject: i18n.t("reportcenter.templates.attendance_detail"), - key: "attendance_detail", - - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.timetickets"), - field: i18n.t("timetickets.fields.date"), - }, - group: "payroll", - }, - attendance_summary: { - title: i18n.t("reportcenter.templates.attendance_summary"), - subject: i18n.t("reportcenter.templates.attendance_summary"), - key: "attendance_summary", - - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.timetickets"), - field: i18n.t("timetickets.fields.date"), - }, - group: "payroll", - }, - attendance_employee: { - title: i18n.t("reportcenter.templates.attendance_employee"), - 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"), - }, - group: "payroll", - }, - - timetickets_summary: { - title: i18n.t("reportcenter.templates.timetickets_summary"), - 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"), - }, - group: "payroll", - }, - - estimator_detail: { - title: i18n.t("reportcenter.templates.estimator_detail"), - description: "", - subject: i18n.t("reportcenter.templates.estimator_detail"), - key: "estimator_detail", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - estimator_summary: { - title: i18n.t("reportcenter.templates.estimator_summary"), - description: "", - subject: i18n.t("reportcenter.templates.estimator_summary"), - key: "estimator_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - supplement_ratio_ins_co: { - title: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), - key: "supplement_ratio_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - credits_not_received_date: { - title: i18n.t("reportcenter.templates.credits_not_received_date"), - description: "", - subject: i18n.t("reportcenter.templates.credits_not_received_date"), - key: "credits_not_received_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "purchases", - }, - - void_ros: { - title: i18n.t("reportcenter.templates.void_ros"), - description: "", - subject: i18n.t("reportcenter.templates.void_ros"), - key: "void_ros", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - gsr_by_csr: { - title: i18n.t("reportcenter.templates.gsr_by_csr"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_csr"), - key: "gsr_by_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_make: { - title: i18n.t("reportcenter.templates.gsr_by_make"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_make"), - key: "gsr_by_make", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_delivery_date: { - title: i18n.t("reportcenter.templates.gsr_by_delivery_date"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_delivery_date"), - key: "gsr_by_delivery_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_delivery"), - }, - group: "sales", - }, - gsr_by_referral: { - title: i18n.t("reportcenter.templates.gsr_by_referral"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_referral"), - key: "gsr_by_referral", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_ro: { - title: i18n.t("reportcenter.templates.gsr_by_ro"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_ro"), - key: "gsr_by_ro", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_ins_co: { - title: i18n.t("reportcenter.templates.gsr_by_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_ins_co"), - key: "gsr_by_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_exported_date: { - title: i18n.t("reportcenter.templates.gsr_by_exported_date"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_exported_date"), - key: "gsr_by_exported_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_exported"), - }, - group: "sales", - }, - - gsr_by_estimator: { - title: i18n.t("reportcenter.templates.gsr_by_estimator"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_estimator"), - key: "gsr_by_estimator", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_category: { - title: i18n.t("reportcenter.templates.gsr_by_category"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_category"), - key: "gsr_by_category", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_ats: { - title: i18n.t("reportcenter.templates.gsr_by_ats"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_ats"), - key: "gsr_by_ats", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_labor_only: { - title: i18n.t("reportcenter.templates.gsr_labor_only"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_labor_only"), - key: "gsr_labor_only", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - open_orders: { - title: i18n.t("reportcenter.templates.open_orders"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders"), - key: "open_orders", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_status: { - title: i18n.t("reportcenter.templates.open_orders_status"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_status"), - key: "open_orders_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_csr: { - title: i18n.t("reportcenter.templates.open_orders_csr"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_csr"), - key: "open_orders_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_estimator: { - title: i18n.t("reportcenter.templates.open_orders_estimator"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_estimator"), - key: "open_orders_estimator", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_ins_co: { - title: i18n.t("reportcenter.templates.open_orders_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_ins_co"), - key: "open_orders_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_specific_csr: { - title: i18n.t("reportcenter.templates.open_orders_specific_csr"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_specific_csr"), - key: "open_orders_specific_csr", - idtype: "employee", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - export_payables: { - title: i18n.t("reportcenter.templates.export_payables"), - description: "", - subject: i18n.t("reportcenter.templates.export_payables"), - key: "export_payables", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.exportlogs"), - field: i18n.t("exportlogs.fields.createdat"), - }, - group: "purchases", - }, - export_payments: { - title: i18n.t("reportcenter.templates.export_payments"), - description: "", - subject: i18n.t("reportcenter.templates.export_payments"), - key: "export_payments", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.exportlogs"), - field: i18n.t("exportlogs.fields.createdat"), - }, - group: "customers", - }, - export_receivables: { - title: i18n.t("reportcenter.templates.export_receivables"), - description: "", - subject: i18n.t("reportcenter.templates.export_receivables"), - key: "export_receivables", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.exportlogs"), - field: i18n.t("exportlogs.fields.createdat"), - }, - group: "sales", - }, - parts_backorder: { - title: i18n.t("reportcenter.templates.parts_backorder"), - description: "", - subject: i18n.t("reportcenter.templates.parts_backorder"), - key: "parts_backorder", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_in"), - }, - group: "purchases", - }, - thank_you_date: { - title: i18n.t("reportcenter.templates.thank_you_date"), - description: "", - subject: i18n.t("reportcenter.templates.thank_you_date"), - key: "thank_you_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "customers", - }, - unclaimed_hrs: { - title: i18n.t("reportcenter.templates.unclaimed_hrs"), - description: "", - subject: i18n.t("reportcenter.templates.unclaimed_hrs"), - key: "unclaimed_hrs", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "payroll", - }, - work_in_progress_labour: { - title: i18n.t("reportcenter.templates.work_in_progress_labour"), - description: "", - subject: i18n.t("reportcenter.templates.work_in_progress_labour"), - key: "work_in_progress_labour", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - work_in_progress_payables: { - title: i18n.t("reportcenter.templates.work_in_progress_payables"), - description: "", - subject: i18n.t("reportcenter.templates.work_in_progress_payables"), - key: "work_in_progress_payables", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - lag_time: { - title: i18n.t("reportcenter.templates.lag_time"), - description: "", - subject: i18n.t("reportcenter.templates.lag_time"), - key: "lag_time", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - parts_not_recieved: { - title: i18n.t("reportcenter.templates.parts_not_recieved"), - description: "", - subject: i18n.t("reportcenter.templates.parts_not_recieved"), - key: "parts_not_recieved", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "purchases", - }, - parts_not_recieved_vendor: { - title: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), - description: "", - subject: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), - key: "parts_not_recieved_vendor", - idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "purchases", - }, - scoreboard_detail: { - title: i18n.t("reportcenter.templates.scoreboard_detail"), - description: "", - subject: i18n.t("reportcenter.templates.scoreboard_detail"), - key: "scoreboard_detail", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.scoreboard"), - field: i18n.t("scoreboard.fields.date"), - }, - group: "payroll", - }, - scoreboard_summary: { - title: i18n.t("reportcenter.templates.scoreboard_summary"), - description: "", - subject: i18n.t("reportcenter.templates.scoreboard_summary"), - key: "scoreboard_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.scoreboard"), - field: i18n.t("scoreboard.fields.date"), - }, - group: "payroll", - }, - anticipated_revenue: { - title: i18n.t("reportcenter.templates.anticipated_revenue"), - description: "", - subject: i18n.t("reportcenter.templates.anticipated_revenue"), - key: "anticipated_revenue", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.scheduled_completion"), // Also date invoice. - }, - group: "sales", - }, - csi: { - title: i18n.t("reportcenter.templates.csi"), - description: "", - subject: i18n.t("reportcenter.templates.csi"), - key: "csi", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.csi"), - field: i18n.t("csi.fields.created_at"), // Also date invoice. - }, - group: "customers", - }, - estimates_written_converted: { - title: i18n.t("reportcenter.templates.estimates_written_converted"), - description: "", - subject: i18n.t( - "reportcenter.templates.estimates_written_converted" - ), - key: "estimates_written_converted", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: - i18n.t("jobs.fields.date_open") + - "/" + - i18n.t("jobs.fields.date_invoiced"), // Also date invoice. - }, - group: "sales", - }, - credits_not_received_date_vendorid: { - title: i18n.t( - "reportcenter.templates.credits_not_received_date_vendorid" - ), - subject: i18n.t( - "reportcenter.templates.credits_not_received_date_vendorid" - ), - key: "credits_not_received_date_vendorid", - idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "purchases", - }, - jobs_reconcile: { - title: i18n.t("reportcenter.templates.jobs_reconcile"), - subject: i18n.t("reportcenter.templates.jobs_reconcile"), - key: "jobs_reconcile", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - parts_received_not_scheduled: { - title: i18n.t( - "reportcenter.templates.parts_received_not_scheduled" - ), - subject: i18n.t( - "reportcenter.templates.parts_received_not_scheduled" - ), - key: "parts_received_not_scheduled", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - psr_by_make: { - title: i18n.t("reportcenter.templates.psr_by_make"), - subject: i18n.t("reportcenter.templates.psr_by_make"), - key: "psr_by_make", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - cycle_time_analysis: { - title: i18n.t("reportcenter.templates.cycle_time_analysis"), - subject: i18n.t("reportcenter.templates.cycle_time_analysis"), - key: "cycle_time_analysis", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_completion"), - }, - group: "jobs", - }, - returns_grouped_by_vendor_summary: { - title: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_summary" - ), - subject: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_summary" - ), - key: "returns_grouped_by_vendor_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "jobs", - }, - returns_grouped_by_vendor_detailed: { - title: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_detailed" - ), - subject: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_detailed" - ), - key: "returns_grouped_by_vendor_detailed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "jobs", - }, - scheduled_parts_list: { - title: i18n.t("reportcenter.templates.scheduled_parts_list"), - subject: i18n.t("reportcenter.templates.scheduled_parts_list"), - key: "scheduled_parts_list", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.scheduled_in"), - }, - group: "jobs", - }, - jobs_completed_not_invoiced: { - title: i18n.t("reportcenter.templates.jobs_completed_not_invoiced"), - subject: i18n.t( - "reportcenter.templates.jobs_completed_not_invoiced" - ), - key: "jobs_completed_not_invoiced", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - jobs_invoiced_not_exported: { - title: i18n.t("reportcenter.templates.jobs_invoiced_not_exported"), - subject: i18n.t( - "reportcenter.templates.jobs_invoiced_not_exported" - ), - key: "jobs_invoiced_not_exported", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - 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", - }, - production_over_time: { - title: i18n.t("reportcenter.templates.production_over_time"), - subject: i18n.t( - "reportcenter.templates.production_over_time" - ), - key: "production_over_time", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_in"), - }, - group: "jobs", - }, - customer_list: { - title: i18n.t("reportcenter.templates.customer_list"), - subject: i18n.t( - "reportcenter.templates.customer_list" - ), - key: "customer_list", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "customers", - }, - } - : {}), - ...(!type || type === "courtesycarcontract" - ? { - courtesy_car_contract: { - title: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_contract" - ), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_contract" - ), - key: "courtesy_car_contract", - disabled: false, - }, - courtesy_car_terms: { - title: i18n.t("printcenter.courtesycarcontract.courtesy_car_terms"), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_terms" - ), - key: "courtesy_car_terms", - disabled: false, - }, - courtesy_car_impound: { - title: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_impound" - ), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_impound" - ), - key: "courtesy_car_impound", - disabled: false, - }, - } - : {}), - ...(!type || type === "courtesycar" - ? { - courtesy_car_inventory: { - title: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_inventory" - ), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_inventory" - ), - key: "courtesy_car_inventory", - disabled: false, - }, - } - : {}), - ...(!type || type === "bill" - ? { - inhouse_invoice: { - title: i18n.t("printcenter.bills.inhouse_invoice"), - description: "Est Detail", - subject: i18n.t("printcenter.bills.inhouse_invoice"), - key: "inhouse_invoice", - disabled: false, - }, - } - : {}), - ...(!type || type === "timeticket" - ? { - // timetickets: { - // title: i18n.t("printcenter.timetickets.timetickets"), - // description: "Est Detail", - // subject: `${i18n.t("printcenter.timetickets.timetickets")} - ${ - // context && context.job && context.job.ro_number - // }`, - // key: "timetickets", - // disabled: false, - // }, - } - : {}), - ...(!type || type === "vendor" - ? { - purchases_by_vendor_detailed: { - title: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), - description: "Est Detail", - subject: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), - key: "purchases_by_vendor_detailed", - disabled: false, - }, - purchases_by_vendor_summary: { - title: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), - description: "Est Detail", - subject: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), - key: "purchases_by_vendor_summary", - disabled: false, - }, - } - : {}), - - ...(!type || type === "production" - ? { - production_by_last_name: { - title: i18n.t("reportcenter.templates.production_by_last_name"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_last_name"), - key: "production_by_last_name", - //idtype: "vendor", - disabled: false, - }, - production_by_repair_status: { - title: i18n.t("reportcenter.templates.production_by_repair_status"), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_repair_status" - ), - key: "production_by_repair_status", - //idtype: "vendor", - disabled: false, - }, - production_by_target_date: { - title: i18n.t("reportcenter.templates.production_by_target_date"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_target_date"), - key: "production_by_target_date", - //idtype: "vendor", - disabled: false, - }, - production_by_ro: { - title: i18n.t("reportcenter.templates.production_by_ro"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_ro"), - key: "production_by_ro", - //idtype: "vendor", - disabled: false, - }, - production_by_csr: { - title: i18n.t("reportcenter.templates.production_by_csr"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_csr"), - key: "production_by_csr", - //idtype: "vendor", - disabled: false, - }, - production_by_category: { - title: i18n.t("reportcenter.templates.production_by_category"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_category"), - key: "production_by_category", - //idtype: "vendor", - disabled: false, - }, - production_by_technician: { - title: i18n.t("reportcenter.templates.production_by_technician"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_technician"), - key: "production_by_technician", - //idtype: "vendor", - disabled: false, - }, - } - : {}), - ...(!type || type === "special" - ? { - ca_bc_etf_table: { - title: i18n.t("printcenter.payments.ca_bc_etf_table"), - description: "Est Detail", - subject: i18n.t("printcenter.payments.ca_bc_etf_table"), - key: "ca_bc_etf_table", - disabled: false, - }, - exported_payroll: { - title: i18n.t("printcenter.payments.exported_payroll"), - description: "Est Detail", - subject: i18n.t("printcenter.payments.exported_payroll"), - key: "exported_payroll", - disabled: false, - }, - attendance_detail_csv: { - title: i18n.t("printcenter.special.attendance_detail_csv"), - description: "Est Detail", - subject: i18n.t("printcenter.special.attendance_detail_csv"), - key: "attendance_detail_csv", - disabled: false, - }, - production_by_technician_one: { - title: i18n.t( - "reportcenter.templates.production_by_technician_one" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_technician_one" - ), - key: "production_by_technician_one", - //idtype: "vendor", - disabled: false, - }, - production_by_category_one: { - title: i18n.t("reportcenter.templates.production_by_category_one"), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_category_one" - ), - key: "production_by_category_one", - //idtype: "vendor", - disabled: false, - }, - production_by_repair_status_one: { - title: i18n.t( - "reportcenter.templates.production_by_repair_status_one" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_repair_status_one" - ), - key: "production_by_repair_status_one", - //idtype: "vendor", - disabled: false, - }, - } - : {}), - }; + return { + //If there's no type or the type is job, send it back. + ...(!type || type === "job" + ? { + casl_authorization: { + title: i18n.t("printcenter.jobs.casl_authorization"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.casl_authorization"), + key: "casl_authorization", + disabled: false, + group: "authorization", + }, + fippa_authorization: { + title: i18n.t("printcenter.jobs.fippa_authorization"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.fippa_authorization"), + key: "fippa_authorization", + disabled: false, + group: "authorization", + }, + diagnostic_authorization: { + title: i18n.t("printcenter.jobs.diagnostic_authorization"), + description: "Diagnostic Authorization", + subject: i18n.t("printcenter.jobs.diagnostic_authorization"), + key: "diagnostic_authorization", + disabled: false, + group: "authorization", + }, + mechanical_authorization: { + title: i18n.t("printcenter.jobs.mechanical_authorization"), + description: "Diagnostic Authorization", + subject: i18n.t("printcenter.jobs.mechanical_authorization"), + key: "mechanical_authorization", + disabled: false, + group: "authorization", + }, + appointment_reminder: { + title: i18n.t("printcenter.jobs.appointment_reminder"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.appointment_reminder"), + key: "appointment_reminder", + disabled: false, + group: "pre", + }, + estimate_followup: { + title: i18n.t("printcenter.jobs.estimate_followup"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.estimate_followup"), + key: "estimate_followup", + disabled: false, + group: "pre", + }, + express_repair_checklist: { + title: i18n.t("printcenter.jobs.express_repair_checklist"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.express_repair_checklist"), + key: "express_repair_checklist", + disabled: false, + group: "pre", + }, + glass_express_checklist: { + title: i18n.t("printcenter.jobs.glass_express_checklist"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.glass_express_checklist"), + key: "glass_express_checklist", + disabled: false, + group: "pre", + }, + stolen_recovery_checklist: { + title: i18n.t("printcenter.jobs.stolen_recovery_checklist"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.stolen_recovery_checklist"), + key: "stolen_recovery_checklist", + disabled: false, + group: "pre", + }, + vehicle_check_in: { + title: i18n.t("printcenter.jobs.vehicle_check_in"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.vehicle_check_in"), + key: "vehicle_check_in", + disabled: false, + group: "pre", + }, + parts_order_history: { + title: i18n.t("printcenter.jobs.parts_order_history"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.parts_order_history"), + key: "parts_order_history", + disabled: false, + group: "ro", + }, + job_notes: { + title: i18n.t("printcenter.jobs.job_notes"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.job_notes"), + key: "job_notes", + disabled: false, + group: "ro", + }, + ro_with_description: { + title: i18n.t("printcenter.jobs.ro_with_description"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.ro_with_description"), + key: "ro_with_description", + disabled: false, + group: "ro", + }, + window_tag: { + title: i18n.t("printcenter.jobs.window_tag"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.window_tag"), + key: "window_tag", + disabled: false, + group: "ro", + }, + supplement_request: { + title: i18n.t("printcenter.jobs.supplement_request"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.supplement_request"), + key: "supplement_request", + disabled: false, + group: "ro", + }, + estimate: { + title: i18n.t("printcenter.jobs.estimate"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.estimate"), + key: "estimate", + disabled: false, + group: "ro", + }, + parts_list: { + title: i18n.t("printcenter.jobs.parts_list"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.parts_list"), + key: "parts_list", + disabled: false, + group: "ro", + }, + coversheet_portrait: { + title: i18n.t("printcenter.jobs.coversheet_portrait"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.coversheet_portrait"), + key: "coversheet_portrait", + disabled: false, + group: "ro", + }, + coversheet_landscape: { + title: i18n.t("printcenter.jobs.coversheet_landscape"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.coversheet_landscape"), + key: "coversheet_landscape", + disabled: false, + group: "ro", + }, + key_tag: { + title: i18n.t("printcenter.jobs.key_tag"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.key_tag"), + key: "key_tag", + disabled: false, + group: "ro", + }, + paint_grid: { + title: i18n.t("printcenter.jobs.paint_grid"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.paint_grid"), + key: "paint_grid", + disabled: false, + group: "ro", + }, + worksheet_by_line_number: { + title: i18n.t("printcenter.jobs.worksheet_by_line_number"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.worksheet_by_line_number"), + key: "worksheet_by_line_number", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation_type: { + title: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_type" + ), + description: "All Jobs Notes", + subject: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_type" + ), + key: "worksheet_sorted_by_operation_type", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation: { + title: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), + key: "worksheet_sorted_by_operation", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation_no_hours: { + title: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_no_hours" + ), + description: "All Jobs Notes", + subject: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_no_hours" + ), + key: "worksheet_sorted_by_operation_no_hours", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation_part_type: { + title: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_part_type" + ), + description: "All Jobs Notes", + subject: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_part_type" + ), + key: "worksheet_sorted_by_operation_part_type", + disabled: false, + group: "worksheet", + }, + payments_by_job: { + title: i18n.t("printcenter.jobs.payments_by_job"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.payments_by_job"), + key: "payments_by_job", + disabled: false, + group: "financial", + }, + final_invoice: { + title: i18n.t("printcenter.jobs.final_invoice"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.final_invoice"), + key: "final_invoice", + disabled: false, + group: "financial", + }, + payment_request: { + title: i18n.t("printcenter.jobs.payment_request"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.payment_request"), + key: "payment_request", + disabled: false, + group: "financial", + }, + invoice_total_payable: { + title: i18n.t("printcenter.jobs.invoice_total_payable"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.invoice_total_payable"), + key: "invoice_total_payable", + disabled: false, + group: "financial", + }, + invoice_customer_payable: { + title: i18n.t("printcenter.jobs.invoice_customer_payable"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.invoice_customer_payable"), + key: "invoice_customer_payable", + disabled: false, + group: "financial", + }, + ro_totals: { + title: i18n.t("printcenter.jobs.ro_totals"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.ro_totals"), + key: "ro_totals", + disabled: false, + group: "financial", + }, + job_costing_ro: { + title: i18n.t("printcenter.jobs.job_costing_ro"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.job_costing_ro"), + key: "job_costing_ro", + disabled: false, + group: "financial", + }, + purchases_by_ro_detail: { + title: i18n.t("printcenter.jobs.purchases_by_ro_detail"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.purchases_by_ro_detail"), + key: "purchases_by_ro_detail", + disabled: false, + group: "financial", + }, + purchases_by_ro_summary: { + title: i18n.t("printcenter.jobs.purchases_by_ro_summary"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.purchases_by_ro_summary"), + key: "purchases_by_ro_summary", + disabled: false, + group: "financial", + }, + filing_coversheet_portrait: { + title: i18n.t("printcenter.jobs.filing_coversheet_portrait"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.filing_coversheet_portrait"), + key: "filing_coversheet_portrait", + disabled: false, + group: "post", + }, + filing_coversheet_landscape: { + title: i18n.t("printcenter.jobs.filing_coversheet_landscape"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.filing_coversheet_landscape"), + key: "filing_coversheet_landscape", + disabled: false, + group: "post", + }, + qc_sheet: { + title: i18n.t("printcenter.jobs.qc_sheet"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.qc_sheet"), + key: "qc_sheet", + disabled: false, + group: "post", + }, + vehicle_delivery_check: { + title: i18n.t("printcenter.jobs.vehicle_delivery_check"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.vehicle_delivery_check"), + key: "vehicle_delivery_check", + disabled: false, + group: "post", + }, + guarantee: { + title: i18n.t("printcenter.jobs.guarantee"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.guarantee"), + key: "guarantee", + disabled: false, + group: "post", + }, + csi_invitation: { + title: i18n.t("printcenter.jobs.csi_invitation"), + description: "CSI invite", + key: "csi_invitation", + subject: i18n.t("printcenter.jobs.csi_invitation"), + disabled: false, + group: "post", + }, + window_tag_sublet: { + title: i18n.t("printcenter.jobs.window_tag_sublet"), + description: "Window Tag Sublet", + key: "window_tag_sublet", + subject: i18n.t("printcenter.jobs.window_tag_sublet"), + disabled: false, + group: "ro", + }, + thank_you_ro: { + title: i18n.t("printcenter.jobs.thank_you_ro"), + description: "Thank You Letter by RO", + key: "thank_you_ro", + subject: i18n.t("printcenter.jobs.thank_you_ro"), + disabled: false, + group: "post", + }, + parts_label_single: { + title: i18n.t("printcenter.jobs.parts_label_single"), + description: "Thank You Letter by RO", + key: "parts_label_single", + subject: i18n.t("printcenter.jobs.parts_label_single"), + disabled: false, + group: "ro", + ignoreCustomMargins: true, + }, + envelope_return_address: { + title: i18n.t("printcenter.jobs.envelope_return_address"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.envelope_return_address"), + key: "envelope_return_address", + disabled: false, + group: "ro", + ignoreCustomMargins: true, + }, + sgi_certificate_of_repairs: { + title: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), + description: "Thank You Letter by RO", + key: "sgi_certificate_of_repairs", + subject: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), + disabled: false, + group: "ro", + regions: { + CA_SK: true, + }, + }, + sgi_windshield_auth: { + title: i18n.t("printcenter.jobs.sgi_windshield_auth"), + description: "Thank You Letter by RO", + key: "sgi_windshield_auth", + subject: i18n.t("printcenter.jobs.sgi_windshield_auth"), + disabled: false, + group: "pre", + regions: { + CA_SK: true, + }, + }, + mpi_final_acct_sheet: { + title: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), + description: "Thank You Letter by RO", + key: "mpi_final_acct_sheet", + subject: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), + disabled: false, + group: "post", + regions: { + CA_MB: true, + }, + }, + mpi_eglass_auth: { + title: i18n.t("printcenter.jobs.mpi_eglass_auth"), + description: "Thank You Letter by RO", + key: "mpi_eglass_auth", + subject: i18n.t("printcenter.jobs.mpi_eglass_auth"), + disabled: false, + group: "pre", + regions: { + CA_MB: true, + }, + }, + mpi_animal_checklist: { + title: i18n.t("printcenter.jobs.mpi_animal_checklist"), + description: "Thank You Letter by RO", + key: "mpi_animal_checklist", + subject: i18n.t("printcenter.jobs.mpi_animal_checklist"), + disabled: false, + group: "pre", + regions: { + CA_MB: true, + }, + }, + ab_proof_of_loss: { + title: i18n.t("printcenter.jobs.ab_proof_of_loss"), + description: "Thank You Letter by RO", + key: "ab_proof_of_loss", + subject: i18n.t("printcenter.jobs.ab_proof_of_loss"), + disabled: false, + group: "pre", + regions: { + CA_AB: true, + }, + }, + // parts_label_multi: { + // title: i18n.t("printcenter.jobs.parts_label_multi"), + // description: "Thank You Letter by RO", + // key: "parts_label_multi", + // subject: i18n.t("printcenter.jobs.parts_label_multi"), + // disabled: false, + // group: "ro", + // }, + iou_form: { + title: i18n.t("printcenter.jobs.iou_form"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.iou_form"), + key: "iou_form", + disabled: false, + group: "post", + }, + lag_time_ro: { + title: i18n.t("printcenter.jobs.lag_time_ro"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.lag_time_ro"), + key: "lag_time_ro", + disabled: false, + group: "ro", + }, + rental_reservation: { + title: i18n.t("printcenter.jobs.rental_reservation"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.rental_reservation"), + key: "rental_reservation", + disabled: false, + group: "pre", + }, + timetickets_ro: { + title: i18n.t("printcenter.jobs.timetickets_ro"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.timetickets_ro"), + key: "timetickets_ro", + disabled: false, + group: "financial", + }, + dms_posting_sheet: { + title: i18n.t("printcenter.jobs.dms_posting_sheet"), + description: "DMS Posting Sheet", + subject: i18n.t("printcenter.jobs.dms_posting_sheet"), + key: "dms_posting_sheet", + disabled: false, + group: "financial", + }, + } + : {}), + ...(!type || type === "job_special" + ? { + special_thirdpartypayer: { + title: i18n.t("printcenter.jobs.thirdpartypayer"), + description: "CSI invite", + key: "special_thirdpartypayer", + disabled: false, + }, + folder_label_multiple: { + title: i18n.t("printcenter.jobs.folder_label_multiple"), + description: "Folder Label Multiple", + key: "folder_label_multiple", + disabled: false, + }, + parts_label_multiple: { + title: i18n.t("printcenter.jobs.parts_label_multiple"), + description: "Parts Label Multiple", + key: "parts_label_multiple", + disabled: false, + }, + parts_invoice_label_single: { + title: i18n.t("printcenter.jobs.parts_invoice_label_single"), + description: "Parts Label Multiple", + key: "parts_invoice_label_single", + disabled: false, + ignoreCustomMargins: true, + }, + csi_invitation_action: { + title: i18n.t("printcenter.jobs.csi_invitation_action"), + description: "CSI invite", + key: "csi_invitation_action", + subject: i18n.t("printcenter.jobs.csi_invitation_action"), + disabled: false, + }, + individual_job_note: { + title: i18n.t("printcenter.jobs.individual_job_note"), + description: "CSI invite", + key: "individual_job_note", + subject: i18n.t("printcenter.jobs.individual_job_note", { + ro_number: (context && context.ro_number) || "", + }), + disabled: false, + }, + } + : {}), + ...(!type || type === "appointment" + ? { + appointment_confirmation: { + title: i18n.t("printcenter.appointments.appointment_confirmation"), + description: "Appointment Confirmation", + subject: i18n.t( + "printcenter.appointments.appointment_confirmation" + ), + key: "appointment_confirmation", + disabled: false, + }, + } + : {}), + ...(!type || type === "partsorder" + ? { + parts_order: { + title: i18n.t("printcenter.jobs.parts_order"), + description: "Parts Order", + key: "parts_order", + subject: i18n.t("printcenter.subjects.jobs.parts_order", { + ro_number: context && context.job && context.job.ro_number, + name: ( + (context && context.job && context.job.ownr_ln) || + (context && context.job && context.job.ownr_co_nm) || + "" + ).trim(), + }), + disabled: false, + }, + sublet_order: { + title: i18n.t("printcenter.jobs.sublet_order"), + description: "Parts Order", + key: "sublet_order", + subject: i18n.t("printcenter.subjects.jobs.sublet_order", { + ro_number: context && context.job && context.job.ro_number, + name: ( + (context && context.job && context.job.ownr_ln) || + (context && context.job && context.job.ownr_co_nm) || + "" + ).trim(), + }), + disabled: false, + }, + parts_return_slip: { + title: i18n.t("printcenter.jobs.parts_return_slip"), + subject: i18n.t("printcenter.jobs.parts_return_slip"), + description: "Parts Return", + key: "parts_return_slip", + disabled: false, + }, + } + : {}), + ...(!type || type === "payment" + ? { + payment_receipt: { + title: i18n.t("printcenter.jobs.payment_receipt"), + description: "Payment Receipt", + subject: i18n.t("printcenter.jobs.payment_receipt"), + key: "payment_receipt", + disabled: false, + }, + } + : {}), + ...(!type || type === "csi" ? {} : {}), + ...(!type || type === "report_center" + ? { + hours_sold_detail_closed: { + title: i18n.t("reportcenter.templates.hours_sold_detail_closed"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_detail_closed"), + key: "hours_sold_detail_closed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_closed_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_ins_co" + ), + key: "hours_sold_detail_closed_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_closed: { + title: i18n.t("reportcenter.templates.hours_sold_summary_closed"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_summary_closed"), + key: "hours_sold_summary_closed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_closed_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_ins_co" + ), + key: "hours_sold_summary_closed_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_open: { + title: i18n.t("reportcenter.templates.hours_sold_detail_open"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_detail_open"), + key: "hours_sold_detail_open", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_detail_open_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_open_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_open_ins_co" + ), + key: "hours_sold_detail_open_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_summary_open: { + title: i18n.t("reportcenter.templates.hours_sold_summary_open"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_summary_open"), + key: "hours_sold_summary_open", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_summary_open_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_open_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_open_ins_co" + ), + key: "hours_sold_summary_open_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_detail_closed_csr: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_csr" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_csr" + ), + key: "hours_sold_detail_closed_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_open_csr: { + title: i18n.t("reportcenter.templates.hours_sold_detail_open_csr"), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_open_csr" + ), + key: "hours_sold_detail_open_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_summary_closed_csr: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_csr" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_csr" + ), + key: "hours_sold_summary_closed_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_open_csr: { + title: i18n.t("reportcenter.templates.hours_sold_summary_open_csr"), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_open_csr" + ), + key: "hours_sold_summary_open_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_open_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_open_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_open_status" + ), + key: "hours_sold_summary_open_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_closed_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_status" + ), + key: "hours_sold_summary_closed_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_open_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_open_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_open_status" + ), + key: "hours_sold_detail_open_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_closed_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_status" + ), + key: "hours_sold_detail_closed_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + purchases_by_date_range_detail: { + title: i18n.t( + "reportcenter.templates.purchases_by_date_range_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"), + }, + group: "purchases", + }, + purchases_by_date_range_summary: { + title: i18n.t( + "reportcenter.templates.purchases_by_date_range_summary" + ), + 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"), + }, + group: "purchases", + }, + purchases_by_vendor_detailed_date_range: { + title: i18n.t( + "reportcenter.templates.purchases_by_vendor_detailed_date_range" + ), + 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"), + }, + group: "purchases", + }, + purchases_by_vendor_summary_date_range: { + title: i18n.t( + "reportcenter.templates.purchases_by_vendor_summary_date_range" + ), + 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"), + }, + group: "purchases", + }, + 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"), + }, + group: "purchases", + }, + 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"), + }, + group: "purchases", + }, + purchases_grouped_by_vendor_detailed: { + title: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_detailed" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_detailed" + ), + key: "purchases_grouped_by_vendor_detailed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("bills.fields.date"), + }, + group: "purchases", + }, + purchases_grouped_by_vendor_summary: { + title: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_summary" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_summary" + ), + key: "purchases_grouped_by_vendor_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("bills.fields.date"), + }, + group: "purchases", + }, + job_costing_ro_date_summary: { + title: i18n.t("reportcenter.templates.job_costing_ro_date_summary"), + description: "", + subject: i18n.t( + "reportcenter.templates.job_costing_ro_date_summary" + ), + 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"), + }, + group: "jobs", + }, + job_costing_ro_csr: { + title: i18n.t("reportcenter.templates.job_costing_ro_csr"), + description: "", + subject: i18n.t("reportcenter.templates.job_costing_ro_csr"), + key: "job_costing_ro_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + job_costing_ro_ins_co: { + title: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), + key: "job_costing_ro_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + job_costing_ro_date_detail: { + title: i18n.t("reportcenter.templates.job_costing_ro_date_detail"), + description: "", + subject: i18n.t( + "reportcenter.templates.job_costing_ro_date_detail" + ), + 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"), + }, + group: "jobs", + }, + job_costing_ro_estimator: { + title: i18n.t("reportcenter.templates.job_costing_ro_estimator"), + description: "", + subject: i18n.t("reportcenter.templates.job_costing_ro_estimator"), + key: "job_costing_ro_estimator", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + payments_by_date: { + title: i18n.t("reportcenter.templates.payments_by_date"), + subject: i18n.t("reportcenter.templates.payments_by_date"), + key: "payments_by_date", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.payments"), + field: i18n.t("payments.fields.date"), + }, + group: "customers", + }, + payments_by_date_type: { + title: i18n.t("reportcenter.templates.payments_by_date_type"), + 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"), + }, + group: "customers", + }, + 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"), + }, + group: "customers", + }, + timetickets: { + title: i18n.t("reportcenter.templates.timetickets"), + subject: i18n.t("reportcenter.templates.timetickets"), + key: "timetickets", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, + group: "payroll", + }, + timetickets_employee: { + title: i18n.t("reportcenter.templates.timetickets_employee"), + subject: i18n.t("reportcenter.templates.timetickets_employee"), + key: "timetickets_employee", + idtype: "employee", + disabled: false, + group: "payroll", + }, + attendance_detail: { + title: i18n.t("reportcenter.templates.attendance_detail"), + subject: i18n.t("reportcenter.templates.attendance_detail"), + key: "attendance_detail", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, + group: "payroll", + }, + attendance_summary: { + title: i18n.t("reportcenter.templates.attendance_summary"), + subject: i18n.t("reportcenter.templates.attendance_summary"), + key: "attendance_summary", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, + group: "payroll", + }, + attendance_employee: { + title: i18n.t("reportcenter.templates.attendance_employee"), + 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"), + }, + group: "payroll", + }, + timetickets_summary: { + title: i18n.t("reportcenter.templates.timetickets_summary"), + 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"), + }, + group: "payroll", + }, + estimator_detail: { + title: i18n.t("reportcenter.templates.estimator_detail"), + description: "", + subject: i18n.t("reportcenter.templates.estimator_detail"), + key: "estimator_detail", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + estimator_summary: { + title: i18n.t("reportcenter.templates.estimator_summary"), + description: "", + subject: i18n.t("reportcenter.templates.estimator_summary"), + key: "estimator_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + supplement_ratio_ins_co: { + title: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), + key: "supplement_ratio_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + credits_not_received_date: { + title: i18n.t("reportcenter.templates.credits_not_received_date"), + description: "", + subject: i18n.t("reportcenter.templates.credits_not_received_date"), + key: "credits_not_received_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "purchases", + }, + void_ros: { + title: i18n.t("reportcenter.templates.void_ros"), + description: "", + subject: i18n.t("reportcenter.templates.void_ros"), + key: "void_ros", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + gsr_by_csr: { + title: i18n.t("reportcenter.templates.gsr_by_csr"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_csr"), + key: "gsr_by_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_make: { + title: i18n.t("reportcenter.templates.gsr_by_make"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_make"), + key: "gsr_by_make", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_delivery_date: { + title: i18n.t("reportcenter.templates.gsr_by_delivery_date"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_delivery_date"), + key: "gsr_by_delivery_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_delivery"), + }, + group: "sales", + }, + gsr_by_referral: { + title: i18n.t("reportcenter.templates.gsr_by_referral"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_referral"), + key: "gsr_by_referral", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_ro: { + title: i18n.t("reportcenter.templates.gsr_by_ro"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_ro"), + key: "gsr_by_ro", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_ins_co: { + title: i18n.t("reportcenter.templates.gsr_by_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_ins_co"), + key: "gsr_by_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_exported_date: { + title: i18n.t("reportcenter.templates.gsr_by_exported_date"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_exported_date"), + key: "gsr_by_exported_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_exported"), + }, + group: "sales", + }, + gsr_by_estimator: { + title: i18n.t("reportcenter.templates.gsr_by_estimator"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_estimator"), + key: "gsr_by_estimator", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_category: { + title: i18n.t("reportcenter.templates.gsr_by_category"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_category"), + key: "gsr_by_category", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_ats: { + title: i18n.t("reportcenter.templates.gsr_by_ats"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_ats"), + key: "gsr_by_ats", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_labor_only: { + title: i18n.t("reportcenter.templates.gsr_labor_only"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_labor_only"), + key: "gsr_labor_only", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + open_orders: { + title: i18n.t("reportcenter.templates.open_orders"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders"), + key: "open_orders", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_status: { + title: i18n.t("reportcenter.templates.open_orders_status"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_status"), + key: "open_orders_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_csr: { + title: i18n.t("reportcenter.templates.open_orders_csr"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_csr"), + key: "open_orders_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_estimator: { + title: i18n.t("reportcenter.templates.open_orders_estimator"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_estimator"), + key: "open_orders_estimator", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_ins_co: { + title: i18n.t("reportcenter.templates.open_orders_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_ins_co"), + key: "open_orders_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_specific_csr: { + title: i18n.t("reportcenter.templates.open_orders_specific_csr"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_specific_csr"), + key: "open_orders_specific_csr", + idtype: "employee", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + export_payables: { + title: i18n.t("reportcenter.templates.export_payables"), + description: "", + subject: i18n.t("reportcenter.templates.export_payables"), + key: "export_payables", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.exportlogs"), + field: i18n.t("exportlogs.fields.createdat"), + }, + group: "purchases", + }, + export_payments: { + title: i18n.t("reportcenter.templates.export_payments"), + description: "", + subject: i18n.t("reportcenter.templates.export_payments"), + key: "export_payments", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.exportlogs"), + field: i18n.t("exportlogs.fields.createdat"), + }, + group: "customers", + }, + export_receivables: { + title: i18n.t("reportcenter.templates.export_receivables"), + description: "", + subject: i18n.t("reportcenter.templates.export_receivables"), + key: "export_receivables", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.exportlogs"), + field: i18n.t("exportlogs.fields.createdat"), + }, + group: "sales", + }, + parts_backorder: { + title: i18n.t("reportcenter.templates.parts_backorder"), + description: "", + subject: i18n.t("reportcenter.templates.parts_backorder"), + key: "parts_backorder", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_in"), + }, + group: "purchases", + }, + thank_you_date: { + title: i18n.t("reportcenter.templates.thank_you_date"), + description: "", + subject: i18n.t("reportcenter.templates.thank_you_date"), + key: "thank_you_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "customers", + }, + unclaimed_hrs: { + title: i18n.t("reportcenter.templates.unclaimed_hrs"), + description: "", + subject: i18n.t("reportcenter.templates.unclaimed_hrs"), + key: "unclaimed_hrs", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "payroll", + }, + work_in_progress_labour: { + title: i18n.t("reportcenter.templates.work_in_progress_labour"), + description: "", + subject: i18n.t("reportcenter.templates.work_in_progress_labour"), + key: "work_in_progress_labour", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + work_in_progress_payables: { + title: i18n.t("reportcenter.templates.work_in_progress_payables"), + description: "", + subject: i18n.t("reportcenter.templates.work_in_progress_payables"), + key: "work_in_progress_payables", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + lag_time: { + title: i18n.t("reportcenter.templates.lag_time"), + description: "", + subject: i18n.t("reportcenter.templates.lag_time"), + key: "lag_time", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + parts_not_recieved: { + title: i18n.t("reportcenter.templates.parts_not_recieved"), + description: "", + subject: i18n.t("reportcenter.templates.parts_not_recieved"), + key: "parts_not_recieved", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "purchases", + }, + parts_not_recieved_vendor: { + title: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), + description: "", + subject: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), + key: "parts_not_recieved_vendor", + idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "purchases", + }, + scoreboard_detail: { + title: i18n.t("reportcenter.templates.scoreboard_detail"), + description: "", + subject: i18n.t("reportcenter.templates.scoreboard_detail"), + key: "scoreboard_detail", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.scoreboard"), + field: i18n.t("scoreboard.fields.date"), + }, + group: "payroll", + }, + scoreboard_summary: { + title: i18n.t("reportcenter.templates.scoreboard_summary"), + description: "", + subject: i18n.t("reportcenter.templates.scoreboard_summary"), + key: "scoreboard_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.scoreboard"), + field: i18n.t("scoreboard.fields.date"), + }, + group: "payroll", + }, + anticipated_revenue: { + title: i18n.t("reportcenter.templates.anticipated_revenue"), + description: "", + subject: i18n.t("reportcenter.templates.anticipated_revenue"), + key: "anticipated_revenue", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.scheduled_completion"), // Also date invoice. + }, + group: "sales", + }, + csi: { + title: i18n.t("reportcenter.templates.csi"), + description: "", + subject: i18n.t("reportcenter.templates.csi"), + key: "csi", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.csi"), + field: i18n.t("csi.fields.created_at"), // Also date invoice. + }, + group: "customers", + }, + estimates_written_converted: { + title: i18n.t("reportcenter.templates.estimates_written_converted"), + description: "", + subject: i18n.t( + "reportcenter.templates.estimates_written_converted" + ), + key: "estimates_written_converted", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: + i18n.t("jobs.fields.date_open") + + "/" + + i18n.t("jobs.fields.date_invoiced"), // Also date invoice. + }, + group: "sales", + }, + credits_not_received_date_vendorid: { + title: i18n.t( + "reportcenter.templates.credits_not_received_date_vendorid" + ), + subject: i18n.t( + "reportcenter.templates.credits_not_received_date_vendorid" + ), + key: "credits_not_received_date_vendorid", + idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "purchases", + }, + jobs_reconcile: { + title: i18n.t("reportcenter.templates.jobs_reconcile"), + subject: i18n.t("reportcenter.templates.jobs_reconcile"), + key: "jobs_reconcile", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + parts_received_not_scheduled: { + title: i18n.t( + "reportcenter.templates.parts_received_not_scheduled" + ), + subject: i18n.t( + "reportcenter.templates.parts_received_not_scheduled" + ), + key: "parts_received_not_scheduled", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + psr_by_make: { + title: i18n.t("reportcenter.templates.psr_by_make"), + subject: i18n.t("reportcenter.templates.psr_by_make"), + key: "psr_by_make", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + cycle_time_analysis: { + title: i18n.t("reportcenter.templates.cycle_time_analysis"), + subject: i18n.t("reportcenter.templates.cycle_time_analysis"), + key: "cycle_time_analysis", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_completion"), + }, + group: "jobs", + }, + returns_grouped_by_vendor_summary: { + title: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_summary" + ), + subject: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_summary" + ), + key: "returns_grouped_by_vendor_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "jobs", + }, + returns_grouped_by_vendor_detailed: { + title: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_detailed" + ), + subject: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_detailed" + ), + key: "returns_grouped_by_vendor_detailed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "jobs", + }, + scheduled_parts_list: { + title: i18n.t("reportcenter.templates.scheduled_parts_list"), + subject: i18n.t("reportcenter.templates.scheduled_parts_list"), + key: "scheduled_parts_list", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.scheduled_in"), + }, + group: "jobs", + }, + jobs_completed_not_invoiced: { + title: i18n.t("reportcenter.templates.jobs_completed_not_invoiced"), + subject: i18n.t( + "reportcenter.templates.jobs_completed_not_invoiced" + ), + key: "jobs_completed_not_invoiced", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + jobs_invoiced_not_exported: { + title: i18n.t("reportcenter.templates.jobs_invoiced_not_exported"), + subject: i18n.t( + "reportcenter.templates.jobs_invoiced_not_exported" + ), + key: "jobs_invoiced_not_exported", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + 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", + }, + production_over_time: { + title: i18n.t("reportcenter.templates.production_over_time"), + subject: i18n.t("reportcenter.templates.production_over_time"), + key: "production_over_time", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_in"), + }, + group: "jobs", + }, + customer_list: { + title: i18n.t("reportcenter.templates.customer_list"), + subject: i18n.t("reportcenter.templates.customer_list"), + key: "customer_list", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "customers", + }, + } + : {}), + ...(!type || type === "courtesycarcontract" + ? { + courtesy_car_contract: { + title: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_contract" + ), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_contract" + ), + key: "courtesy_car_contract", + disabled: false, + }, + courtesy_car_terms: { + title: i18n.t("printcenter.courtesycarcontract.courtesy_car_terms"), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_terms" + ), + key: "courtesy_car_terms", + disabled: false, + }, + courtesy_car_impound: { + title: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_impound" + ), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_impound" + ), + key: "courtesy_car_impound", + disabled: false, + }, + } + : {}), + ...(!type || type === "courtesycar" + ? { + courtesy_car_inventory: { + title: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_inventory" + ), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_inventory" + ), + key: "courtesy_car_inventory", + disabled: false, + }, + } + : {}), + ...(!type || type === "bill" + ? { + inhouse_invoice: { + title: i18n.t("printcenter.bills.inhouse_invoice"), + description: "Est Detail", + subject: i18n.t("printcenter.bills.inhouse_invoice"), + key: "inhouse_invoice", + disabled: false, + }, + } + : {}), + ...(!type || type === "timeticket" + ? { + // timetickets: { + // title: i18n.t("printcenter.timetickets.timetickets"), + // description: "Est Detail", + // subject: `${i18n.t("printcenter.timetickets.timetickets")} - ${ + // context && context.job && context.job.ro_number + // }`, + // key: "timetickets", + // disabled: false, + // }, + } + : {}), + ...(!type || type === "vendor" + ? { + purchases_by_vendor_detailed: { + title: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), + description: "Est Detail", + subject: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), + key: "purchases_by_vendor_detailed", + disabled: false, + }, + purchases_by_vendor_summary: { + title: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), + description: "Est Detail", + subject: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), + key: "purchases_by_vendor_summary", + disabled: false, + }, + } + : {}), + ...(!type || type === "production" + ? { + production_by_last_name: { + title: i18n.t("reportcenter.templates.production_by_last_name"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_last_name"), + key: "production_by_last_name", + //idtype: "vendor", + disabled: false, + }, + production_by_repair_status: { + title: i18n.t("reportcenter.templates.production_by_repair_status"), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_repair_status" + ), + key: "production_by_repair_status", + //idtype: "vendor", + disabled: false, + }, + production_by_target_date: { + title: i18n.t("reportcenter.templates.production_by_target_date"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_target_date"), + key: "production_by_target_date", + //idtype: "vendor", + disabled: false, + }, + production_by_ro: { + title: i18n.t("reportcenter.templates.production_by_ro"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_ro"), + key: "production_by_ro", + //idtype: "vendor", + disabled: false, + }, + production_by_csr: { + title: i18n.t("reportcenter.templates.production_by_csr"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_csr"), + key: "production_by_csr", + //idtype: "vendor", + disabled: false, + }, + production_by_category: { + title: i18n.t("reportcenter.templates.production_by_category"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_category"), + key: "production_by_category", + //idtype: "vendor", + disabled: false, + }, + production_by_technician: { + title: i18n.t("reportcenter.templates.production_by_technician"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_technician"), + key: "production_by_technician", + //idtype: "vendor", + disabled: false, + }, + } + : {}), + ...(!type || type === "special" + ? { + ca_bc_etf_table: { + title: i18n.t("printcenter.payments.ca_bc_etf_table"), + description: "Est Detail", + subject: i18n.t("printcenter.payments.ca_bc_etf_table"), + key: "ca_bc_etf_table", + disabled: false, + }, + exported_payroll: { + title: i18n.t("printcenter.payments.exported_payroll"), + description: "Est Detail", + subject: i18n.t("printcenter.payments.exported_payroll"), + key: "exported_payroll", + disabled: false, + }, + attendance_detail_csv: { + title: i18n.t("printcenter.special.attendance_detail_csv"), + description: "Est Detail", + subject: i18n.t("printcenter.special.attendance_detail_csv"), + key: "attendance_detail_csv", + disabled: false, + }, + production_by_technician_one: { + title: i18n.t( + "reportcenter.templates.production_by_technician_one" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_technician_one" + ), + key: "production_by_technician_one", + //idtype: "vendor", + disabled: false, + }, + production_by_category_one: { + title: i18n.t("reportcenter.templates.production_by_category_one"), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_category_one" + ), + key: "production_by_category_one", + //idtype: "vendor", + disabled: false, + }, + production_by_repair_status_one: { + title: i18n.t( + "reportcenter.templates.production_by_repair_status_one" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_repair_status_one" + ), + key: "production_by_repair_status_one", + //idtype: "vendor", + disabled: false, + }, + } + : {}), + }; }; From 7725080a113964abd86362d32ef5f7d0bf8540a9 Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Thu, 20 Apr 2023 09:33:22 -0700 Subject: [PATCH 02/11] IO-2235 Exported GSR to Excel For Morrey Body Shop --- .../report-center-modal.component.jsx | 498 +++++++++--------- client/src/translations/en_us/common.json | 3 + client/src/translations/es/common.json | 3 + client/src/translations/fr/common.json | 3 + client/src/utils/TemplateConstants.js | 24 + 5 files changed, 296 insertions(+), 235 deletions(-) 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 e0db4f516..f2906c338 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 @@ -1,14 +1,14 @@ import { useLazyQuery } from "@apollo/client"; import { - Button, - Card, - Col, - DatePicker, - Form, - Input, - Radio, - Row, - Typography, + Button, + Card, + Col, + DatePicker, + Form, + Input, + Radio, + Row, + Typography, } from "antd"; import _ from "lodash"; import moment from "moment"; @@ -26,253 +26,281 @@ import EmployeeSearchSelect from "../employee-search-select/employee-search-sele import VendorSearchSelect from "../vendor-search-select/vendor-search-select.component"; import "./report-center-modal.styles.scss"; const mapStateToProps = createStructuredSelector({ - reportCenterModal: selectReportCenter, + reportCenterModal: selectReportCenter, }); const mapDispatchToProps = (dispatch) => ({ - //setUserLanguage: language => dispatch(setUserLanguage(language)) + //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect( - mapStateToProps, - mapDispatchToProps + mapStateToProps, + mapDispatchToProps )(ReportCenterModalComponent); export function ReportCenterModalComponent({ reportCenterModal }) { - const [form] = Form.useForm(); - const [search, setSearch] = useState(""); + const [form] = Form.useForm(); + const [search, setSearch] = useState(""); - const [loading, setLoading] = useState(false); - const { t } = useTranslation(); - const Templates = TemplateList("report_center"); - const ReportsList = Object.keys(Templates).map((key) => { - return Templates[key]; - }); - const { visible } = reportCenterModal; + const [loading, setLoading] = useState(false); + const { t } = useTranslation(); + const Templates = TemplateList("report_center"); + const ReportsList = Object.keys(Templates).map((key) => { + return Templates[key]; + }); + const { visible } = reportCenterModal; - const [callVendorQuery, { data: vendorData, called: vendorCalled }] = - useLazyQuery(QUERY_ALL_VENDORS, { - skip: !( - visible && - Templates[form.getFieldValue("key")] && - Templates[form.getFieldValue("key")].idtype - ), - }); + const [callVendorQuery, { data: vendorData, called: vendorCalled }] = + useLazyQuery(QUERY_ALL_VENDORS, { + skip: !( + visible && + Templates[form.getFieldValue("key")] && + Templates[form.getFieldValue("key")].idtype + ), + }); - const [callEmployeeQuery, { data: employeeData, called: employeeCalled }] = - useLazyQuery(QUERY_ACTIVE_EMPLOYEES, { - skip: !( - visible && - Templates[form.getFieldValue("key")] && - Templates[form.getFieldValue("key")].idtype - ), - }); + const [callEmployeeQuery, { data: employeeData, called: employeeCalled }] = + useLazyQuery(QUERY_ACTIVE_EMPLOYEES, { + skip: !( + visible && + Templates[form.getFieldValue("key")] && + Templates[form.getFieldValue("key")].idtype + ), + }); - const handleFinish = async (values) => { - setLoading(true); - const start = values.dates[0]; - const end = values.dates[1]; - const { id } = values; + const handleFinish = async (values) => { + setLoading(true); + const start = values.dates[0]; + const end = values.dates[1]; + const { id } = values; - await GenerateDocument( - { - name: values.key, - variables: { - ...(start - ? { start: moment(start).startOf("day").format("YYYY-MM-DD") } - : {}), - ...(end - ? { end: moment(end).endOf("day").format("YYYY-MM-DD") } - : {}), - ...(start ? { starttz: moment(start).startOf("day") } : {}), - ...(end ? { endtz: moment(end).endOf("day") } : {}), + await GenerateDocument( + { + name: values.key, + variables: { + ...(start + ? { start: moment(start).startOf("day").format("YYYY-MM-DD") } + : {}), + ...(end + ? { end: moment(end).endOf("day").format("YYYY-MM-DD") } + : {}), + ...(start ? { starttz: moment(start).startOf("day") } : {}), + ...(end ? { endtz: moment(end).endOf("day") } : {}), - ...(id ? { id: id } : {}), - }, - }, - { - to: values.to, - subject: Templates[values.key]?.subject, - }, - values.sendby === "email" ? "e" : "p", - id - ); - setLoading(false); - }; + ...(id ? { id: id } : {}), + }, + }, + { + to: values.to, + subject: Templates[values.key]?.subject, + }, + values.sendby === "excel" ? "x" : values.sendby === "email" ? "e" : "p", + id + ); + setLoading(false); + }; - const FilteredReportsList = - search !== "" - ? ReportsList.filter((r) => - r.title.toLowerCase().includes(search.toLowerCase()) - ) - : ReportsList; + const FilteredReportsList = + search !== "" + ? ReportsList.filter((r) => + r.title.toLowerCase().includes(search.toLowerCase()) + ) + : ReportsList; - //Group it, create cards, and then filter out. + //Group it, create cards, and then filter out. - const grouped = _.groupBy(FilteredReportsList, "group"); + const grouped = _.groupBy(FilteredReportsList, "group"); - return ( -
-
- setSearch(e.target.value)} - value={search} - /> - - - {/* {Object.keys(Templates).map((key) => ( + return ( +
+ + setSearch(e.target.value)} + value={search} + /> + + + {/* {Object.keys(Templates).map((key) => ( {Templates[key].title} ))} */} - - {Object.keys(grouped).map((key) => ( - - - - {t(`reportcenter.labels.groups.${key}`)} - -
    - {grouped[key].map((item) => ( -
  • - - {item.title} - -
  • - ))} -
-
- - ))} -
-
-
- - {() => { - 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"); - const currentId = form.getFieldValue("id"); - if (!key) return null; - //Kind of Id - const idtype = Templates[key] && Templates[key].idtype; - if (!idtype && currentId) { - form.setFieldsValue({ id: null }); - return null; - } - if (!vendorCalled && idtype === "vendor") callVendorQuery(); - if (!employeeCalled && idtype === "employee") callEmployeeQuery(); - if (idtype === "vendor") - return ( - - - - ); - if (idtype === "employee") - return ( - - - - ); - else return null; - }} - - - - - - - {t("general.labels.email")} - {t("general.labels.print")} - - + + {Object.keys(grouped).map((key) => ( + + + + {t(`reportcenter.labels.groups.${key}`)} + +
    + {grouped[key].map((item) => ( +
  • + + {item.title} + +
  • + ))} +
+
+ + ))} +
+ + + + {() => { + 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"); + const currentId = form.getFieldValue("id"); + if (!key) return null; + //Kind of Id + const idtype = Templates[key] && Templates[key].idtype; + if (!idtype && currentId) { + form.setFieldsValue({ id: null }); + return null; + } + if (!vendorCalled && idtype === "vendor") callVendorQuery(); + if (!employeeCalled && idtype === "employee") callEmployeeQuery(); + if (idtype === "vendor") + return ( + + + + ); + if (idtype === "employee") + return ( + + + + ); + else return null; + }} + + + + + + {() => { + const key = form.getFieldValue("key"); + const currentId = form.getFieldValue("id"); + if (!key) return null; + //Kind of Id + const idtype = Templates[key] && Templates[key].idtype; + if (!idtype && currentId) { + form.setFieldsValue({ id: null }); + return null; + } + if (idtype === "excel") + return ( + + + {t("general.labels.excel")} + + + ); + if (idtype !== "excel") + return ( + + + {t("general.labels.email")} + {t("general.labels.print")} + + + ); + }} + -
- -
- -
- ); +
+ +
+ +
+ ); } diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 725bf69e5..0249aba70 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -1015,6 +1015,7 @@ "created_at": "Created At", "email": "Email", "errors": "Errors", + "excel": "Excel", "exceptiontitle": "An error has occurred.", "friday": "Friday", "globalsearch": "Global Search", @@ -2445,6 +2446,8 @@ "export_payables": "Export Log - Payables", "export_payments": "Export Log - Payments", "export_receivables": "Export Log - Receivables", + "exported_gsr_by_ro": "Exported Gross Sales - Excel", + "exported_gsr_by_ro_labor": "Exported Gross Sales (Labor) - Excel", "gsr_by_atp": "", "gsr_by_ats": "Gross Sales by ATS", "gsr_by_category": "Gross Sales by Category", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 0af8515dd..5d2ed6839 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -1015,6 +1015,7 @@ "created_at": "", "email": "", "errors": "", + "excel": "", "exceptiontitle": "", "friday": "", "globalsearch": "", @@ -2445,6 +2446,8 @@ "export_payables": "", "export_payments": "", "export_receivables": "", + "exported_gsr_by_ro": "", + "exported_gsr_by_ro_labor": "", "gsr_by_atp": "", "gsr_by_ats": "", "gsr_by_category": "", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index c474c6c27..66c8ea469 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -1015,6 +1015,7 @@ "created_at": "", "email": "", "errors": "", + "excel": "", "exceptiontitle": "", "friday": "", "globalsearch": "", @@ -2445,6 +2446,8 @@ "export_payables": "", "export_payments": "", "export_receivables": "", + "exported_gsr_by_ro": "", + "exported_gsr_by_ro_labor": "", "gsr_by_atp": "", "gsr_by_ats": "", "gsr_by_category": "", diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js index e2aeb1132..ee36e687e 100644 --- a/client/src/utils/TemplateConstants.js +++ b/client/src/utils/TemplateConstants.js @@ -1857,6 +1857,30 @@ export const TemplateList = (type, context) => { }, group: "customers", }, + exported_gsr_by_ro: { + title: i18n.t("reportcenter.templates.exported_gsr_by_ro"), + subject: i18n.t("reportcenter.templates.exported_gsr_by_ro"), + key: "exported_gsr_by_ro", + idtype: "excel", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_exported"), + }, + group: "sales", + }, + exported_gsr_by_ro_labor: { + title: i18n.t("reportcenter.templates.exported_gsr_by_ro_labor"), + subject: i18n.t("reportcenter.templates.exported_gsr_by_ro_labor"), + key: "exported_gsr_by_ro_labor", + idtype: "excel", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_exported"), + }, + group: "sales", + }, } : {}), ...(!type || type === "courtesycarcontract" From 2a0ad46eeaa8d3648787133321702fa6366c8569 Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Thu, 20 Apr 2023 09:46:21 -0700 Subject: [PATCH 03/11] IO-2235 Changes in Prettier --- .../report-center-modal.component.jsx | 526 +++++++++--------- 1 file changed, 263 insertions(+), 263 deletions(-) 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 f2906c338..255273419 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 @@ -1,14 +1,14 @@ import { useLazyQuery } from "@apollo/client"; import { - Button, - Card, - Col, - DatePicker, - Form, - Input, - Radio, - Row, - Typography, + Button, + Card, + Col, + DatePicker, + Form, + Input, + Radio, + Row, + Typography, } from "antd"; import _ from "lodash"; import moment from "moment"; @@ -26,281 +26,281 @@ import EmployeeSearchSelect from "../employee-search-select/employee-search-sele import VendorSearchSelect from "../vendor-search-select/vendor-search-select.component"; import "./report-center-modal.styles.scss"; const mapStateToProps = createStructuredSelector({ - reportCenterModal: selectReportCenter, + reportCenterModal: selectReportCenter, }); const mapDispatchToProps = (dispatch) => ({ - //setUserLanguage: language => dispatch(setUserLanguage(language)) + //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect( - mapStateToProps, - mapDispatchToProps + mapStateToProps, + mapDispatchToProps )(ReportCenterModalComponent); export function ReportCenterModalComponent({ reportCenterModal }) { - const [form] = Form.useForm(); - const [search, setSearch] = useState(""); + const [form] = Form.useForm(); + const [search, setSearch] = useState(""); - const [loading, setLoading] = useState(false); - const { t } = useTranslation(); - const Templates = TemplateList("report_center"); - const ReportsList = Object.keys(Templates).map((key) => { - return Templates[key]; - }); - const { visible } = reportCenterModal; + const [loading, setLoading] = useState(false); + const { t } = useTranslation(); + const Templates = TemplateList("report_center"); + const ReportsList = Object.keys(Templates).map((key) => { + return Templates[key]; + }); + const { visible } = reportCenterModal; - const [callVendorQuery, { data: vendorData, called: vendorCalled }] = - useLazyQuery(QUERY_ALL_VENDORS, { - skip: !( - visible && - Templates[form.getFieldValue("key")] && - Templates[form.getFieldValue("key")].idtype - ), - }); + const [callVendorQuery, { data: vendorData, called: vendorCalled }] = + useLazyQuery(QUERY_ALL_VENDORS, { + skip: !( + visible && + Templates[form.getFieldValue("key")] && + Templates[form.getFieldValue("key")].idtype + ), + }); - const [callEmployeeQuery, { data: employeeData, called: employeeCalled }] = - useLazyQuery(QUERY_ACTIVE_EMPLOYEES, { - skip: !( - visible && - Templates[form.getFieldValue("key")] && - Templates[form.getFieldValue("key")].idtype - ), - }); + const [callEmployeeQuery, { data: employeeData, called: employeeCalled }] = + useLazyQuery(QUERY_ACTIVE_EMPLOYEES, { + skip: !( + visible && + Templates[form.getFieldValue("key")] && + Templates[form.getFieldValue("key")].idtype + ), + }); - const handleFinish = async (values) => { - setLoading(true); - const start = values.dates[0]; - const end = values.dates[1]; - const { id } = values; + const handleFinish = async (values) => { + setLoading(true); + const start = values.dates[0]; + const end = values.dates[1]; + const { id } = values; - await GenerateDocument( - { - name: values.key, - variables: { - ...(start - ? { start: moment(start).startOf("day").format("YYYY-MM-DD") } - : {}), - ...(end - ? { end: moment(end).endOf("day").format("YYYY-MM-DD") } - : {}), - ...(start ? { starttz: moment(start).startOf("day") } : {}), - ...(end ? { endtz: moment(end).endOf("day") } : {}), + await GenerateDocument( + { + name: values.key, + variables: { + ...(start + ? { start: moment(start).startOf("day").format("YYYY-MM-DD") } + : {}), + ...(end + ? { end: moment(end).endOf("day").format("YYYY-MM-DD") } + : {}), + ...(start ? { starttz: moment(start).startOf("day") } : {}), + ...(end ? { endtz: moment(end).endOf("day") } : {}), - ...(id ? { id: id } : {}), - }, - }, - { - to: values.to, - subject: Templates[values.key]?.subject, - }, - values.sendby === "excel" ? "x" : values.sendby === "email" ? "e" : "p", - id - ); - setLoading(false); - }; + ...(id ? { id: id } : {}), + }, + }, + { + to: values.to, + subject: Templates[values.key]?.subject, + }, + values.sendby === "excel" ? "x" : values.sendby === "email" ? "e" : "p", + id + ); + setLoading(false); + }; - const FilteredReportsList = - search !== "" - ? ReportsList.filter((r) => - r.title.toLowerCase().includes(search.toLowerCase()) - ) - : ReportsList; + const FilteredReportsList = + search !== "" + ? ReportsList.filter((r) => + r.title.toLowerCase().includes(search.toLowerCase()) + ) + : ReportsList; - //Group it, create cards, and then filter out. + //Group it, create cards, and then filter out. - const grouped = _.groupBy(FilteredReportsList, "group"); + const grouped = _.groupBy(FilteredReportsList, "group"); - return ( -
-
- setSearch(e.target.value)} - value={search} - /> - - - {/* {Object.keys(Templates).map((key) => ( + return ( +
+ + setSearch(e.target.value)} + value={search} + /> + + + {/* {Object.keys(Templates).map((key) => ( {Templates[key].title} ))} */} - - {Object.keys(grouped).map((key) => ( - - - - {t(`reportcenter.labels.groups.${key}`)} - -
    - {grouped[key].map((item) => ( -
  • - - {item.title} - -
  • - ))} -
-
- - ))} -
-
-
- - {() => { - 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"); - const currentId = form.getFieldValue("id"); - if (!key) return null; - //Kind of Id - const idtype = Templates[key] && Templates[key].idtype; - if (!idtype && currentId) { - form.setFieldsValue({ id: null }); - return null; - } - if (!vendorCalled && idtype === "vendor") callVendorQuery(); - if (!employeeCalled && idtype === "employee") callEmployeeQuery(); - if (idtype === "vendor") - return ( - - - - ); - if (idtype === "employee") - return ( - - - - ); - else return null; - }} - - - - - - {() => { - const key = form.getFieldValue("key"); - const currentId = form.getFieldValue("id"); - if (!key) return null; - //Kind of Id - const idtype = Templates[key] && Templates[key].idtype; - if (!idtype && currentId) { - form.setFieldsValue({ id: null }); - return null; - } - if (idtype === "excel") - return ( - - - {t("general.labels.excel")} - - - ); - if (idtype !== "excel") - return ( - - - {t("general.labels.email")} - {t("general.labels.print")} - - - ); - }} - + + {Object.keys(grouped).map((key) => ( + + + + {t(`reportcenter.labels.groups.${key}`)} + +
    + {grouped[key].map((item) => ( +
  • + + {item.title} + +
  • + ))} +
+
+ + ))} +
+ + + + {() => { + 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"); + const currentId = form.getFieldValue("id"); + if (!key) return null; + //Kind of Id + const idtype = Templates[key] && Templates[key].idtype; + if (!idtype && currentId) { + form.setFieldsValue({ id: null }); + return null; + } + if (!vendorCalled && idtype === "vendor") callVendorQuery(); + if (!employeeCalled && idtype === "employee") callEmployeeQuery(); + if (idtype === "vendor") + return ( + + + + ); + if (idtype === "employee") + return ( + + + + ); + else return null; + }} + + + + + + {() => { + const key = form.getFieldValue("key"); + const currentId = form.getFieldValue("id"); + if (!key) return null; + //Kind of Id + const idtype = Templates[key] && Templates[key].idtype; + if (!idtype && currentId) { + form.setFieldsValue({ id: null }); + return null; + } + if (idtype === "excel") + return ( + + + {t("general.labels.excel")} + + + ); + if (idtype !== "excel") + return ( + + + {t("general.labels.email")} + {t("general.labels.print")} + + + ); + }} + -
- -
- -
- ); +
+ +
+ +
+ ); } From f080e84985c0e1a52994058147a6c9e3275b1e8d Mon Sep 17 00:00:00 2001 From: swtmply Date: Fri, 21 Apr 2023 02:56:11 +0800 Subject: [PATCH 04/11] IO-2242 added email on vendor query --- .../parts-order-list-table/parts-order-list-table.component.jsx | 2 +- client/src/graphql/bills.queries.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx b/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx index 84d73d401..ffb95adcc 100644 --- a/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx +++ b/client/src/components/parts-order-list-table/parts-order-list-table.component.jsx @@ -201,6 +201,7 @@ export function PartsOrderListTableComponent({ subject: record.return ? Templates.parts_return_slip.subject : Templates.parts_order.subject, + to: record.vendor.email, }} id={job.id} /> @@ -296,7 +297,6 @@ export function PartsOrderListTableComponent({ sortOrder: state.sortedInfo.columnKey === "quantity" && state.sortedInfo.order, }, - { title: t("parts_orders.fields.act_price"), dataIndex: "act_price", diff --git a/client/src/graphql/bills.queries.js b/client/src/graphql/bills.queries.js index f042fd7ae..4d39eda47 100644 --- a/client/src/graphql/bills.queries.js +++ b/client/src/graphql/bills.queries.js @@ -69,6 +69,7 @@ export const QUERY_BILLS_BY_JOBID = gql` vendor { id name + email } order_date deliver_by @@ -104,6 +105,7 @@ export const QUERY_BILLS_BY_JOBID = gql` vendor { id name + email } total invoice_number From d3fe2c9d06cf7cf0de7792b6691bba0629f79658 Mon Sep 17 00:00:00 2001 From: swtmply Date: Fri, 21 Apr 2023 03:37:36 +0800 Subject: [PATCH 05/11] IO-2011 removed column background color --- client/src/App/App.styles.scss | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client/src/App/App.styles.scss b/client/src/App/App.styles.scss index bb4824cd0..2ed11cbc6 100644 --- a/client/src/App/App.styles.scss +++ b/client/src/App/App.styles.scss @@ -143,13 +143,16 @@ } } - -//Update row highlighting on production board. +//Update row highlighting on production board. .ant-table-tbody > tr.ant-table-row:hover > td { background: #eaeaea !important; } -.job-line-manual{ +.job-line-manual { color: tomato; font-style: italic; } + +td.ant-table-column-sort { + background-color: transparent; +} From 522665256e9e22797e4b280a8dae17853b3febf5 Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Thu, 20 Apr 2023 12:43:06 -0700 Subject: [PATCH 06/11] IO-2335 Exported GSR to Excel Change idtype to reporttype to prevent issues later on down the road if we extend more reports to excel format --- .../report-center-modal.component.jsx | 23 +- client/src/utils/TemplateConstants.js | 4186 +++++++++-------- 2 files changed, 2105 insertions(+), 2104 deletions(-) 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 255273419..913d27282 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 @@ -92,7 +92,11 @@ export function ReportCenterModalComponent({ reportCenterModal }) { to: values.to, subject: Templates[values.key]?.subject, }, - values.sendby === "excel" ? "x" : values.sendby === "email" ? "e" : "p", + values.sendbyexcel === "excel" + ? "x" + : values.sendby === "email" + ? "e" + : "p", id ); setLoading(false); @@ -253,27 +257,22 @@ export function ReportCenterModalComponent({ reportCenterModal }) { {() => { const key = form.getFieldValue("key"); - const currentId = form.getFieldValue("id"); - if (!key) return null; //Kind of Id - const idtype = Templates[key] && Templates[key].idtype; - if (!idtype && currentId) { - form.setFieldsValue({ id: null }); - return null; - } - if (idtype === "excel") + const reporttype = Templates[key] && Templates[key].reporttype; + + if (reporttype === "excel") return ( {t("general.labels.excel")} ); - if (idtype !== "excel") + if (reporttype !== "excel") return ( { - //const { bodyshop } = store.getState().user; + //const { bodyshop } = store.getState().user; - return { - //If there's no type or the type is job, send it back. - ...(!type || type === "job" - ? { - casl_authorization: { - title: i18n.t("printcenter.jobs.casl_authorization"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.casl_authorization"), - key: "casl_authorization", - disabled: false, - group: "authorization", - }, - fippa_authorization: { - title: i18n.t("printcenter.jobs.fippa_authorization"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.fippa_authorization"), - key: "fippa_authorization", - disabled: false, - group: "authorization", - }, - diagnostic_authorization: { - title: i18n.t("printcenter.jobs.diagnostic_authorization"), - description: "Diagnostic Authorization", - subject: i18n.t("printcenter.jobs.diagnostic_authorization"), - key: "diagnostic_authorization", - disabled: false, - group: "authorization", - }, - mechanical_authorization: { - title: i18n.t("printcenter.jobs.mechanical_authorization"), - description: "Diagnostic Authorization", - subject: i18n.t("printcenter.jobs.mechanical_authorization"), - key: "mechanical_authorization", - disabled: false, - group: "authorization", - }, - appointment_reminder: { - title: i18n.t("printcenter.jobs.appointment_reminder"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.appointment_reminder"), - key: "appointment_reminder", - disabled: false, - group: "pre", - }, - estimate_followup: { - title: i18n.t("printcenter.jobs.estimate_followup"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.estimate_followup"), - key: "estimate_followup", - disabled: false, - group: "pre", - }, - express_repair_checklist: { - title: i18n.t("printcenter.jobs.express_repair_checklist"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.express_repair_checklist"), - key: "express_repair_checklist", - disabled: false, - group: "pre", - }, - glass_express_checklist: { - title: i18n.t("printcenter.jobs.glass_express_checklist"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.glass_express_checklist"), - key: "glass_express_checklist", - disabled: false, - group: "pre", - }, - stolen_recovery_checklist: { - title: i18n.t("printcenter.jobs.stolen_recovery_checklist"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.stolen_recovery_checklist"), - key: "stolen_recovery_checklist", - disabled: false, - group: "pre", - }, - vehicle_check_in: { - title: i18n.t("printcenter.jobs.vehicle_check_in"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.vehicle_check_in"), - key: "vehicle_check_in", - disabled: false, - group: "pre", - }, - parts_order_history: { - title: i18n.t("printcenter.jobs.parts_order_history"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.parts_order_history"), - key: "parts_order_history", - disabled: false, - group: "ro", - }, - job_notes: { - title: i18n.t("printcenter.jobs.job_notes"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.job_notes"), - key: "job_notes", - disabled: false, - group: "ro", - }, - ro_with_description: { - title: i18n.t("printcenter.jobs.ro_with_description"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.ro_with_description"), - key: "ro_with_description", - disabled: false, - group: "ro", - }, - window_tag: { - title: i18n.t("printcenter.jobs.window_tag"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.window_tag"), - key: "window_tag", - disabled: false, - group: "ro", - }, - supplement_request: { - title: i18n.t("printcenter.jobs.supplement_request"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.supplement_request"), - key: "supplement_request", - disabled: false, - group: "ro", - }, - estimate: { - title: i18n.t("printcenter.jobs.estimate"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.estimate"), - key: "estimate", - disabled: false, - group: "ro", - }, - parts_list: { - title: i18n.t("printcenter.jobs.parts_list"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.parts_list"), - key: "parts_list", - disabled: false, - group: "ro", - }, - coversheet_portrait: { - title: i18n.t("printcenter.jobs.coversheet_portrait"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.coversheet_portrait"), - key: "coversheet_portrait", - disabled: false, - group: "ro", - }, - coversheet_landscape: { - title: i18n.t("printcenter.jobs.coversheet_landscape"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.coversheet_landscape"), - key: "coversheet_landscape", - disabled: false, - group: "ro", - }, - key_tag: { - title: i18n.t("printcenter.jobs.key_tag"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.key_tag"), - key: "key_tag", - disabled: false, - group: "ro", - }, - paint_grid: { - title: i18n.t("printcenter.jobs.paint_grid"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.paint_grid"), - key: "paint_grid", - disabled: false, - group: "ro", - }, - worksheet_by_line_number: { - title: i18n.t("printcenter.jobs.worksheet_by_line_number"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.worksheet_by_line_number"), - key: "worksheet_by_line_number", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation_type: { - title: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_type" - ), - description: "All Jobs Notes", - subject: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_type" - ), - key: "worksheet_sorted_by_operation_type", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation: { - title: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), - key: "worksheet_sorted_by_operation", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation_no_hours: { - title: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_no_hours" - ), - description: "All Jobs Notes", - subject: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_no_hours" - ), - key: "worksheet_sorted_by_operation_no_hours", - disabled: false, - group: "worksheet", - }, - worksheet_sorted_by_operation_part_type: { - title: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_part_type" - ), - description: "All Jobs Notes", - subject: i18n.t( - "printcenter.jobs.worksheet_sorted_by_operation_part_type" - ), - key: "worksheet_sorted_by_operation_part_type", - disabled: false, - group: "worksheet", - }, - payments_by_job: { - title: i18n.t("printcenter.jobs.payments_by_job"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.payments_by_job"), - key: "payments_by_job", - disabled: false, - group: "financial", - }, - final_invoice: { - title: i18n.t("printcenter.jobs.final_invoice"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.final_invoice"), - key: "final_invoice", - disabled: false, - group: "financial", - }, - payment_request: { - title: i18n.t("printcenter.jobs.payment_request"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.payment_request"), - key: "payment_request", - disabled: false, - group: "financial", - }, - invoice_total_payable: { - title: i18n.t("printcenter.jobs.invoice_total_payable"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.invoice_total_payable"), - key: "invoice_total_payable", - disabled: false, - group: "financial", - }, - invoice_customer_payable: { - title: i18n.t("printcenter.jobs.invoice_customer_payable"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.invoice_customer_payable"), - key: "invoice_customer_payable", - disabled: false, - group: "financial", - }, - ro_totals: { - title: i18n.t("printcenter.jobs.ro_totals"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.ro_totals"), - key: "ro_totals", - disabled: false, - group: "financial", - }, - job_costing_ro: { - title: i18n.t("printcenter.jobs.job_costing_ro"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.job_costing_ro"), - key: "job_costing_ro", - disabled: false, - group: "financial", - }, - purchases_by_ro_detail: { - title: i18n.t("printcenter.jobs.purchases_by_ro_detail"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.purchases_by_ro_detail"), - key: "purchases_by_ro_detail", - disabled: false, - group: "financial", - }, - purchases_by_ro_summary: { - title: i18n.t("printcenter.jobs.purchases_by_ro_summary"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.purchases_by_ro_summary"), - key: "purchases_by_ro_summary", - disabled: false, - group: "financial", - }, - filing_coversheet_portrait: { - title: i18n.t("printcenter.jobs.filing_coversheet_portrait"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.filing_coversheet_portrait"), - key: "filing_coversheet_portrait", - disabled: false, - group: "post", - }, - filing_coversheet_landscape: { - title: i18n.t("printcenter.jobs.filing_coversheet_landscape"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.filing_coversheet_landscape"), - key: "filing_coversheet_landscape", - disabled: false, - group: "post", - }, - qc_sheet: { - title: i18n.t("printcenter.jobs.qc_sheet"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.qc_sheet"), - key: "qc_sheet", - disabled: false, - group: "post", - }, - vehicle_delivery_check: { - title: i18n.t("printcenter.jobs.vehicle_delivery_check"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.vehicle_delivery_check"), - key: "vehicle_delivery_check", - disabled: false, - group: "post", - }, - guarantee: { - title: i18n.t("printcenter.jobs.guarantee"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.guarantee"), - key: "guarantee", - disabled: false, - group: "post", - }, - csi_invitation: { - title: i18n.t("printcenter.jobs.csi_invitation"), - description: "CSI invite", - key: "csi_invitation", - subject: i18n.t("printcenter.jobs.csi_invitation"), - disabled: false, - group: "post", - }, - window_tag_sublet: { - title: i18n.t("printcenter.jobs.window_tag_sublet"), - description: "Window Tag Sublet", - key: "window_tag_sublet", - subject: i18n.t("printcenter.jobs.window_tag_sublet"), - disabled: false, - group: "ro", - }, - thank_you_ro: { - title: i18n.t("printcenter.jobs.thank_you_ro"), - description: "Thank You Letter by RO", - key: "thank_you_ro", - subject: i18n.t("printcenter.jobs.thank_you_ro"), - disabled: false, - group: "post", - }, - parts_label_single: { - title: i18n.t("printcenter.jobs.parts_label_single"), - description: "Thank You Letter by RO", - key: "parts_label_single", - subject: i18n.t("printcenter.jobs.parts_label_single"), - disabled: false, - group: "ro", - ignoreCustomMargins: true, - }, - envelope_return_address: { - title: i18n.t("printcenter.jobs.envelope_return_address"), - description: "All Jobs Notes", - subject: i18n.t("printcenter.jobs.envelope_return_address"), - key: "envelope_return_address", - disabled: false, - group: "ro", - ignoreCustomMargins: true, - }, - sgi_certificate_of_repairs: { - title: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), - description: "Thank You Letter by RO", - key: "sgi_certificate_of_repairs", - subject: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), - disabled: false, - group: "ro", - regions: { - CA_SK: true, - }, - }, - sgi_windshield_auth: { - title: i18n.t("printcenter.jobs.sgi_windshield_auth"), - description: "Thank You Letter by RO", - key: "sgi_windshield_auth", - subject: i18n.t("printcenter.jobs.sgi_windshield_auth"), - disabled: false, - group: "pre", - regions: { - CA_SK: true, - }, - }, - mpi_final_acct_sheet: { - title: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), - description: "Thank You Letter by RO", - key: "mpi_final_acct_sheet", - subject: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), - disabled: false, - group: "post", - regions: { - CA_MB: true, - }, - }, - mpi_eglass_auth: { - title: i18n.t("printcenter.jobs.mpi_eglass_auth"), - description: "Thank You Letter by RO", - key: "mpi_eglass_auth", - subject: i18n.t("printcenter.jobs.mpi_eglass_auth"), - disabled: false, - group: "pre", - regions: { - CA_MB: true, - }, - }, - mpi_animal_checklist: { - title: i18n.t("printcenter.jobs.mpi_animal_checklist"), - description: "Thank You Letter by RO", - key: "mpi_animal_checklist", - subject: i18n.t("printcenter.jobs.mpi_animal_checklist"), - disabled: false, - group: "pre", - regions: { - CA_MB: true, - }, - }, - ab_proof_of_loss: { - title: i18n.t("printcenter.jobs.ab_proof_of_loss"), - description: "Thank You Letter by RO", - key: "ab_proof_of_loss", - subject: i18n.t("printcenter.jobs.ab_proof_of_loss"), - disabled: false, - group: "pre", - regions: { - CA_AB: true, - }, - }, - // parts_label_multi: { - // title: i18n.t("printcenter.jobs.parts_label_multi"), - // description: "Thank You Letter by RO", - // key: "parts_label_multi", - // subject: i18n.t("printcenter.jobs.parts_label_multi"), - // disabled: false, - // group: "ro", - // }, - iou_form: { - title: i18n.t("printcenter.jobs.iou_form"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.iou_form"), - key: "iou_form", - disabled: false, - group: "post", - }, - lag_time_ro: { - title: i18n.t("printcenter.jobs.lag_time_ro"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.lag_time_ro"), - key: "lag_time_ro", - disabled: false, - group: "ro", - }, - rental_reservation: { - title: i18n.t("printcenter.jobs.rental_reservation"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.rental_reservation"), - key: "rental_reservation", - disabled: false, - group: "pre", - }, - timetickets_ro: { - title: i18n.t("printcenter.jobs.timetickets_ro"), - description: "CASL Authorization", - subject: i18n.t("printcenter.jobs.timetickets_ro"), - key: "timetickets_ro", - disabled: false, - group: "financial", - }, - dms_posting_sheet: { - title: i18n.t("printcenter.jobs.dms_posting_sheet"), - description: "DMS Posting Sheet", - subject: i18n.t("printcenter.jobs.dms_posting_sheet"), - key: "dms_posting_sheet", - disabled: false, - group: "financial", - }, - } - : {}), - ...(!type || type === "job_special" - ? { - special_thirdpartypayer: { - title: i18n.t("printcenter.jobs.thirdpartypayer"), - description: "CSI invite", - key: "special_thirdpartypayer", - disabled: false, - }, - folder_label_multiple: { - title: i18n.t("printcenter.jobs.folder_label_multiple"), - description: "Folder Label Multiple", - key: "folder_label_multiple", - disabled: false, - }, - parts_label_multiple: { - title: i18n.t("printcenter.jobs.parts_label_multiple"), - description: "Parts Label Multiple", - key: "parts_label_multiple", - disabled: false, - }, - parts_invoice_label_single: { - title: i18n.t("printcenter.jobs.parts_invoice_label_single"), - description: "Parts Label Multiple", - key: "parts_invoice_label_single", - disabled: false, - ignoreCustomMargins: true, - }, - csi_invitation_action: { - title: i18n.t("printcenter.jobs.csi_invitation_action"), - description: "CSI invite", - key: "csi_invitation_action", - subject: i18n.t("printcenter.jobs.csi_invitation_action"), - disabled: false, - }, - individual_job_note: { - title: i18n.t("printcenter.jobs.individual_job_note"), - description: "CSI invite", - key: "individual_job_note", - subject: i18n.t("printcenter.jobs.individual_job_note", { - ro_number: (context && context.ro_number) || "", - }), - disabled: false, - }, - } - : {}), - ...(!type || type === "appointment" - ? { - appointment_confirmation: { - title: i18n.t("printcenter.appointments.appointment_confirmation"), - description: "Appointment Confirmation", - subject: i18n.t( - "printcenter.appointments.appointment_confirmation" - ), - key: "appointment_confirmation", - disabled: false, - }, - } - : {}), - ...(!type || type === "partsorder" - ? { - parts_order: { - title: i18n.t("printcenter.jobs.parts_order"), - description: "Parts Order", - key: "parts_order", - subject: i18n.t("printcenter.subjects.jobs.parts_order", { - ro_number: context && context.job && context.job.ro_number, - name: ( - (context && context.job && context.job.ownr_ln) || - (context && context.job && context.job.ownr_co_nm) || - "" - ).trim(), - }), - disabled: false, - }, - sublet_order: { - title: i18n.t("printcenter.jobs.sublet_order"), - description: "Parts Order", - key: "sublet_order", - subject: i18n.t("printcenter.subjects.jobs.sublet_order", { - ro_number: context && context.job && context.job.ro_number, - name: ( - (context && context.job && context.job.ownr_ln) || - (context && context.job && context.job.ownr_co_nm) || - "" - ).trim(), - }), - disabled: false, - }, - parts_return_slip: { - title: i18n.t("printcenter.jobs.parts_return_slip"), - subject: i18n.t("printcenter.jobs.parts_return_slip"), - description: "Parts Return", - key: "parts_return_slip", - disabled: false, - }, - } - : {}), - ...(!type || type === "payment" - ? { - payment_receipt: { - title: i18n.t("printcenter.jobs.payment_receipt"), - description: "Payment Receipt", - subject: i18n.t("printcenter.jobs.payment_receipt"), - key: "payment_receipt", - disabled: false, - }, - } - : {}), - ...(!type || type === "csi" ? {} : {}), - ...(!type || type === "report_center" - ? { - hours_sold_detail_closed: { - title: i18n.t("reportcenter.templates.hours_sold_detail_closed"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_detail_closed"), - key: "hours_sold_detail_closed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_closed_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_ins_co" - ), - key: "hours_sold_detail_closed_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_closed: { - title: i18n.t("reportcenter.templates.hours_sold_summary_closed"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_summary_closed"), - key: "hours_sold_summary_closed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_closed_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_ins_co" - ), - key: "hours_sold_summary_closed_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_open: { - title: i18n.t("reportcenter.templates.hours_sold_detail_open"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_detail_open"), - key: "hours_sold_detail_open", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - hours_sold_detail_open_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_open_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_open_ins_co" - ), - key: "hours_sold_detail_open_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - hours_sold_summary_open: { - title: i18n.t("reportcenter.templates.hours_sold_summary_open"), - description: "", - subject: i18n.t("reportcenter.templates.hours_sold_summary_open"), - key: "hours_sold_summary_open", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - hours_sold_summary_open_ins_co: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_open_ins_co" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_open_ins_co" - ), - key: "hours_sold_summary_open_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - hours_sold_detail_closed_csr: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_csr" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_csr" - ), - key: "hours_sold_detail_closed_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_open_csr: { - title: i18n.t("reportcenter.templates.hours_sold_detail_open_csr"), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_open_csr" - ), - key: "hours_sold_detail_open_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - hours_sold_summary_closed_csr: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_csr" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_csr" - ), - key: "hours_sold_summary_closed_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_open_csr: { - title: i18n.t("reportcenter.templates.hours_sold_summary_open_csr"), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_open_csr" - ), - key: "hours_sold_summary_open_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_open_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_open_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_open_status" - ), - key: "hours_sold_summary_open_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_summary_closed_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_summary_closed_status" - ), - key: "hours_sold_summary_closed_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_open_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_open_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_open_status" - ), - key: "hours_sold_detail_open_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - hours_sold_detail_closed_status: { - title: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_status" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.hours_sold_detail_closed_status" - ), - key: "hours_sold_detail_closed_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - purchases_by_date_range_detail: { - title: i18n.t( - "reportcenter.templates.purchases_by_date_range_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"), - }, - group: "purchases", - }, - purchases_by_date_range_summary: { - title: i18n.t( - "reportcenter.templates.purchases_by_date_range_summary" - ), - 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"), - }, - group: "purchases", - }, - purchases_by_vendor_detailed_date_range: { - title: i18n.t( - "reportcenter.templates.purchases_by_vendor_detailed_date_range" - ), - 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"), - }, - group: "purchases", - }, - purchases_by_vendor_summary_date_range: { - title: i18n.t( - "reportcenter.templates.purchases_by_vendor_summary_date_range" - ), - 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"), - }, - group: "purchases", - }, - 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"), - }, - group: "purchases", - }, - 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"), - }, - group: "purchases", - }, - purchases_grouped_by_vendor_detailed: { - title: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_detailed" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_detailed" - ), - key: "purchases_grouped_by_vendor_detailed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("bills.fields.date"), - }, - group: "purchases", - }, - purchases_grouped_by_vendor_summary: { - title: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_summary" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.purchases_grouped_by_vendor_summary" - ), - key: "purchases_grouped_by_vendor_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("bills.fields.date"), - }, - group: "purchases", - }, - job_costing_ro_date_summary: { - title: i18n.t("reportcenter.templates.job_costing_ro_date_summary"), - description: "", - subject: i18n.t( - "reportcenter.templates.job_costing_ro_date_summary" - ), - 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"), - }, - group: "jobs", - }, - job_costing_ro_csr: { - title: i18n.t("reportcenter.templates.job_costing_ro_csr"), - description: "", - subject: i18n.t("reportcenter.templates.job_costing_ro_csr"), - key: "job_costing_ro_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - job_costing_ro_ins_co: { - title: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), - key: "job_costing_ro_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - job_costing_ro_date_detail: { - title: i18n.t("reportcenter.templates.job_costing_ro_date_detail"), - description: "", - subject: i18n.t( - "reportcenter.templates.job_costing_ro_date_detail" - ), - 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"), - }, - group: "jobs", - }, - job_costing_ro_estimator: { - title: i18n.t("reportcenter.templates.job_costing_ro_estimator"), - description: "", - subject: i18n.t("reportcenter.templates.job_costing_ro_estimator"), - key: "job_costing_ro_estimator", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - payments_by_date: { - title: i18n.t("reportcenter.templates.payments_by_date"), - subject: i18n.t("reportcenter.templates.payments_by_date"), - key: "payments_by_date", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.payments"), - field: i18n.t("payments.fields.date"), - }, - group: "customers", - }, - payments_by_date_type: { - title: i18n.t("reportcenter.templates.payments_by_date_type"), - 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"), - }, - group: "customers", - }, - 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"), - }, - group: "customers", - }, - timetickets: { - title: i18n.t("reportcenter.templates.timetickets"), - subject: i18n.t("reportcenter.templates.timetickets"), - key: "timetickets", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.timetickets"), - field: i18n.t("timetickets.fields.date"), - }, - group: "payroll", - }, - timetickets_employee: { - title: i18n.t("reportcenter.templates.timetickets_employee"), - subject: i18n.t("reportcenter.templates.timetickets_employee"), - key: "timetickets_employee", - idtype: "employee", - disabled: false, - group: "payroll", - }, - attendance_detail: { - title: i18n.t("reportcenter.templates.attendance_detail"), - subject: i18n.t("reportcenter.templates.attendance_detail"), - key: "attendance_detail", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.timetickets"), - field: i18n.t("timetickets.fields.date"), - }, - group: "payroll", - }, - attendance_summary: { - title: i18n.t("reportcenter.templates.attendance_summary"), - subject: i18n.t("reportcenter.templates.attendance_summary"), - key: "attendance_summary", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.timetickets"), - field: i18n.t("timetickets.fields.date"), - }, - group: "payroll", - }, - attendance_employee: { - title: i18n.t("reportcenter.templates.attendance_employee"), - 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"), - }, - group: "payroll", - }, - timetickets_summary: { - title: i18n.t("reportcenter.templates.timetickets_summary"), - 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"), - }, - group: "payroll", - }, - estimator_detail: { - title: i18n.t("reportcenter.templates.estimator_detail"), - description: "", - subject: i18n.t("reportcenter.templates.estimator_detail"), - key: "estimator_detail", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - estimator_summary: { - title: i18n.t("reportcenter.templates.estimator_summary"), - description: "", - subject: i18n.t("reportcenter.templates.estimator_summary"), - key: "estimator_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - supplement_ratio_ins_co: { - title: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), - key: "supplement_ratio_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - credits_not_received_date: { - title: i18n.t("reportcenter.templates.credits_not_received_date"), - description: "", - subject: i18n.t("reportcenter.templates.credits_not_received_date"), - key: "credits_not_received_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "purchases", - }, - void_ros: { - title: i18n.t("reportcenter.templates.void_ros"), - description: "", - subject: i18n.t("reportcenter.templates.void_ros"), - key: "void_ros", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "sales", - }, - gsr_by_csr: { - title: i18n.t("reportcenter.templates.gsr_by_csr"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_csr"), - key: "gsr_by_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_make: { - title: i18n.t("reportcenter.templates.gsr_by_make"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_make"), - key: "gsr_by_make", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_delivery_date: { - title: i18n.t("reportcenter.templates.gsr_by_delivery_date"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_delivery_date"), - key: "gsr_by_delivery_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_delivery"), - }, - group: "sales", - }, - gsr_by_referral: { - title: i18n.t("reportcenter.templates.gsr_by_referral"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_referral"), - key: "gsr_by_referral", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_ro: { - title: i18n.t("reportcenter.templates.gsr_by_ro"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_ro"), - key: "gsr_by_ro", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_ins_co: { - title: i18n.t("reportcenter.templates.gsr_by_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_ins_co"), - key: "gsr_by_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_exported_date: { - title: i18n.t("reportcenter.templates.gsr_by_exported_date"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_exported_date"), - key: "gsr_by_exported_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_exported"), - }, - group: "sales", - }, - gsr_by_estimator: { - title: i18n.t("reportcenter.templates.gsr_by_estimator"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_estimator"), - key: "gsr_by_estimator", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_category: { - title: i18n.t("reportcenter.templates.gsr_by_category"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_category"), - key: "gsr_by_category", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_by_ats: { - title: i18n.t("reportcenter.templates.gsr_by_ats"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_by_ats"), - key: "gsr_by_ats", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - gsr_labor_only: { - title: i18n.t("reportcenter.templates.gsr_labor_only"), - description: "", - subject: i18n.t("reportcenter.templates.gsr_labor_only"), - key: "gsr_labor_only", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - open_orders: { - title: i18n.t("reportcenter.templates.open_orders"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders"), - key: "open_orders", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_status: { - title: i18n.t("reportcenter.templates.open_orders_status"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_status"), - key: "open_orders_status", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_csr: { - title: i18n.t("reportcenter.templates.open_orders_csr"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_csr"), - key: "open_orders_csr", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_estimator: { - title: i18n.t("reportcenter.templates.open_orders_estimator"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_estimator"), - key: "open_orders_estimator", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_ins_co: { - title: i18n.t("reportcenter.templates.open_orders_ins_co"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_ins_co"), - key: "open_orders_ins_co", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - open_orders_specific_csr: { - title: i18n.t("reportcenter.templates.open_orders_specific_csr"), - description: "", - subject: i18n.t("reportcenter.templates.open_orders_specific_csr"), - key: "open_orders_specific_csr", - idtype: "employee", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - export_payables: { - title: i18n.t("reportcenter.templates.export_payables"), - description: "", - subject: i18n.t("reportcenter.templates.export_payables"), - key: "export_payables", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.exportlogs"), - field: i18n.t("exportlogs.fields.createdat"), - }, - group: "purchases", - }, - export_payments: { - title: i18n.t("reportcenter.templates.export_payments"), - description: "", - subject: i18n.t("reportcenter.templates.export_payments"), - key: "export_payments", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.exportlogs"), - field: i18n.t("exportlogs.fields.createdat"), - }, - group: "customers", - }, - export_receivables: { - title: i18n.t("reportcenter.templates.export_receivables"), - description: "", - subject: i18n.t("reportcenter.templates.export_receivables"), - key: "export_receivables", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.exportlogs"), - field: i18n.t("exportlogs.fields.createdat"), - }, - group: "sales", - }, - parts_backorder: { - title: i18n.t("reportcenter.templates.parts_backorder"), - description: "", - subject: i18n.t("reportcenter.templates.parts_backorder"), - key: "parts_backorder", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_in"), - }, - group: "purchases", - }, - thank_you_date: { - title: i18n.t("reportcenter.templates.thank_you_date"), - description: "", - subject: i18n.t("reportcenter.templates.thank_you_date"), - key: "thank_you_date", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "customers", - }, - unclaimed_hrs: { - title: i18n.t("reportcenter.templates.unclaimed_hrs"), - description: "", - subject: i18n.t("reportcenter.templates.unclaimed_hrs"), - key: "unclaimed_hrs", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "payroll", - }, - work_in_progress_labour: { - title: i18n.t("reportcenter.templates.work_in_progress_labour"), - description: "", - subject: i18n.t("reportcenter.templates.work_in_progress_labour"), - key: "work_in_progress_labour", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - work_in_progress_payables: { - title: i18n.t("reportcenter.templates.work_in_progress_payables"), - description: "", - subject: i18n.t("reportcenter.templates.work_in_progress_payables"), - key: "work_in_progress_payables", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - lag_time: { - title: i18n.t("reportcenter.templates.lag_time"), - description: "", - subject: i18n.t("reportcenter.templates.lag_time"), - key: "lag_time", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - parts_not_recieved: { - title: i18n.t("reportcenter.templates.parts_not_recieved"), - description: "", - subject: i18n.t("reportcenter.templates.parts_not_recieved"), - key: "parts_not_recieved", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "purchases", - }, - parts_not_recieved_vendor: { - title: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), - description: "", - subject: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), - key: "parts_not_recieved_vendor", - idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "purchases", - }, - scoreboard_detail: { - title: i18n.t("reportcenter.templates.scoreboard_detail"), - description: "", - subject: i18n.t("reportcenter.templates.scoreboard_detail"), - key: "scoreboard_detail", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.scoreboard"), - field: i18n.t("scoreboard.fields.date"), - }, - group: "payroll", - }, - scoreboard_summary: { - title: i18n.t("reportcenter.templates.scoreboard_summary"), - description: "", - subject: i18n.t("reportcenter.templates.scoreboard_summary"), - key: "scoreboard_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.scoreboard"), - field: i18n.t("scoreboard.fields.date"), - }, - group: "payroll", - }, - anticipated_revenue: { - title: i18n.t("reportcenter.templates.anticipated_revenue"), - description: "", - subject: i18n.t("reportcenter.templates.anticipated_revenue"), - key: "anticipated_revenue", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.scheduled_completion"), // Also date invoice. - }, - group: "sales", - }, - csi: { - title: i18n.t("reportcenter.templates.csi"), - description: "", - subject: i18n.t("reportcenter.templates.csi"), - key: "csi", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.csi"), - field: i18n.t("csi.fields.created_at"), // Also date invoice. - }, - group: "customers", - }, - estimates_written_converted: { - title: i18n.t("reportcenter.templates.estimates_written_converted"), - description: "", - subject: i18n.t( - "reportcenter.templates.estimates_written_converted" - ), - key: "estimates_written_converted", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: - i18n.t("jobs.fields.date_open") + - "/" + - i18n.t("jobs.fields.date_invoiced"), // Also date invoice. - }, - group: "sales", - }, - credits_not_received_date_vendorid: { - title: i18n.t( - "reportcenter.templates.credits_not_received_date_vendorid" - ), - subject: i18n.t( - "reportcenter.templates.credits_not_received_date_vendorid" - ), - key: "credits_not_received_date_vendorid", - idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "purchases", - }, - jobs_reconcile: { - title: i18n.t("reportcenter.templates.jobs_reconcile"), - subject: i18n.t("reportcenter.templates.jobs_reconcile"), - key: "jobs_reconcile", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - parts_received_not_scheduled: { - title: i18n.t( - "reportcenter.templates.parts_received_not_scheduled" - ), - subject: i18n.t( - "reportcenter.templates.parts_received_not_scheduled" - ), - key: "parts_received_not_scheduled", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_open"), - }, - group: "jobs", - }, - psr_by_make: { - title: i18n.t("reportcenter.templates.psr_by_make"), - subject: i18n.t("reportcenter.templates.psr_by_make"), - key: "psr_by_make", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "sales", - }, - cycle_time_analysis: { - title: i18n.t("reportcenter.templates.cycle_time_analysis"), - subject: i18n.t("reportcenter.templates.cycle_time_analysis"), - key: "cycle_time_analysis", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_completion"), - }, - group: "jobs", - }, - returns_grouped_by_vendor_summary: { - title: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_summary" - ), - subject: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_summary" - ), - key: "returns_grouped_by_vendor_summary", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "jobs", - }, - returns_grouped_by_vendor_detailed: { - title: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_detailed" - ), - subject: i18n.t( - "reportcenter.templates.returns_grouped_by_vendor_detailed" - ), - key: "returns_grouped_by_vendor_detailed", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.parts_orders"), - field: i18n.t("parts_orders.fields.order_date"), - }, - group: "jobs", - }, - scheduled_parts_list: { - title: i18n.t("reportcenter.templates.scheduled_parts_list"), - subject: i18n.t("reportcenter.templates.scheduled_parts_list"), - key: "scheduled_parts_list", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.scheduled_in"), - }, - group: "jobs", - }, - jobs_completed_not_invoiced: { - title: i18n.t("reportcenter.templates.jobs_completed_not_invoiced"), - subject: i18n.t( - "reportcenter.templates.jobs_completed_not_invoiced" - ), - key: "jobs_completed_not_invoiced", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "jobs", - }, - jobs_invoiced_not_exported: { - title: i18n.t("reportcenter.templates.jobs_invoiced_not_exported"), - subject: i18n.t( - "reportcenter.templates.jobs_invoiced_not_exported" - ), - key: "jobs_invoiced_not_exported", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - 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", - }, - production_over_time: { - title: i18n.t("reportcenter.templates.production_over_time"), - subject: i18n.t("reportcenter.templates.production_over_time"), - key: "production_over_time", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.actual_in"), - }, - group: "jobs", - }, - customer_list: { - title: i18n.t("reportcenter.templates.customer_list"), - subject: i18n.t("reportcenter.templates.customer_list"), - key: "customer_list", - //idtype: "vendor", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_invoiced"), - }, - group: "customers", - }, - exported_gsr_by_ro: { - title: i18n.t("reportcenter.templates.exported_gsr_by_ro"), - subject: i18n.t("reportcenter.templates.exported_gsr_by_ro"), - key: "exported_gsr_by_ro", - idtype: "excel", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_exported"), - }, - group: "sales", - }, - exported_gsr_by_ro_labor: { - title: i18n.t("reportcenter.templates.exported_gsr_by_ro_labor"), - subject: i18n.t("reportcenter.templates.exported_gsr_by_ro_labor"), - key: "exported_gsr_by_ro_labor", - idtype: "excel", - disabled: false, - rangeFilter: { - object: i18n.t("reportcenter.labels.objects.jobs"), - field: i18n.t("jobs.fields.date_exported"), - }, - group: "sales", - }, - } - : {}), - ...(!type || type === "courtesycarcontract" - ? { - courtesy_car_contract: { - title: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_contract" - ), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_contract" - ), - key: "courtesy_car_contract", - disabled: false, - }, - courtesy_car_terms: { - title: i18n.t("printcenter.courtesycarcontract.courtesy_car_terms"), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_terms" - ), - key: "courtesy_car_terms", - disabled: false, - }, - courtesy_car_impound: { - title: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_impound" - ), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_impound" - ), - key: "courtesy_car_impound", - disabled: false, - }, - } - : {}), - ...(!type || type === "courtesycar" - ? { - courtesy_car_inventory: { - title: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_inventory" - ), - description: "Est Detail", - subject: i18n.t( - "printcenter.courtesycarcontract.courtesy_car_inventory" - ), - key: "courtesy_car_inventory", - disabled: false, - }, - } - : {}), - ...(!type || type === "bill" - ? { - inhouse_invoice: { - title: i18n.t("printcenter.bills.inhouse_invoice"), - description: "Est Detail", - subject: i18n.t("printcenter.bills.inhouse_invoice"), - key: "inhouse_invoice", - disabled: false, - }, - } - : {}), - ...(!type || type === "timeticket" - ? { - // timetickets: { - // title: i18n.t("printcenter.timetickets.timetickets"), - // description: "Est Detail", - // subject: `${i18n.t("printcenter.timetickets.timetickets")} - ${ - // context && context.job && context.job.ro_number - // }`, - // key: "timetickets", - // disabled: false, - // }, - } - : {}), - ...(!type || type === "vendor" - ? { - purchases_by_vendor_detailed: { - title: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), - description: "Est Detail", - subject: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), - key: "purchases_by_vendor_detailed", - disabled: false, - }, - purchases_by_vendor_summary: { - title: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), - description: "Est Detail", - subject: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), - key: "purchases_by_vendor_summary", - disabled: false, - }, - } - : {}), - ...(!type || type === "production" - ? { - production_by_last_name: { - title: i18n.t("reportcenter.templates.production_by_last_name"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_last_name"), - key: "production_by_last_name", - //idtype: "vendor", - disabled: false, - }, - production_by_repair_status: { - title: i18n.t("reportcenter.templates.production_by_repair_status"), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_repair_status" - ), - key: "production_by_repair_status", - //idtype: "vendor", - disabled: false, - }, - production_by_target_date: { - title: i18n.t("reportcenter.templates.production_by_target_date"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_target_date"), - key: "production_by_target_date", - //idtype: "vendor", - disabled: false, - }, - production_by_ro: { - title: i18n.t("reportcenter.templates.production_by_ro"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_ro"), - key: "production_by_ro", - //idtype: "vendor", - disabled: false, - }, - production_by_csr: { - title: i18n.t("reportcenter.templates.production_by_csr"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_csr"), - key: "production_by_csr", - //idtype: "vendor", - disabled: false, - }, - production_by_category: { - title: i18n.t("reportcenter.templates.production_by_category"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_category"), - key: "production_by_category", - //idtype: "vendor", - disabled: false, - }, - production_by_technician: { - title: i18n.t("reportcenter.templates.production_by_technician"), - description: "", - subject: i18n.t("reportcenter.templates.production_by_technician"), - key: "production_by_technician", - //idtype: "vendor", - disabled: false, - }, - } - : {}), - ...(!type || type === "special" - ? { - ca_bc_etf_table: { - title: i18n.t("printcenter.payments.ca_bc_etf_table"), - description: "Est Detail", - subject: i18n.t("printcenter.payments.ca_bc_etf_table"), - key: "ca_bc_etf_table", - disabled: false, - }, - exported_payroll: { - title: i18n.t("printcenter.payments.exported_payroll"), - description: "Est Detail", - subject: i18n.t("printcenter.payments.exported_payroll"), - key: "exported_payroll", - disabled: false, - }, - attendance_detail_csv: { - title: i18n.t("printcenter.special.attendance_detail_csv"), - description: "Est Detail", - subject: i18n.t("printcenter.special.attendance_detail_csv"), - key: "attendance_detail_csv", - disabled: false, - }, - production_by_technician_one: { - title: i18n.t( - "reportcenter.templates.production_by_technician_one" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_technician_one" - ), - key: "production_by_technician_one", - //idtype: "vendor", - disabled: false, - }, - production_by_category_one: { - title: i18n.t("reportcenter.templates.production_by_category_one"), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_category_one" - ), - key: "production_by_category_one", - //idtype: "vendor", - disabled: false, - }, - production_by_repair_status_one: { - title: i18n.t( - "reportcenter.templates.production_by_repair_status_one" - ), - description: "", - subject: i18n.t( - "reportcenter.templates.production_by_repair_status_one" - ), - key: "production_by_repair_status_one", - //idtype: "vendor", - disabled: false, - }, - } - : {}), - }; + return { + //If there's no type or the type is job, send it back. + ...(!type || type === "job" + ? { + casl_authorization: { + title: i18n.t("printcenter.jobs.casl_authorization"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.casl_authorization"), + key: "casl_authorization", + disabled: false, + group: "authorization", + }, + fippa_authorization: { + title: i18n.t("printcenter.jobs.fippa_authorization"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.fippa_authorization"), + key: "fippa_authorization", + disabled: false, + group: "authorization", + }, + diagnostic_authorization: { + title: i18n.t("printcenter.jobs.diagnostic_authorization"), + description: "Diagnostic Authorization", + subject: i18n.t("printcenter.jobs.diagnostic_authorization"), + key: "diagnostic_authorization", + disabled: false, + group: "authorization", + }, + mechanical_authorization: { + title: i18n.t("printcenter.jobs.mechanical_authorization"), + description: "Diagnostic Authorization", + subject: i18n.t("printcenter.jobs.mechanical_authorization"), + key: "mechanical_authorization", + disabled: false, + group: "authorization", + }, + appointment_reminder: { + title: i18n.t("printcenter.jobs.appointment_reminder"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.appointment_reminder"), + key: "appointment_reminder", + disabled: false, + group: "pre", + }, + estimate_followup: { + title: i18n.t("printcenter.jobs.estimate_followup"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.estimate_followup"), + key: "estimate_followup", + disabled: false, + group: "pre", + }, + express_repair_checklist: { + title: i18n.t("printcenter.jobs.express_repair_checklist"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.express_repair_checklist"), + key: "express_repair_checklist", + disabled: false, + group: "pre", + }, + glass_express_checklist: { + title: i18n.t("printcenter.jobs.glass_express_checklist"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.glass_express_checklist"), + key: "glass_express_checklist", + disabled: false, + group: "pre", + }, + stolen_recovery_checklist: { + title: i18n.t("printcenter.jobs.stolen_recovery_checklist"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.stolen_recovery_checklist"), + key: "stolen_recovery_checklist", + disabled: false, + group: "pre", + }, + vehicle_check_in: { + title: i18n.t("printcenter.jobs.vehicle_check_in"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.vehicle_check_in"), + key: "vehicle_check_in", + disabled: false, + group: "pre", + }, + parts_order_history: { + title: i18n.t("printcenter.jobs.parts_order_history"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.parts_order_history"), + key: "parts_order_history", + disabled: false, + group: "ro", + }, + job_notes: { + title: i18n.t("printcenter.jobs.job_notes"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.job_notes"), + key: "job_notes", + disabled: false, + group: "ro", + }, + ro_with_description: { + title: i18n.t("printcenter.jobs.ro_with_description"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.ro_with_description"), + key: "ro_with_description", + disabled: false, + group: "ro", + }, + window_tag: { + title: i18n.t("printcenter.jobs.window_tag"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.window_tag"), + key: "window_tag", + disabled: false, + group: "ro", + }, + supplement_request: { + title: i18n.t("printcenter.jobs.supplement_request"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.supplement_request"), + key: "supplement_request", + disabled: false, + group: "ro", + }, + estimate: { + title: i18n.t("printcenter.jobs.estimate"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.estimate"), + key: "estimate", + disabled: false, + group: "ro", + }, + parts_list: { + title: i18n.t("printcenter.jobs.parts_list"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.parts_list"), + key: "parts_list", + disabled: false, + group: "ro", + }, + coversheet_portrait: { + title: i18n.t("printcenter.jobs.coversheet_portrait"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.coversheet_portrait"), + key: "coversheet_portrait", + disabled: false, + group: "ro", + }, + coversheet_landscape: { + title: i18n.t("printcenter.jobs.coversheet_landscape"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.coversheet_landscape"), + key: "coversheet_landscape", + disabled: false, + group: "ro", + }, + key_tag: { + title: i18n.t("printcenter.jobs.key_tag"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.key_tag"), + key: "key_tag", + disabled: false, + group: "ro", + }, + paint_grid: { + title: i18n.t("printcenter.jobs.paint_grid"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.paint_grid"), + key: "paint_grid", + disabled: false, + group: "ro", + }, + worksheet_by_line_number: { + title: i18n.t("printcenter.jobs.worksheet_by_line_number"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.worksheet_by_line_number"), + key: "worksheet_by_line_number", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation_type: { + title: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_type" + ), + description: "All Jobs Notes", + subject: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_type" + ), + key: "worksheet_sorted_by_operation_type", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation: { + title: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.worksheet_sorted_by_operation"), + key: "worksheet_sorted_by_operation", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation_no_hours: { + title: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_no_hours" + ), + description: "All Jobs Notes", + subject: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_no_hours" + ), + key: "worksheet_sorted_by_operation_no_hours", + disabled: false, + group: "worksheet", + }, + worksheet_sorted_by_operation_part_type: { + title: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_part_type" + ), + description: "All Jobs Notes", + subject: i18n.t( + "printcenter.jobs.worksheet_sorted_by_operation_part_type" + ), + key: "worksheet_sorted_by_operation_part_type", + disabled: false, + group: "worksheet", + }, + payments_by_job: { + title: i18n.t("printcenter.jobs.payments_by_job"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.payments_by_job"), + key: "payments_by_job", + disabled: false, + group: "financial", + }, + final_invoice: { + title: i18n.t("printcenter.jobs.final_invoice"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.final_invoice"), + key: "final_invoice", + disabled: false, + group: "financial", + }, + payment_request: { + title: i18n.t("printcenter.jobs.payment_request"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.payment_request"), + key: "payment_request", + disabled: false, + group: "financial", + }, + invoice_total_payable: { + title: i18n.t("printcenter.jobs.invoice_total_payable"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.invoice_total_payable"), + key: "invoice_total_payable", + disabled: false, + group: "financial", + }, + invoice_customer_payable: { + title: i18n.t("printcenter.jobs.invoice_customer_payable"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.invoice_customer_payable"), + key: "invoice_customer_payable", + disabled: false, + group: "financial", + }, + ro_totals: { + title: i18n.t("printcenter.jobs.ro_totals"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.ro_totals"), + key: "ro_totals", + disabled: false, + group: "financial", + }, + job_costing_ro: { + title: i18n.t("printcenter.jobs.job_costing_ro"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.job_costing_ro"), + key: "job_costing_ro", + disabled: false, + group: "financial", + }, + purchases_by_ro_detail: { + title: i18n.t("printcenter.jobs.purchases_by_ro_detail"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.purchases_by_ro_detail"), + key: "purchases_by_ro_detail", + disabled: false, + group: "financial", + }, + purchases_by_ro_summary: { + title: i18n.t("printcenter.jobs.purchases_by_ro_summary"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.purchases_by_ro_summary"), + key: "purchases_by_ro_summary", + disabled: false, + group: "financial", + }, + filing_coversheet_portrait: { + title: i18n.t("printcenter.jobs.filing_coversheet_portrait"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.filing_coversheet_portrait"), + key: "filing_coversheet_portrait", + disabled: false, + group: "post", + }, + filing_coversheet_landscape: { + title: i18n.t("printcenter.jobs.filing_coversheet_landscape"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.filing_coversheet_landscape"), + key: "filing_coversheet_landscape", + disabled: false, + group: "post", + }, + qc_sheet: { + title: i18n.t("printcenter.jobs.qc_sheet"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.qc_sheet"), + key: "qc_sheet", + disabled: false, + group: "post", + }, + vehicle_delivery_check: { + title: i18n.t("printcenter.jobs.vehicle_delivery_check"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.vehicle_delivery_check"), + key: "vehicle_delivery_check", + disabled: false, + group: "post", + }, + guarantee: { + title: i18n.t("printcenter.jobs.guarantee"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.guarantee"), + key: "guarantee", + disabled: false, + group: "post", + }, + csi_invitation: { + title: i18n.t("printcenter.jobs.csi_invitation"), + description: "CSI invite", + key: "csi_invitation", + subject: i18n.t("printcenter.jobs.csi_invitation"), + disabled: false, + group: "post", + }, + window_tag_sublet: { + title: i18n.t("printcenter.jobs.window_tag_sublet"), + description: "Window Tag Sublet", + key: "window_tag_sublet", + subject: i18n.t("printcenter.jobs.window_tag_sublet"), + disabled: false, + group: "ro", + }, + thank_you_ro: { + title: i18n.t("printcenter.jobs.thank_you_ro"), + description: "Thank You Letter by RO", + key: "thank_you_ro", + subject: i18n.t("printcenter.jobs.thank_you_ro"), + disabled: false, + group: "post", + }, + parts_label_single: { + title: i18n.t("printcenter.jobs.parts_label_single"), + description: "Thank You Letter by RO", + key: "parts_label_single", + subject: i18n.t("printcenter.jobs.parts_label_single"), + disabled: false, + group: "ro", + ignoreCustomMargins: true, + }, + envelope_return_address: { + title: i18n.t("printcenter.jobs.envelope_return_address"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.envelope_return_address"), + key: "envelope_return_address", + disabled: false, + group: "ro", + ignoreCustomMargins: true, + }, + sgi_certificate_of_repairs: { + title: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), + description: "Thank You Letter by RO", + key: "sgi_certificate_of_repairs", + subject: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), + disabled: false, + group: "ro", + regions: { + CA_SK: true, + }, + }, + sgi_windshield_auth: { + title: i18n.t("printcenter.jobs.sgi_windshield_auth"), + description: "Thank You Letter by RO", + key: "sgi_windshield_auth", + subject: i18n.t("printcenter.jobs.sgi_windshield_auth"), + disabled: false, + group: "pre", + regions: { + CA_SK: true, + }, + }, + mpi_final_acct_sheet: { + title: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), + description: "Thank You Letter by RO", + key: "mpi_final_acct_sheet", + subject: i18n.t("printcenter.jobs.mpi_final_acct_sheet"), + disabled: false, + group: "post", + regions: { + CA_MB: true, + }, + }, + mpi_eglass_auth: { + title: i18n.t("printcenter.jobs.mpi_eglass_auth"), + description: "Thank You Letter by RO", + key: "mpi_eglass_auth", + subject: i18n.t("printcenter.jobs.mpi_eglass_auth"), + disabled: false, + group: "pre", + regions: { + CA_MB: true, + }, + }, + mpi_animal_checklist: { + title: i18n.t("printcenter.jobs.mpi_animal_checklist"), + description: "Thank You Letter by RO", + key: "mpi_animal_checklist", + subject: i18n.t("printcenter.jobs.mpi_animal_checklist"), + disabled: false, + group: "pre", + regions: { + CA_MB: true, + }, + }, + ab_proof_of_loss: { + title: i18n.t("printcenter.jobs.ab_proof_of_loss"), + description: "Thank You Letter by RO", + key: "ab_proof_of_loss", + subject: i18n.t("printcenter.jobs.ab_proof_of_loss"), + disabled: false, + group: "pre", + regions: { + CA_AB: true, + }, + }, + // parts_label_multi: { + // title: i18n.t("printcenter.jobs.parts_label_multi"), + // description: "Thank You Letter by RO", + // key: "parts_label_multi", + // subject: i18n.t("printcenter.jobs.parts_label_multi"), + // disabled: false, + // group: "ro", + // }, + iou_form: { + title: i18n.t("printcenter.jobs.iou_form"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.iou_form"), + key: "iou_form", + disabled: false, + group: "post", + }, + lag_time_ro: { + title: i18n.t("printcenter.jobs.lag_time_ro"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.lag_time_ro"), + key: "lag_time_ro", + disabled: false, + group: "ro", + }, + rental_reservation: { + title: i18n.t("printcenter.jobs.rental_reservation"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.rental_reservation"), + key: "rental_reservation", + disabled: false, + group: "pre", + }, + timetickets_ro: { + title: i18n.t("printcenter.jobs.timetickets_ro"), + description: "CASL Authorization", + subject: i18n.t("printcenter.jobs.timetickets_ro"), + key: "timetickets_ro", + disabled: false, + group: "financial", + }, + dms_posting_sheet: { + title: i18n.t("printcenter.jobs.dms_posting_sheet"), + description: "DMS Posting Sheet", + subject: i18n.t("printcenter.jobs.dms_posting_sheet"), + key: "dms_posting_sheet", + disabled: false, + group: "financial", + }, + } + : {}), + ...(!type || type === "job_special" + ? { + special_thirdpartypayer: { + title: i18n.t("printcenter.jobs.thirdpartypayer"), + description: "CSI invite", + key: "special_thirdpartypayer", + disabled: false, + }, + folder_label_multiple: { + title: i18n.t("printcenter.jobs.folder_label_multiple"), + description: "Folder Label Multiple", + key: "folder_label_multiple", + disabled: false, + }, + parts_label_multiple: { + title: i18n.t("printcenter.jobs.parts_label_multiple"), + description: "Parts Label Multiple", + key: "parts_label_multiple", + disabled: false, + }, + parts_invoice_label_single: { + title: i18n.t("printcenter.jobs.parts_invoice_label_single"), + description: "Parts Label Multiple", + key: "parts_invoice_label_single", + disabled: false, + ignoreCustomMargins: true, + }, + csi_invitation_action: { + title: i18n.t("printcenter.jobs.csi_invitation_action"), + description: "CSI invite", + key: "csi_invitation_action", + subject: i18n.t("printcenter.jobs.csi_invitation_action"), + disabled: false, + }, + individual_job_note: { + title: i18n.t("printcenter.jobs.individual_job_note"), + description: "CSI invite", + key: "individual_job_note", + subject: i18n.t("printcenter.jobs.individual_job_note", { + ro_number: (context && context.ro_number) || "", + }), + disabled: false, + }, + } + : {}), + ...(!type || type === "appointment" + ? { + appointment_confirmation: { + title: i18n.t("printcenter.appointments.appointment_confirmation"), + description: "Appointment Confirmation", + subject: i18n.t( + "printcenter.appointments.appointment_confirmation" + ), + key: "appointment_confirmation", + disabled: false, + }, + } + : {}), + ...(!type || type === "partsorder" + ? { + parts_order: { + title: i18n.t("printcenter.jobs.parts_order"), + description: "Parts Order", + key: "parts_order", + subject: i18n.t("printcenter.subjects.jobs.parts_order", { + ro_number: context && context.job && context.job.ro_number, + name: ( + (context && context.job && context.job.ownr_ln) || + (context && context.job && context.job.ownr_co_nm) || + "" + ).trim(), + }), + disabled: false, + }, + sublet_order: { + title: i18n.t("printcenter.jobs.sublet_order"), + description: "Parts Order", + key: "sublet_order", + subject: i18n.t("printcenter.subjects.jobs.sublet_order", { + ro_number: context && context.job && context.job.ro_number, + name: ( + (context && context.job && context.job.ownr_ln) || + (context && context.job && context.job.ownr_co_nm) || + "" + ).trim(), + }), + disabled: false, + }, + parts_return_slip: { + title: i18n.t("printcenter.jobs.parts_return_slip"), + subject: i18n.t("printcenter.jobs.parts_return_slip"), + description: "Parts Return", + key: "parts_return_slip", + disabled: false, + }, + } + : {}), + ...(!type || type === "payment" + ? { + payment_receipt: { + title: i18n.t("printcenter.jobs.payment_receipt"), + description: "Payment Receipt", + subject: i18n.t("printcenter.jobs.payment_receipt"), + key: "payment_receipt", + disabled: false, + }, + } + : {}), + ...(!type || type === "csi" ? {} : {}), + ...(!type || type === "report_center" + ? { + hours_sold_detail_closed: { + title: i18n.t("reportcenter.templates.hours_sold_detail_closed"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_detail_closed"), + key: "hours_sold_detail_closed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_closed_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_ins_co" + ), + key: "hours_sold_detail_closed_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_closed: { + title: i18n.t("reportcenter.templates.hours_sold_summary_closed"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_summary_closed"), + key: "hours_sold_summary_closed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_closed_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_ins_co" + ), + key: "hours_sold_summary_closed_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_open: { + title: i18n.t("reportcenter.templates.hours_sold_detail_open"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_detail_open"), + key: "hours_sold_detail_open", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_detail_open_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_open_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_open_ins_co" + ), + key: "hours_sold_detail_open_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_summary_open: { + title: i18n.t("reportcenter.templates.hours_sold_summary_open"), + description: "", + subject: i18n.t("reportcenter.templates.hours_sold_summary_open"), + key: "hours_sold_summary_open", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_summary_open_ins_co: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_open_ins_co" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_open_ins_co" + ), + key: "hours_sold_summary_open_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_detail_closed_csr: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_csr" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_csr" + ), + key: "hours_sold_detail_closed_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_open_csr: { + title: i18n.t("reportcenter.templates.hours_sold_detail_open_csr"), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_open_csr" + ), + key: "hours_sold_detail_open_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + hours_sold_summary_closed_csr: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_csr" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_csr" + ), + key: "hours_sold_summary_closed_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_open_csr: { + title: i18n.t("reportcenter.templates.hours_sold_summary_open_csr"), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_open_csr" + ), + key: "hours_sold_summary_open_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_open_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_open_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_open_status" + ), + key: "hours_sold_summary_open_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_summary_closed_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_summary_closed_status" + ), + key: "hours_sold_summary_closed_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_open_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_open_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_open_status" + ), + key: "hours_sold_detail_open_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + hours_sold_detail_closed_status: { + title: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_status" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.hours_sold_detail_closed_status" + ), + key: "hours_sold_detail_closed_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + purchases_by_date_range_detail: { + title: i18n.t( + "reportcenter.templates.purchases_by_date_range_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"), + }, + group: "purchases", + }, + purchases_by_date_range_summary: { + title: i18n.t( + "reportcenter.templates.purchases_by_date_range_summary" + ), + 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"), + }, + group: "purchases", + }, + purchases_by_vendor_detailed_date_range: { + title: i18n.t( + "reportcenter.templates.purchases_by_vendor_detailed_date_range" + ), + 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"), + }, + group: "purchases", + }, + purchases_by_vendor_summary_date_range: { + title: i18n.t( + "reportcenter.templates.purchases_by_vendor_summary_date_range" + ), + 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"), + }, + group: "purchases", + }, + 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"), + }, + group: "purchases", + }, + 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"), + }, + group: "purchases", + }, + purchases_grouped_by_vendor_detailed: { + title: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_detailed" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_detailed" + ), + key: "purchases_grouped_by_vendor_detailed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("bills.fields.date"), + }, + group: "purchases", + }, + purchases_grouped_by_vendor_summary: { + title: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_summary" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.purchases_grouped_by_vendor_summary" + ), + key: "purchases_grouped_by_vendor_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("bills.fields.date"), + }, + group: "purchases", + }, + job_costing_ro_date_summary: { + title: i18n.t("reportcenter.templates.job_costing_ro_date_summary"), + description: "", + subject: i18n.t( + "reportcenter.templates.job_costing_ro_date_summary" + ), + 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"), + }, + group: "jobs", + }, + job_costing_ro_csr: { + title: i18n.t("reportcenter.templates.job_costing_ro_csr"), + description: "", + subject: i18n.t("reportcenter.templates.job_costing_ro_csr"), + key: "job_costing_ro_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + job_costing_ro_ins_co: { + title: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.job_costing_ro_ins_co"), + key: "job_costing_ro_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + job_costing_ro_date_detail: { + title: i18n.t("reportcenter.templates.job_costing_ro_date_detail"), + description: "", + subject: i18n.t( + "reportcenter.templates.job_costing_ro_date_detail" + ), + 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"), + }, + group: "jobs", + }, + job_costing_ro_estimator: { + title: i18n.t("reportcenter.templates.job_costing_ro_estimator"), + description: "", + subject: i18n.t("reportcenter.templates.job_costing_ro_estimator"), + key: "job_costing_ro_estimator", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + payments_by_date: { + title: i18n.t("reportcenter.templates.payments_by_date"), + subject: i18n.t("reportcenter.templates.payments_by_date"), + key: "payments_by_date", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.payments"), + field: i18n.t("payments.fields.date"), + }, + group: "customers", + }, + payments_by_date_type: { + title: i18n.t("reportcenter.templates.payments_by_date_type"), + 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"), + }, + group: "customers", + }, + 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"), + }, + group: "customers", + }, + timetickets: { + title: i18n.t("reportcenter.templates.timetickets"), + subject: i18n.t("reportcenter.templates.timetickets"), + key: "timetickets", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, + group: "payroll", + }, + timetickets_employee: { + title: i18n.t("reportcenter.templates.timetickets_employee"), + subject: i18n.t("reportcenter.templates.timetickets_employee"), + key: "timetickets_employee", + idtype: "employee", + disabled: false, + group: "payroll", + }, + attendance_detail: { + title: i18n.t("reportcenter.templates.attendance_detail"), + subject: i18n.t("reportcenter.templates.attendance_detail"), + key: "attendance_detail", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, + group: "payroll", + }, + attendance_summary: { + title: i18n.t("reportcenter.templates.attendance_summary"), + subject: i18n.t("reportcenter.templates.attendance_summary"), + key: "attendance_summary", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.timetickets"), + field: i18n.t("timetickets.fields.date"), + }, + group: "payroll", + }, + attendance_employee: { + title: i18n.t("reportcenter.templates.attendance_employee"), + 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"), + }, + group: "payroll", + }, + timetickets_summary: { + title: i18n.t("reportcenter.templates.timetickets_summary"), + 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"), + }, + group: "payroll", + }, + estimator_detail: { + title: i18n.t("reportcenter.templates.estimator_detail"), + description: "", + subject: i18n.t("reportcenter.templates.estimator_detail"), + key: "estimator_detail", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + estimator_summary: { + title: i18n.t("reportcenter.templates.estimator_summary"), + description: "", + subject: i18n.t("reportcenter.templates.estimator_summary"), + key: "estimator_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + supplement_ratio_ins_co: { + title: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.supplement_ratio_ins_co"), + key: "supplement_ratio_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + credits_not_received_date: { + title: i18n.t("reportcenter.templates.credits_not_received_date"), + description: "", + subject: i18n.t("reportcenter.templates.credits_not_received_date"), + key: "credits_not_received_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "purchases", + }, + void_ros: { + title: i18n.t("reportcenter.templates.void_ros"), + description: "", + subject: i18n.t("reportcenter.templates.void_ros"), + key: "void_ros", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "sales", + }, + gsr_by_csr: { + title: i18n.t("reportcenter.templates.gsr_by_csr"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_csr"), + key: "gsr_by_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_make: { + title: i18n.t("reportcenter.templates.gsr_by_make"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_make"), + key: "gsr_by_make", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_delivery_date: { + title: i18n.t("reportcenter.templates.gsr_by_delivery_date"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_delivery_date"), + key: "gsr_by_delivery_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_delivery"), + }, + group: "sales", + }, + gsr_by_referral: { + title: i18n.t("reportcenter.templates.gsr_by_referral"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_referral"), + key: "gsr_by_referral", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_ro: { + title: i18n.t("reportcenter.templates.gsr_by_ro"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_ro"), + key: "gsr_by_ro", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_ins_co: { + title: i18n.t("reportcenter.templates.gsr_by_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_ins_co"), + key: "gsr_by_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_exported_date: { + title: i18n.t("reportcenter.templates.gsr_by_exported_date"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_exported_date"), + key: "gsr_by_exported_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_exported"), + }, + group: "sales", + }, + gsr_by_estimator: { + title: i18n.t("reportcenter.templates.gsr_by_estimator"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_estimator"), + key: "gsr_by_estimator", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_category: { + title: i18n.t("reportcenter.templates.gsr_by_category"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_category"), + key: "gsr_by_category", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_by_ats: { + title: i18n.t("reportcenter.templates.gsr_by_ats"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_by_ats"), + key: "gsr_by_ats", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + gsr_labor_only: { + title: i18n.t("reportcenter.templates.gsr_labor_only"), + description: "", + subject: i18n.t("reportcenter.templates.gsr_labor_only"), + key: "gsr_labor_only", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + open_orders: { + title: i18n.t("reportcenter.templates.open_orders"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders"), + key: "open_orders", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_status: { + title: i18n.t("reportcenter.templates.open_orders_status"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_status"), + key: "open_orders_status", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_csr: { + title: i18n.t("reportcenter.templates.open_orders_csr"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_csr"), + key: "open_orders_csr", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_estimator: { + title: i18n.t("reportcenter.templates.open_orders_estimator"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_estimator"), + key: "open_orders_estimator", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_ins_co: { + title: i18n.t("reportcenter.templates.open_orders_ins_co"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_ins_co"), + key: "open_orders_ins_co", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + open_orders_specific_csr: { + title: i18n.t("reportcenter.templates.open_orders_specific_csr"), + description: "", + subject: i18n.t("reportcenter.templates.open_orders_specific_csr"), + key: "open_orders_specific_csr", + idtype: "employee", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + export_payables: { + title: i18n.t("reportcenter.templates.export_payables"), + description: "", + subject: i18n.t("reportcenter.templates.export_payables"), + key: "export_payables", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.exportlogs"), + field: i18n.t("exportlogs.fields.createdat"), + }, + group: "purchases", + }, + export_payments: { + title: i18n.t("reportcenter.templates.export_payments"), + description: "", + subject: i18n.t("reportcenter.templates.export_payments"), + key: "export_payments", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.exportlogs"), + field: i18n.t("exportlogs.fields.createdat"), + }, + group: "customers", + }, + export_receivables: { + title: i18n.t("reportcenter.templates.export_receivables"), + description: "", + subject: i18n.t("reportcenter.templates.export_receivables"), + key: "export_receivables", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.exportlogs"), + field: i18n.t("exportlogs.fields.createdat"), + }, + group: "sales", + }, + parts_backorder: { + title: i18n.t("reportcenter.templates.parts_backorder"), + description: "", + subject: i18n.t("reportcenter.templates.parts_backorder"), + key: "parts_backorder", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_in"), + }, + group: "purchases", + }, + thank_you_date: { + title: i18n.t("reportcenter.templates.thank_you_date"), + description: "", + subject: i18n.t("reportcenter.templates.thank_you_date"), + key: "thank_you_date", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "customers", + }, + unclaimed_hrs: { + title: i18n.t("reportcenter.templates.unclaimed_hrs"), + description: "", + subject: i18n.t("reportcenter.templates.unclaimed_hrs"), + key: "unclaimed_hrs", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "payroll", + }, + work_in_progress_labour: { + title: i18n.t("reportcenter.templates.work_in_progress_labour"), + description: "", + subject: i18n.t("reportcenter.templates.work_in_progress_labour"), + key: "work_in_progress_labour", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + work_in_progress_payables: { + title: i18n.t("reportcenter.templates.work_in_progress_payables"), + description: "", + subject: i18n.t("reportcenter.templates.work_in_progress_payables"), + key: "work_in_progress_payables", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + lag_time: { + title: i18n.t("reportcenter.templates.lag_time"), + description: "", + subject: i18n.t("reportcenter.templates.lag_time"), + key: "lag_time", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + parts_not_recieved: { + title: i18n.t("reportcenter.templates.parts_not_recieved"), + description: "", + subject: i18n.t("reportcenter.templates.parts_not_recieved"), + key: "parts_not_recieved", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "purchases", + }, + parts_not_recieved_vendor: { + title: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), + description: "", + subject: i18n.t("reportcenter.templates.parts_not_recieved_vendor"), + key: "parts_not_recieved_vendor", + idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "purchases", + }, + scoreboard_detail: { + title: i18n.t("reportcenter.templates.scoreboard_detail"), + description: "", + subject: i18n.t("reportcenter.templates.scoreboard_detail"), + key: "scoreboard_detail", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.scoreboard"), + field: i18n.t("scoreboard.fields.date"), + }, + group: "payroll", + }, + scoreboard_summary: { + title: i18n.t("reportcenter.templates.scoreboard_summary"), + description: "", + subject: i18n.t("reportcenter.templates.scoreboard_summary"), + key: "scoreboard_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.scoreboard"), + field: i18n.t("scoreboard.fields.date"), + }, + group: "payroll", + }, + anticipated_revenue: { + title: i18n.t("reportcenter.templates.anticipated_revenue"), + description: "", + subject: i18n.t("reportcenter.templates.anticipated_revenue"), + key: "anticipated_revenue", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.scheduled_completion"), // Also date invoice. + }, + group: "sales", + }, + csi: { + title: i18n.t("reportcenter.templates.csi"), + description: "", + subject: i18n.t("reportcenter.templates.csi"), + key: "csi", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.csi"), + field: i18n.t("csi.fields.created_at"), // Also date invoice. + }, + group: "customers", + }, + estimates_written_converted: { + title: i18n.t("reportcenter.templates.estimates_written_converted"), + description: "", + subject: i18n.t( + "reportcenter.templates.estimates_written_converted" + ), + key: "estimates_written_converted", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: + i18n.t("jobs.fields.date_open") + + "/" + + i18n.t("jobs.fields.date_invoiced"), // Also date invoice. + }, + group: "sales", + }, + credits_not_received_date_vendorid: { + title: i18n.t( + "reportcenter.templates.credits_not_received_date_vendorid" + ), + subject: i18n.t( + "reportcenter.templates.credits_not_received_date_vendorid" + ), + key: "credits_not_received_date_vendorid", + idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "purchases", + }, + jobs_reconcile: { + title: i18n.t("reportcenter.templates.jobs_reconcile"), + subject: i18n.t("reportcenter.templates.jobs_reconcile"), + key: "jobs_reconcile", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + parts_received_not_scheduled: { + title: i18n.t( + "reportcenter.templates.parts_received_not_scheduled" + ), + subject: i18n.t( + "reportcenter.templates.parts_received_not_scheduled" + ), + key: "parts_received_not_scheduled", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_open"), + }, + group: "jobs", + }, + psr_by_make: { + title: i18n.t("reportcenter.templates.psr_by_make"), + subject: i18n.t("reportcenter.templates.psr_by_make"), + key: "psr_by_make", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "sales", + }, + cycle_time_analysis: { + title: i18n.t("reportcenter.templates.cycle_time_analysis"), + subject: i18n.t("reportcenter.templates.cycle_time_analysis"), + key: "cycle_time_analysis", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_completion"), + }, + group: "jobs", + }, + returns_grouped_by_vendor_summary: { + title: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_summary" + ), + subject: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_summary" + ), + key: "returns_grouped_by_vendor_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "jobs", + }, + returns_grouped_by_vendor_detailed: { + title: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_detailed" + ), + subject: i18n.t( + "reportcenter.templates.returns_grouped_by_vendor_detailed" + ), + key: "returns_grouped_by_vendor_detailed", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.parts_orders"), + field: i18n.t("parts_orders.fields.order_date"), + }, + group: "jobs", + }, + scheduled_parts_list: { + title: i18n.t("reportcenter.templates.scheduled_parts_list"), + subject: i18n.t("reportcenter.templates.scheduled_parts_list"), + key: "scheduled_parts_list", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.scheduled_in"), + }, + group: "jobs", + }, + jobs_completed_not_invoiced: { + title: i18n.t("reportcenter.templates.jobs_completed_not_invoiced"), + subject: i18n.t( + "reportcenter.templates.jobs_completed_not_invoiced" + ), + key: "jobs_completed_not_invoiced", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "jobs", + }, + jobs_invoiced_not_exported: { + title: i18n.t("reportcenter.templates.jobs_invoiced_not_exported"), + subject: i18n.t( + "reportcenter.templates.jobs_invoiced_not_exported" + ), + key: "jobs_invoiced_not_exported", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + 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", + }, + production_over_time: { + title: i18n.t("reportcenter.templates.production_over_time"), + subject: i18n.t("reportcenter.templates.production_over_time"), + key: "production_over_time", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.actual_in"), + }, + group: "jobs", + }, + customer_list: { + title: i18n.t("reportcenter.templates.customer_list"), + subject: i18n.t("reportcenter.templates.customer_list"), + key: "customer_list", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_invoiced"), + }, + group: "customers", + }, + exported_gsr_by_ro: { + title: i18n.t("reportcenter.templates.exported_gsr_by_ro"), + subject: i18n.t("reportcenter.templates.exported_gsr_by_ro"), + key: "exported_gsr_by_ro", + //idtype: "vendor", + reporttype: "excel", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_exported"), + }, + group: "sales", + }, + exported_gsr_by_ro_labor: { + title: i18n.t("reportcenter.templates.exported_gsr_by_ro_labor"), + subject: i18n.t("reportcenter.templates.exported_gsr_by_ro_labor"), + key: "exported_gsr_by_ro_labor", + //idtype: "vendor", + reporttype: "excel", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.jobs"), + field: i18n.t("jobs.fields.date_exported"), + }, + group: "sales", + }, + } + : {}), + ...(!type || type === "courtesycarcontract" + ? { + courtesy_car_contract: { + title: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_contract" + ), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_contract" + ), + key: "courtesy_car_contract", + disabled: false, + }, + courtesy_car_terms: { + title: i18n.t("printcenter.courtesycarcontract.courtesy_car_terms"), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_terms" + ), + key: "courtesy_car_terms", + disabled: false, + }, + courtesy_car_impound: { + title: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_impound" + ), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_impound" + ), + key: "courtesy_car_impound", + disabled: false, + }, + } + : {}), + ...(!type || type === "courtesycar" + ? { + courtesy_car_inventory: { + title: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_inventory" + ), + description: "Est Detail", + subject: i18n.t( + "printcenter.courtesycarcontract.courtesy_car_inventory" + ), + key: "courtesy_car_inventory", + disabled: false, + }, + } + : {}), + ...(!type || type === "bill" + ? { + inhouse_invoice: { + title: i18n.t("printcenter.bills.inhouse_invoice"), + description: "Est Detail", + subject: i18n.t("printcenter.bills.inhouse_invoice"), + key: "inhouse_invoice", + disabled: false, + }, + } + : {}), + ...(!type || type === "timeticket" + ? { + // timetickets: { + // title: i18n.t("printcenter.timetickets.timetickets"), + // description: "Est Detail", + // subject: `${i18n.t("printcenter.timetickets.timetickets")} - ${ + // context && context.job && context.job.ro_number + // }`, + // key: "timetickets", + // disabled: false, + // }, + } + : {}), + ...(!type || type === "vendor" + ? { + purchases_by_vendor_detailed: { + title: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), + description: "Est Detail", + subject: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"), + key: "purchases_by_vendor_detailed", + disabled: false, + }, + purchases_by_vendor_summary: { + title: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), + description: "Est Detail", + subject: i18n.t("printcenter.vendors.purchases_by_vendor_summary"), + key: "purchases_by_vendor_summary", + disabled: false, + }, + } + : {}), + ...(!type || type === "production" + ? { + production_by_last_name: { + title: i18n.t("reportcenter.templates.production_by_last_name"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_last_name"), + key: "production_by_last_name", + //idtype: "vendor", + disabled: false, + }, + production_by_repair_status: { + title: i18n.t("reportcenter.templates.production_by_repair_status"), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_repair_status" + ), + key: "production_by_repair_status", + //idtype: "vendor", + disabled: false, + }, + production_by_target_date: { + title: i18n.t("reportcenter.templates.production_by_target_date"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_target_date"), + key: "production_by_target_date", + //idtype: "vendor", + disabled: false, + }, + production_by_ro: { + title: i18n.t("reportcenter.templates.production_by_ro"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_ro"), + key: "production_by_ro", + //idtype: "vendor", + disabled: false, + }, + production_by_csr: { + title: i18n.t("reportcenter.templates.production_by_csr"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_csr"), + key: "production_by_csr", + //idtype: "vendor", + disabled: false, + }, + production_by_category: { + title: i18n.t("reportcenter.templates.production_by_category"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_category"), + key: "production_by_category", + //idtype: "vendor", + disabled: false, + }, + production_by_technician: { + title: i18n.t("reportcenter.templates.production_by_technician"), + description: "", + subject: i18n.t("reportcenter.templates.production_by_technician"), + key: "production_by_technician", + //idtype: "vendor", + disabled: false, + }, + } + : {}), + ...(!type || type === "special" + ? { + ca_bc_etf_table: { + title: i18n.t("printcenter.payments.ca_bc_etf_table"), + description: "Est Detail", + subject: i18n.t("printcenter.payments.ca_bc_etf_table"), + key: "ca_bc_etf_table", + disabled: false, + }, + exported_payroll: { + title: i18n.t("printcenter.payments.exported_payroll"), + description: "Est Detail", + subject: i18n.t("printcenter.payments.exported_payroll"), + key: "exported_payroll", + disabled: false, + }, + attendance_detail_csv: { + title: i18n.t("printcenter.special.attendance_detail_csv"), + description: "Est Detail", + subject: i18n.t("printcenter.special.attendance_detail_csv"), + key: "attendance_detail_csv", + disabled: false, + }, + production_by_technician_one: { + title: i18n.t( + "reportcenter.templates.production_by_technician_one" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_technician_one" + ), + key: "production_by_technician_one", + //idtype: "vendor", + disabled: false, + }, + production_by_category_one: { + title: i18n.t("reportcenter.templates.production_by_category_one"), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_category_one" + ), + key: "production_by_category_one", + //idtype: "vendor", + disabled: false, + }, + production_by_repair_status_one: { + title: i18n.t( + "reportcenter.templates.production_by_repair_status_one" + ), + description: "", + subject: i18n.t( + "reportcenter.templates.production_by_repair_status_one" + ), + key: "production_by_repair_status_one", + //idtype: "vendor", + disabled: false, + }, + } + : {}), + }; }; From a68f8d688073a8caa62b19ece01267c04343f577 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 20 Apr 2023 15:05:23 -0700 Subject: [PATCH 07/11] Payroll schema changes. --- hasura/metadata/tables.yaml | 149 ++++++++++++++++++ .../down.sql | 4 + .../up.sql | 2 + .../down.sql | 1 + .../up.sql | 18 +++ 5 files changed, 174 insertions(+) create mode 100644 hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/down.sql create mode 100644 hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/up.sql create mode 100644 hasura/migrations/1682028025082_create_table_public_tt_approval_queue/down.sql create mode 100644 hasura/migrations/1682028025082_create_table_public_tt_approval_queue/up.sql diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index a456a9a0f..5a3212f7c 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -831,6 +831,13 @@ table: name: transitions schema: public + - name: tt_approval_queues + using: + foreign_key_constraint_on: + column: bodyshopid + table: + name: tt_approval_queue + schema: public - name: vehicles using: foreign_key_constraint_on: @@ -2262,6 +2269,13 @@ table: name: timetickets schema: public + - name: tt_approval_queues + using: + foreign_key_constraint_on: + column: employeeid + table: + name: tt_approval_queue + schema: public insert_permissions: - role: user permission: @@ -3145,6 +3159,13 @@ table: name: transitions schema: public + - name: tt_approval_queues + using: + foreign_key_constraint_on: + column: jobid + table: + name: tt_approval_queue + schema: public insert_permissions: - role: user permission: @@ -5210,6 +5231,14 @@ - name: job using: foreign_key_constraint_on: jobid + array_relationships: + - name: tt_approval_queues + using: + foreign_key_constraint_on: + column: timeticketid + table: + name: tt_approval_queue + schema: public insert_permissions: - role: user permission: @@ -5228,6 +5257,7 @@ - ciecacode - clockoff - clockon + - committed_at - cost_center - created_at - date @@ -5248,6 +5278,7 @@ - ciecacode - clockoff - clockon + - committed_at - cost_center - created_at - date @@ -5277,6 +5308,7 @@ - ciecacode - clockoff - clockon + - committed_at - cost_center - created_at - date @@ -5397,6 +5429,116 @@ authid: _eq: X-Hasura-User-Id check: {} +- table: + name: tt_approval_queue + schema: public + object_relationships: + - name: bodyshop + using: + foreign_key_constraint_on: bodyshopid + - name: employee + using: + foreign_key_constraint_on: employeeid + - name: job + using: + foreign_key_constraint_on: jobid + - name: timeticket + using: + foreign_key_constraint_on: timeticketid + - name: user + using: + foreign_key_constraint_on: approved_by + insert_permissions: + - role: user + permission: + check: + bodyshop: + associations: + _and: + - active: + _eq: true + - user: + authid: + _eq: X-Hasura-User-Id + columns: + - id + - created_at + - updated_at + - bodyshopid + - jobid + - employeeid + - timeticketid + - approved_by + - approved_at + - actualhrs + - productivehrs + - rate + - flat_rate + - ciecacode + - cost_center + - date + - memo + select_permissions: + - role: user + permission: + columns: + - flat_rate + - date + - actualhrs + - productivehrs + - rate + - approved_by + - ciecacode + - cost_center + - memo + - approved_at + - created_at + - updated_at + - bodyshopid + - employeeid + - id + - jobid + - timeticketid + filter: + bodyshop: + associations: + _and: + - active: + _eq: true + - user: + authid: + _eq: X-Hasura-User-Id + update_permissions: + - role: user + permission: + columns: + - flat_rate + - date + - actualhrs + - productivehrs + - rate + - approved_by + - ciecacode + - cost_center + - memo + - approved_at + - created_at + - updated_at + - bodyshopid + - employeeid + - id + - jobid + - timeticketid + filter: + bodyshop: + associations: + _and: + - active: + _eq: true + - user: + authid: + _eq: X-Hasura-User-Id + check: null - table: name: users schema: public @@ -5467,6 +5609,13 @@ table: name: parts_orders schema: public + - name: tt_approval_queues + using: + foreign_key_constraint_on: + column: approved_by + table: + name: tt_approval_queue + schema: public insert_permissions: - role: user permission: diff --git a/hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/down.sql b/hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/down.sql new file mode 100644 index 000000000..7a27fe19f --- /dev/null +++ b/hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/down.sql @@ -0,0 +1,4 @@ +-- Could not auto-generate a down migration. +-- Please write an appropriate down migration for the SQL below: +-- alter table "public"."timetickets" add column "committed_at" timestamptz +-- null; diff --git a/hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/up.sql b/hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/up.sql new file mode 100644 index 000000000..755139538 --- /dev/null +++ b/hasura/migrations/1682027512494_alter_table_public_timetickets_add_column_committed_at/up.sql @@ -0,0 +1,2 @@ +alter table "public"."timetickets" add column "committed_at" timestamptz + null; diff --git a/hasura/migrations/1682028025082_create_table_public_tt_approval_queue/down.sql b/hasura/migrations/1682028025082_create_table_public_tt_approval_queue/down.sql new file mode 100644 index 000000000..624fb0e17 --- /dev/null +++ b/hasura/migrations/1682028025082_create_table_public_tt_approval_queue/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."tt_approval_queue"; diff --git a/hasura/migrations/1682028025082_create_table_public_tt_approval_queue/up.sql b/hasura/migrations/1682028025082_create_table_public_tt_approval_queue/up.sql new file mode 100644 index 000000000..96ba736a7 --- /dev/null +++ b/hasura/migrations/1682028025082_create_table_public_tt_approval_queue/up.sql @@ -0,0 +1,18 @@ +CREATE TABLE "public"."tt_approval_queue" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "created_at" timestamptz NOT NULL DEFAULT now(), "updated_at" timestamptz NOT NULL DEFAULT now(), "bodyshopid" uuid NOT NULL, "jobid" uuid NOT NULL, "employeeid" uuid NOT NULL, "timeticketid" uuid, "approved_by" text, "approved_at" timestamptz NOT NULL, "actualhrs" numeric NOT NULL DEFAULT 0, "productivehrs" numeric NOT NULL DEFAULT 0, "rate" numeric NOT NULL DEFAULT 0, "flat_rate" boolean NOT NULL DEFAULT true, "ciecacode" text, "cost_center" text NOT NULL, "date" date NOT NULL DEFAULT now(), "memo" text NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("bodyshopid") REFERENCES "public"."bodyshops"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("jobid") REFERENCES "public"."jobs"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("employeeid") REFERENCES "public"."employees"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("timeticketid") REFERENCES "public"."timetickets"("id") ON UPDATE cascade ON DELETE cascade, FOREIGN KEY ("approved_by") REFERENCES "public"."users"("email") ON UPDATE restrict ON DELETE restrict); +CREATE OR REPLACE FUNCTION "public"."set_current_timestamp_updated_at"() +RETURNS TRIGGER AS $$ +DECLARE + _new record; +BEGIN + _new := NEW; + _new."updated_at" = NOW(); + RETURN _new; +END; +$$ LANGUAGE plpgsql; +CREATE TRIGGER "set_public_tt_approval_queue_updated_at" +BEFORE UPDATE ON "public"."tt_approval_queue" +FOR EACH ROW +EXECUTE PROCEDURE "public"."set_current_timestamp_updated_at"(); +COMMENT ON TRIGGER "set_public_tt_approval_queue_updated_at" ON "public"."tt_approval_queue" +IS 'trigger to set value of column "updated_at" to current timestamp on row update'; +CREATE EXTENSION IF NOT EXISTS pgcrypto; From 60768c884765996c395fbae6355b5d600ab60fbf Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Thu, 20 Apr 2023 15:28:14 -0700 Subject: [PATCH 08/11] Timeticket approval queue aggregation permissions. --- hasura/metadata/tables.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index 5a3212f7c..22d75a0e8 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -5508,6 +5508,7 @@ - user: authid: _eq: X-Hasura-User-Id + allow_aggregations: true update_permissions: - role: user permission: From 3086a654a145e1914b741ca55193c5c182da5870 Mon Sep 17 00:00:00 2001 From: swtmply Date: Fri, 21 Apr 2023 22:27:48 +0800 Subject: [PATCH 09/11] IO-1461 made the sider sticky --- .../components/tech-sider/tech-sider.component.jsx | 12 +++++++++++- client/src/pages/tech/tech.page.styles.scss | 5 +++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/client/src/components/tech-sider/tech-sider.component.jsx b/client/src/components/tech-sider/tech-sider.component.jsx index 1bd3bcdf8..c6ea4f67f 100644 --- a/client/src/components/tech-sider/tech-sider.component.jsx +++ b/client/src/components/tech-sider/tech-sider.component.jsx @@ -29,7 +29,17 @@ export function TechSider({ technician, techLogout }) { }; return ( - + Date: Fri, 21 Apr 2023 08:42:47 -0700 Subject: [PATCH 10/11] Additional schema changes for payroll. --- .../down.sql | 1 + .../up.sql | 1 + .../down.sql | 1 + .../up.sql | 1 + 4 files changed, 4 insertions(+) create mode 100644 hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/down.sql create mode 100644 hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/up.sql create mode 100644 hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/down.sql create mode 100644 hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/up.sql diff --git a/hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/down.sql b/hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/down.sql new file mode 100644 index 000000000..e5306a3a4 --- /dev/null +++ b/hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/down.sql @@ -0,0 +1 @@ +alter table "public"."tt_approval_queue" alter column "approved_at" set not null; diff --git a/hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/up.sql b/hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/up.sql new file mode 100644 index 000000000..8f899317b --- /dev/null +++ b/hasura/migrations/1682031429191_alter_table_public_tt_approval_queue_alter_column_approved_at/up.sql @@ -0,0 +1 @@ +alter table "public"."tt_approval_queue" alter column "approved_at" drop not null; diff --git a/hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/down.sql b/hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/down.sql new file mode 100644 index 000000000..82d12df19 --- /dev/null +++ b/hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/down.sql @@ -0,0 +1 @@ +alter table "public"."tt_approval_queue" alter column "memo" set not null; diff --git a/hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/up.sql b/hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/up.sql new file mode 100644 index 000000000..b83aa38f0 --- /dev/null +++ b/hasura/migrations/1682031447950_alter_table_public_tt_approval_queue_alter_column_memo/up.sql @@ -0,0 +1 @@ +alter table "public"."tt_approval_queue" alter column "memo" drop not null; From 132cf98a37fb61d60faa30226390f06fc384b33e Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 21 Apr 2023 12:21:28 -0700 Subject: [PATCH 11/11] IO-2086 Resolve local media server pulling full size image for thumbnail. --- .../jobs-documents-local-gallery.external.component.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.external.component.jsx b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.external.component.jsx index 49fef085e..ce8622713 100644 --- a/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.external.component.jsx +++ b/client/src/components/jobs-documents-local-gallery/jobs-documents-local-gallery.external.component.jsx @@ -52,11 +52,15 @@ function JobDocumentsLocalGalleryExternal({ val.type.mime && val.type.mime.startsWith("image") ) { - acc.push(val); + acc.push({ ...val, src: val.thumbnail }); } return acc; }, []) : []; + console.log( + "🚀 ~ file: jobs-documents-local-gallery.external.component.jsx:48 ~ useEffect ~ documents:", + documents + ); setgalleryImages(documents); }, [allMedia, jobId, setgalleryImages, t]);