Merged in release/2022-01-14 (pull request #348)
release/2022-01-14 Approved-by: Patrick Fic
This commit is contained in:
@@ -38007,6 +38007,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>production_by_category</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>production_by_csr</name>
|
<name>production_by_csr</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -269,7 +269,6 @@ export function ProductionListTable({
|
|||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
columns={columns.map((c, index) => {
|
columns={columns.map((c, index) => {
|
||||||
console.log(c);
|
|
||||||
return {
|
return {
|
||||||
...c,
|
...c,
|
||||||
filteredValue: state.filteredInfo[c.key] || null,
|
filteredValue: state.filteredInfo[c.key] || null,
|
||||||
|
|||||||
@@ -75,9 +75,17 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
|||||||
<div>
|
<div>
|
||||||
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
|
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
|
||||||
<>
|
<>
|
||||||
<DataLabel label={t("bodyshop.labels.dms.cdk_dealerid")}>
|
{bodyshop.cdk_dealerid && (
|
||||||
{form.getFieldValue("cdk_dealerid")}
|
<DataLabel label={t("bodyshop.labels.dms.cdk_dealerid")}>
|
||||||
</DataLabel>
|
{form.getFieldValue("cdk_dealerid")}
|
||||||
|
</DataLabel>
|
||||||
|
)}
|
||||||
|
{bodyshop.pbs_serialnumber && (
|
||||||
|
<DataLabel label={t("bodyshop.labels.dms.pbs_serialnumber")}>
|
||||||
|
{form.getFieldValue("pbs_serialnumber")}
|
||||||
|
</DataLabel>
|
||||||
|
)}
|
||||||
|
|
||||||
<LayoutFormRow>
|
<LayoutFormRow>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("bodyshop.fields.dms.default_journal")}
|
label={t("bodyshop.fields.dms.default_journal")}
|
||||||
@@ -158,11 +166,11 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
|||||||
label={t("jobs.fields.dms.payer.control_type")}
|
label={t("jobs.fields.dms.payer.control_type")}
|
||||||
key={`${index}control_type`}
|
key={`${index}control_type`}
|
||||||
name={[field.name, "control_type"]}
|
name={[field.name, "control_type"]}
|
||||||
rules={[
|
// rules={[
|
||||||
{
|
// {
|
||||||
required: true,
|
// required: true,
|
||||||
},
|
// },
|
||||||
]}
|
// ]}
|
||||||
>
|
>
|
||||||
<Select showSearch>
|
<Select showSearch>
|
||||||
<Select.Option value="ro_number">
|
<Select.Option value="ro_number">
|
||||||
|
|||||||
@@ -2260,6 +2260,7 @@
|
|||||||
"parts_not_recieved": "Parts Not Received",
|
"parts_not_recieved": "Parts Not Received",
|
||||||
"payments_by_date": "Payments by Date",
|
"payments_by_date": "Payments by Date",
|
||||||
"payments_by_date_type": "Payments by Date and Type",
|
"payments_by_date_type": "Payments by Date and Type",
|
||||||
|
"production_by_category": "Production by Category",
|
||||||
"production_by_csr": "Production by CSR",
|
"production_by_csr": "Production by CSR",
|
||||||
"production_by_last_name": "Production by Last Name",
|
"production_by_last_name": "Production by Last Name",
|
||||||
"production_by_repair_status": "Production by Status",
|
"production_by_repair_status": "Production by Status",
|
||||||
|
|||||||
@@ -2260,6 +2260,7 @@
|
|||||||
"parts_not_recieved": "",
|
"parts_not_recieved": "",
|
||||||
"payments_by_date": "",
|
"payments_by_date": "",
|
||||||
"payments_by_date_type": "",
|
"payments_by_date_type": "",
|
||||||
|
"production_by_category": "",
|
||||||
"production_by_csr": "",
|
"production_by_csr": "",
|
||||||
"production_by_last_name": "",
|
"production_by_last_name": "",
|
||||||
"production_by_repair_status": "",
|
"production_by_repair_status": "",
|
||||||
|
|||||||
@@ -2260,6 +2260,7 @@
|
|||||||
"parts_not_recieved": "",
|
"parts_not_recieved": "",
|
||||||
"payments_by_date": "",
|
"payments_by_date": "",
|
||||||
"payments_by_date_type": "",
|
"payments_by_date_type": "",
|
||||||
|
"production_by_category": "",
|
||||||
"production_by_csr": "",
|
"production_by_csr": "",
|
||||||
"production_by_last_name": "",
|
"production_by_last_name": "",
|
||||||
"production_by_repair_status": "",
|
"production_by_repair_status": "",
|
||||||
|
|||||||
@@ -1598,6 +1598,14 @@ export const TemplateList = (type, context) => {
|
|||||||
//idtype: "vendor",
|
//idtype: "vendor",
|
||||||
disabled: false,
|
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,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
...(!type || type === "special"
|
...(!type || type === "special"
|
||||||
|
|||||||
@@ -68,6 +68,10 @@ app.get("/test", async function (req, res) {
|
|||||||
"git rev-parse --short HEAD"
|
"git rev-parse --short HEAD"
|
||||||
);
|
);
|
||||||
logger.log("test-api-status", "DEBUG", "api", { commit });
|
logger.log("test-api-status", "DEBUG", "api", { commit });
|
||||||
|
sendEmail.sendServerEmail({
|
||||||
|
subject: `API Check - ${process.env.NODE_ENV}`,
|
||||||
|
text: `Server API check has come in. `,
|
||||||
|
});
|
||||||
res.status(200).send(`OK - ${commit}`);
|
res.status(200).send(`OK - ${commit}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ require("dotenv").config({
|
|||||||
let Client = require("ssh2-sftp-client");
|
let Client = require("ssh2-sftp-client");
|
||||||
|
|
||||||
const client = require("../graphql-client/graphql-client").client;
|
const client = require("../graphql-client/graphql-client").client;
|
||||||
|
const { sendServerEmail } = require("../email/sendemail");
|
||||||
const AHDineroFormat = "0.00";
|
const AHDineroFormat = "0.00";
|
||||||
const AhDateFormat = "MMDDYYYY";
|
const AhDateFormat = "MMDDYYYY";
|
||||||
|
|
||||||
@@ -112,16 +113,6 @@ exports.default = async (req, res) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (process.env.NODE_ENV !== "production") {
|
|
||||||
for (const xmlObj of allxmlsToUpload) {
|
|
||||||
fs.writeFileSync(`./logs/${xmlObj.filename}`, xmlObj.xml);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.json(allxmlsToUpload);
|
|
||||||
return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
let sftp = new Client();
|
let sftp = new Client();
|
||||||
sftp.on("error", (errors) =>
|
sftp.on("error", (errors) =>
|
||||||
logger.log("autohouse-sftp-error", "ERROR", "api", null, {
|
logger.log("autohouse-sftp-error", "ERROR", "api", null, {
|
||||||
@@ -155,7 +146,17 @@ exports.default = async (req, res) => {
|
|||||||
} finally {
|
} finally {
|
||||||
sftp.end();
|
sftp.end();
|
||||||
}
|
}
|
||||||
|
sendServerEmail({
|
||||||
|
subject: `Autohouse Report ${moment().format("MM-DD-YY")}`,
|
||||||
|
text: `Errors: ${allErrors.map((e) => JSON.stringify(e, null, 2))}
|
||||||
|
|
||||||
|
Uploaded: ${JSON.stringify(
|
||||||
|
allxmlsToUpload.map((x) => x.filename),
|
||||||
|
null,
|
||||||
|
2
|
||||||
|
)}
|
||||||
|
`,
|
||||||
|
});
|
||||||
res.sendStatus(200);
|
res.sendStatus(200);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
res.status(200).json(error);
|
res.status(200).json(error);
|
||||||
@@ -682,13 +683,11 @@ const CreateCosts = (job) => {
|
|||||||
ticketTotalsByCostCenter[defaultCosts.LAM] || Dinero(),
|
ticketTotalsByCostCenter[defaultCosts.LAM] || Dinero(),
|
||||||
StructuralLaborTotalCost:
|
StructuralLaborTotalCost:
|
||||||
ticketTotalsByCostCenter[defaultCosts.LAS] || Dinero(),
|
ticketTotalsByCostCenter[defaultCosts.LAS] || Dinero(),
|
||||||
ElectricalLaborTotalCost:
|
ElectricalLaborTotalCost:
|
||||||
ticketTotalsByCostCenter[defaultCosts.LAE] || Dinero(),
|
ticketTotalsByCostCenter[defaultCosts.LAE] || Dinero(),
|
||||||
FrameLaborTotalCost:
|
FrameLaborTotalCost: ticketTotalsByCostCenter[defaultCosts.LAF] || Dinero(),
|
||||||
ticketTotalsByCostCenter[defaultCosts.LAF] || Dinero(),
|
GlassLaborTotalCost: ticketTotalsByCostCenter[defaultCosts.LAG] || Dinero(),
|
||||||
GlassLaborTotalCost:
|
DetailLaborTotalCost:
|
||||||
ticketTotalsByCostCenter[defaultCosts.LAG] || Dinero(),
|
|
||||||
DetailLaborTotalCost:
|
|
||||||
ticketTotalsByCostCenter[defaultCosts.LAD] || Dinero(),
|
ticketTotalsByCostCenter[defaultCosts.LAD] || Dinero(),
|
||||||
PMTotalCost: billTotalsByCostCenters[defaultCosts.MAPA] || Dinero(),
|
PMTotalCost: billTotalsByCostCenters[defaultCosts.MAPA] || Dinero(),
|
||||||
BMTotalCost: billTotalsByCostCenters[defaultCosts.MASH] || Dinero(),
|
BMTotalCost: billTotalsByCostCenters[defaultCosts.MASH] || Dinero(),
|
||||||
|
|||||||
@@ -18,6 +18,34 @@ let transporter = nodemailer.createTransport({
|
|||||||
SES: { ses, aws },
|
SES: { ses, aws },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
exports.sendServerEmail = async function ({ subject, text }) {
|
||||||
|
try {
|
||||||
|
transporter.sendMail(
|
||||||
|
{
|
||||||
|
from: `ImEX Online API - ${process.env.NODE_ENV} <noreply@imex.online>`,
|
||||||
|
to: ["patrick@snapt.ca"],
|
||||||
|
subject: subject,
|
||||||
|
text: text,
|
||||||
|
ses: {
|
||||||
|
// optional extra arguments for SendRawEmail
|
||||||
|
Tags: [
|
||||||
|
{
|
||||||
|
Name: "tag_name",
|
||||||
|
Value: "tag_value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
(err, info) => {
|
||||||
|
console.log(err || info);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
logger.log("server-email-failure", "error", null, null, error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
exports.sendEmail = async (req, res) => {
|
exports.sendEmail = async (req, res) => {
|
||||||
logger.log("send-email", "DEBUG", req.user.email, null, {
|
logger.log("send-email", "DEBUG", req.user.email, null, {
|
||||||
from: `${req.body.from.name} <${req.body.from.address}>`,
|
from: `${req.body.from.name} <${req.body.from.address}>`,
|
||||||
|
|||||||
Reference in New Issue
Block a user