IO-1485 Auto CC on parts order.

This commit is contained in:
Patrick Fic
2021-11-22 15:39:12 -08:00
parent 0c26b90591
commit b462b2fa03
13 changed files with 64 additions and 5 deletions

View File

@@ -1,4 +1,4 @@
<babeledit_project version="1.2" be_version="2.7.1"> <babeledit_project be_version="2.7.1" version="1.2">
<!-- <!--
BabelEdit project file BabelEdit project file
@@ -4304,6 +4304,27 @@
</translation> </translation>
</translations> </translations>
</concept_node> </concept_node>
<concept_node>
<name>md_email_cc</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<folder_node> <folder_node>
<name>md_hour_split</name> <name>md_hour_split</name>
<children> <children>

View File

@@ -27,7 +27,7 @@ export function DmsLogEvents({ socket, logs, bodyshop }) {
<Timeline.Item key={idx} color={LogLevelHierarchy(log.level)}> <Timeline.Item key={idx} color={LogLevelHierarchy(log.level)}>
<Space wrap align="start" style={{}}> <Space wrap align="start" style={{}}>
<Tag color={LogLevelHierarchy(log.level)}>{log.level}</Tag> <Tag color={LogLevelHierarchy(log.level)}>{log.level}</Tag>
<span>{moment(log.timestamp).format("MM/DD/YYYY HH:MM:ss")}</span> <span>{moment(log.timestamp).format("MM/DD/YYYY HH:mm:ss")}</span>
<Divider type="vertical" /> <Divider type="vertical" />
<span>{log.message}</span> <span>{log.message}</span>
</Space> </Space>

View File

@@ -149,6 +149,18 @@ export function EmailOverlayContainer({
html: response.data, html: response.data,
fileList: [], fileList: [],
}); });
if (
bodyshop.md_email_cc[emailConfig.template.name] &&
bodyshop.md_email_cc[emailConfig.template.name].length > 0
) {
form.setFieldsValue({
cc: [
...(form.getFieldValue("cc") || []),
...bodyshop.md_email_cc[emailConfig.template.name],
],
});
}
setLoading(false); setLoading(false);
}; };

View File

@@ -176,7 +176,7 @@ export function ScheduleEventComponent({
t("appointments.labels.reminder", { t("appointments.labels.reminder", {
shopname: bodyshop.shopname, shopname: bodyshop.shopname,
date: moment(event.start).format("MM/DD/YYYY"), date: moment(event.start).format("MM/DD/YYYY"),
time: moment(event.start).format("HH:MM a"), time: moment(event.start).format("HH:mm a"),
}) })
); );
setVisible(false); setVisible(false);

View File

@@ -467,6 +467,19 @@ export default function ShopInfoGeneral({ form }) {
> >
<Switch /> <Switch />
</Form.Item> </Form.Item>
<Form.Item
name={["md_email_cc", "parts_order"]}
label={t("bodyshop.fields.md_email_cc", { template: "parts_order" })}
rules={[
{
required: true,
//message: t("general.validation.required"),
type: "array",
},
]}
>
<Select mode="tags" />
</Form.Item>
<Form.Item <Form.Item
name={["tt_allow_post_to_invoiced"]} name={["tt_allow_post_to_invoiced"]}
label={t("bodyshop.fields.tt_allow_post_to_invoiced")} label={t("bodyshop.fields.tt_allow_post_to_invoiced")}

View File

@@ -99,6 +99,7 @@ export const QUERY_BODYSHOP = gql`
pbs_configuration pbs_configuration
pbs_serialnumber pbs_serialnumber
md_filehandlers md_filehandlers
md_email_cc
employees { employees {
user_email user_email
id id
@@ -195,6 +196,7 @@ export const UPDATE_SHOP = gql`
pbs_configuration pbs_configuration
pbs_serialnumber pbs_serialnumber
md_filehandlers md_filehandlers
md_email_cc
employees { employees {
id id
first_name first_name

View File

@@ -271,6 +271,7 @@
"md_ccc_rates": "Courtesy Car Contract Rate Presets", "md_ccc_rates": "Courtesy Car Contract Rate Presets",
"md_classes": "Classes", "md_classes": "Classes",
"md_ded_notes": "Deductible Notes", "md_ded_notes": "Deductible Notes",
"md_email_cc": "Auto Email CC: $t(printcenter.subjects.jobs.{{template}})",
"md_hour_split": { "md_hour_split": {
"paint": "Paint Hour Split", "paint": "Paint Hour Split",
"prep": "Prep Hour Split" "prep": "Prep Hour Split"

View File

@@ -271,6 +271,7 @@
"md_ccc_rates": "", "md_ccc_rates": "",
"md_classes": "", "md_classes": "",
"md_ded_notes": "", "md_ded_notes": "",
"md_email_cc": "",
"md_hour_split": { "md_hour_split": {
"paint": "", "paint": "",
"prep": "" "prep": ""

View File

@@ -271,6 +271,7 @@
"md_ccc_rates": "", "md_ccc_rates": "",
"md_classes": "", "md_classes": "",
"md_ded_notes": "", "md_ded_notes": "",
"md_email_cc": "",
"md_hour_split": { "md_hour_split": {
"paint": "", "paint": "",
"prep": "" "prep": ""

View File

@@ -829,6 +829,7 @@
- md_ccc_rates - md_ccc_rates
- md_classes - md_classes
- md_ded_notes - md_ded_notes
- md_email_cc
- md_estimators - md_estimators
- md_filehandlers - md_filehandlers
- md_hour_split - md_hour_split
@@ -908,6 +909,7 @@
- md_ccc_rates - md_ccc_rates
- md_classes - md_classes
- md_ded_notes - md_ded_notes
- md_email_cc
- md_estimators - md_estimators
- md_filehandlers - md_filehandlers
- md_hour_split - md_hour_split

View File

@@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."bodyshops" add column "md_email_cc" jsonb
-- null default jsonb_build_object();

View File

@@ -0,0 +1,2 @@
alter table "public"."bodyshops" add column "md_email_cc" jsonb
null default jsonb_build_object();

View File

@@ -866,9 +866,9 @@ async function InsertServiceVehicleHistory(socket) {
roNumber: socket.JobData.ro_number.match(/\d+/g), roNumber: socket.JobData.ro_number.match(/\d+/g),
mileage: socket.txEnvelope.kmout, mileage: socket.txEnvelope.kmout,
openDate: moment(socket.JobData.actual_in).format("YYYY-MM-DD"), openDate: moment(socket.JobData.actual_in).format("YYYY-MM-DD"),
openTime: moment(socket.JobData.actual_in).format("HH:MM:ss"), openTime: moment(socket.JobData.actual_in).format("HH:mm:ss"),
closeDate: moment(socket.JobData.invoice_date).format("YYYY-MM-DD"), closeDate: moment(socket.JobData.invoice_date).format("YYYY-MM-DD"),
closeTime: moment(socket.JobData.invoice_date).format("HH:MM:ss"), closeTime: moment(socket.JobData.invoice_date).format("HH:mm:ss"),
comments: socket.txEnvelope.story, comments: socket.txEnvelope.story,
cashierID: socket.JobData.bodyshop.cdk_configuration.cashierid, cashierID: socket.JobData.bodyshop.cdk_configuration.cashierid,
}, },