Merged in release/2022-01-28 (pull request #360)
release/2022-01-28 Approved-by: Patrick Fic
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<babeledit_project be_version="2.7.1" version="1.2">
|
<babeledit_project version="1.2" be_version="2.7.1">
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
BabelEdit project file
|
BabelEdit project file
|
||||||
@@ -38091,6 +38091,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>production_by_category_one</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>
|
||||||
|
|||||||
@@ -45,14 +45,14 @@ function ChatSendMessageComponent({
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const handleEnter = () => {
|
const handleEnter = () => {
|
||||||
if (message === "" || !message) return;
|
|
||||||
logImEXEvent("messaging_send_message");
|
|
||||||
const selectedImages = selectedMedia.filter((i) => i.isSelected);
|
const selectedImages = selectedMedia.filter((i) => i.isSelected);
|
||||||
|
if ((message === "" || !message) && selectedImages.length === 0) return;
|
||||||
|
logImEXEvent("messaging_send_message");
|
||||||
|
|
||||||
if (selectedImages.length < 11) {
|
if (selectedImages.length < 11) {
|
||||||
sendMessage({
|
sendMessage({
|
||||||
to: conversation.phone_num,
|
to: conversation.phone_num,
|
||||||
body: message,
|
body: message || "",
|
||||||
messagingServiceSid: bodyshop.messagingservicesid,
|
messagingServiceSid: bodyshop.messagingservicesid,
|
||||||
conversationid: conversation.id,
|
conversationid: conversation.id,
|
||||||
selectedMedia: selectedImages,
|
selectedMedia: selectedImages,
|
||||||
@@ -93,7 +93,7 @@ function ChatSendMessageComponent({
|
|||||||
</span>
|
</span>
|
||||||
<SendOutlined
|
<SendOutlined
|
||||||
className="imex-flex-row__margin"
|
className="imex-flex-row__margin"
|
||||||
disabled={message === "" || !message}
|
// disabled={message === "" || !message}
|
||||||
onClick={handleEnter}
|
onClick={handleEnter}
|
||||||
/>
|
/>
|
||||||
<Spin
|
<Spin
|
||||||
|
|||||||
@@ -84,12 +84,12 @@ export function DmsPostForm({ bodyshop, socket, job, logsRef }) {
|
|||||||
ro_number: job.ro_number,
|
ro_number: job.ro_number,
|
||||||
ownr_nm: `${job.ownr_fn || ""} ${job.ownr_ln || ""} ${
|
ownr_nm: `${job.ownr_fn || ""} ${job.ownr_ln || ""} ${
|
||||||
job.ownr_co_nm || ""
|
job.ownr_co_nm || ""
|
||||||
}`,
|
}`.trim(),
|
||||||
ins_co_nm: job.ins_co_nm || "N/A",
|
ins_co_nm: job.ins_co_nm || "N/A",
|
||||||
clm_po: `${job.clm_no ? `${job.clm_no} ` : ""}${
|
clm_po: `${job.clm_no ? `${job.clm_no} ` : ""}${
|
||||||
job.po_number || ""
|
job.po_number || ""
|
||||||
}`,
|
}`,
|
||||||
})}.${
|
}).trim()}.${
|
||||||
job.area_of_damage && job.area_of_damage.impact1
|
job.area_of_damage && job.area_of_damage.impact1
|
||||||
? " " +
|
? " " +
|
||||||
t("jobs.labels.dms.damageto", {
|
t("jobs.labels.dms.damageto", {
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ import { connect } from "react-redux";
|
|||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
const ProdTemplates = TemplateList("production");
|
const ProdTemplates = TemplateList("production");
|
||||||
const ProductionByTech = TemplateList("special").production_by_technician_one;
|
const { production_by_technician_one, production_by_category_one } =
|
||||||
|
TemplateList("special");
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop,
|
bodyshop: selectBodyshop,
|
||||||
@@ -58,7 +59,7 @@ export function ProductionListPrint({ bodyshop }) {
|
|||||||
setLoading(true);
|
setLoading(true);
|
||||||
await GenerateDocument(
|
await GenerateDocument(
|
||||||
{
|
{
|
||||||
name: ProductionByTech.key,
|
name: production_by_technician_one.key,
|
||||||
variables: { id: e.id },
|
variables: { id: e.id },
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
@@ -71,6 +72,29 @@ export function ProductionListPrint({ bodyshop }) {
|
|||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
))}
|
))}
|
||||||
</Menu.SubMenu>
|
</Menu.SubMenu>
|
||||||
|
<Menu.SubMenu
|
||||||
|
title={t("reportcenter.templates.production_by_category_one")}
|
||||||
|
>
|
||||||
|
{bodyshop.md_categories.map((e) => (
|
||||||
|
<Menu.Item
|
||||||
|
key={e}
|
||||||
|
onClick={async () => {
|
||||||
|
setLoading(true);
|
||||||
|
await GenerateDocument(
|
||||||
|
{
|
||||||
|
name: production_by_category_one.key,
|
||||||
|
variables: { category: e },
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
"p"
|
||||||
|
);
|
||||||
|
setLoading(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{e}
|
||||||
|
</Menu.Item>
|
||||||
|
))}
|
||||||
|
</Menu.SubMenu>
|
||||||
</Menu>
|
</Menu>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -1507,7 +1507,7 @@
|
|||||||
"diskscan": "Scan Disk for Estimates",
|
"diskscan": "Scan Disk for Estimates",
|
||||||
"dms": {
|
"dms": {
|
||||||
"damageto": "Damage to $t(jobs.fields.area_of_damage_impact.{{area_of_damage}}).",
|
"damageto": "Damage to $t(jobs.fields.area_of_damage_impact.{{area_of_damage}}).",
|
||||||
"defaultstory": "B/S RO: {{ro_number}}. Owner: {{ownr_nm}}. Insurance Co: {{ins_co_nm}}. Claim/PO #: {{clm_po}}",
|
"defaultstory": "B/S RO: {{ro_number}}. Owner: {{ownr_nm}}. Insurance Co: {{ins_co_nm}}. Claim/PO #: {{clm_po}}",
|
||||||
"invoicedatefuture": "Invoice date must be today or in the future for CDK posting.",
|
"invoicedatefuture": "Invoice date must be today or in the future for CDK posting.",
|
||||||
"kmoutnotgreaterthankmin": "Mileage out must be greater than mileage in.",
|
"kmoutnotgreaterthankmin": "Mileage out must be greater than mileage in.",
|
||||||
"logs": "Logs",
|
"logs": "Logs",
|
||||||
@@ -2264,6 +2264,7 @@
|
|||||||
"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_category": "Production by Category",
|
||||||
|
"production_by_category_one": "Production filtered 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",
|
||||||
|
|||||||
@@ -2264,6 +2264,7 @@
|
|||||||
"payments_by_date": "",
|
"payments_by_date": "",
|
||||||
"payments_by_date_type": "",
|
"payments_by_date_type": "",
|
||||||
"production_by_category": "",
|
"production_by_category": "",
|
||||||
|
"production_by_category_one": "",
|
||||||
"production_by_csr": "",
|
"production_by_csr": "",
|
||||||
"production_by_last_name": "",
|
"production_by_last_name": "",
|
||||||
"production_by_repair_status": "",
|
"production_by_repair_status": "",
|
||||||
|
|||||||
@@ -2264,6 +2264,7 @@
|
|||||||
"payments_by_date": "",
|
"payments_by_date": "",
|
||||||
"payments_by_date_type": "",
|
"payments_by_date_type": "",
|
||||||
"production_by_category": "",
|
"production_by_category": "",
|
||||||
|
"production_by_category_one": "",
|
||||||
"production_by_csr": "",
|
"production_by_csr": "",
|
||||||
"production_by_last_name": "",
|
"production_by_last_name": "",
|
||||||
"production_by_repair_status": "",
|
"production_by_repair_status": "",
|
||||||
|
|||||||
@@ -1647,6 +1647,16 @@ export const TemplateList = (type, context) => {
|
|||||||
//idtype: "vendor",
|
//idtype: "vendor",
|
||||||
disabled: false,
|
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,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,13 +13,20 @@ const logger = require("../utils/logger");
|
|||||||
const client = twilio(
|
const client = twilio(
|
||||||
process.env.TWILIO_AUTH_TOKEN,
|
process.env.TWILIO_AUTH_TOKEN,
|
||||||
process.env.TWILIO_AUTH_KEY
|
process.env.TWILIO_AUTH_KEY
|
||||||
);const { admin } = require("../firebase/firebase-handler");
|
);
|
||||||
|
const { admin } = require("../firebase/firebase-handler");
|
||||||
|
|
||||||
const gqlClient = require("../graphql-client/graphql-client").client;
|
const gqlClient = require("../graphql-client/graphql-client").client;
|
||||||
|
|
||||||
exports.send = (req, res) => {
|
exports.send = (req, res) => {
|
||||||
const { to, messagingServiceSid, body, conversationid, selectedMedia, imexshopid } =
|
const {
|
||||||
req.body;
|
to,
|
||||||
|
messagingServiceSid,
|
||||||
|
body,
|
||||||
|
conversationid,
|
||||||
|
selectedMedia,
|
||||||
|
imexshopid,
|
||||||
|
} = req.body;
|
||||||
|
|
||||||
logger.log("sms-outbound", "DEBUG", req.user.email, null, {
|
logger.log("sms-outbound", "DEBUG", req.user.email, null, {
|
||||||
messagingServiceSid: messagingServiceSid,
|
messagingServiceSid: messagingServiceSid,
|
||||||
@@ -34,7 +41,12 @@ exports.send = (req, res) => {
|
|||||||
req.body.selectedMedia.length > 0 ? selectedMedia.map((i) => i.src) : [],
|
req.body.selectedMedia.length > 0 ? selectedMedia.map((i) => i.src) : [],
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!!to && !!messagingServiceSid && !!body && !!conversationid) {
|
if (
|
||||||
|
!!to &&
|
||||||
|
!!messagingServiceSid &&
|
||||||
|
(!!body || !!selectedMedia.length > 0) &&
|
||||||
|
!!conversationid
|
||||||
|
) {
|
||||||
client.messages
|
client.messages
|
||||||
.create({
|
.create({
|
||||||
body: body,
|
body: body,
|
||||||
@@ -67,10 +79,9 @@ exports.send = (req, res) => {
|
|||||||
const data = {
|
const data = {
|
||||||
type: "messaging-outbound",
|
type: "messaging-outbound",
|
||||||
conversationid: newMessage.conversationid || "",
|
conversationid: newMessage.conversationid || "",
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
admin.messaging().send({
|
admin.messaging().send({
|
||||||
topic: `${imexshopid}-messaging`,
|
topic: `${imexshopid}-messaging`,
|
||||||
data,
|
data,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user