diff --git a/client/src/components/dms-log-events/dms-log-events.component.jsx b/client/src/components/dms-log-events/dms-log-events.component.jsx
index 9391d8edb..b73e5dbe7 100644
--- a/client/src/components/dms-log-events/dms-log-events.component.jsx
+++ b/client/src/components/dms-log-events/dms-log-events.component.jsx
@@ -44,7 +44,7 @@ function LogLevelHierarchy(level) {
return "orange";
case "INFO":
return "blue";
- case "WARNING":
+ case "WARN":
return "yellow";
case "ERROR":
return "red";
diff --git a/client/src/components/time-ticket-modal/time-ticket-modal.container.jsx b/client/src/components/time-ticket-modal/time-ticket-modal.container.jsx
index 5f4bd4385..b4ef464f2 100644
--- a/client/src/components/time-ticket-modal/time-ticket-modal.container.jsx
+++ b/client/src/components/time-ticket-modal/time-ticket-modal.container.jsx
@@ -1,7 +1,7 @@
-import { useMutation, useQuery } from "@apollo/client";
-import { Button, Form, Modal, notification, Space } from "antd";
import { PageHeader } from "@ant-design/pro-layout";
-import dayjs from "../../utils/day";
+import { useMutation, useQuery } from "@apollo/client";
+import { useSplitTreatments } from "@splitsoftware/splitio-react";
+import { Button, Form, Modal, notification, Space } from "antd";
import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
@@ -11,9 +11,9 @@ import { INSERT_NEW_TIME_TICKET, UPDATE_TIME_TICKET } from "../../graphql/timeti
import { toggleModalVisible } from "../../redux/modals/modals.actions";
import { selectTimeTicket } from "../../redux/modals/modals.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors";
-import TimeTicketModalComponent from "./time-ticket-modal.component";
+import dayjs from "../../utils/day";
import TimeTicketsCommitToggleComponent from "../time-tickets-commit-toggle/time-tickets-commit-toggle.component";
-import { useSplitTreatments } from "@splitsoftware/splitio-react";
+import TimeTicketModalComponent from "./time-ticket-modal.component";
const mapStateToProps = createStructuredSelector({
timeTicketModal: selectTimeTicket,
@@ -87,7 +87,7 @@ export function TimeTicketModalContainer({ timeTicketModal, toggleModalVisible,
if (enterAgain) {
//Capture the existing information and repopulate it.
- const prev = form.getFieldsValue(["date", "employeeid"]);
+ const prev = form.getFieldsValue(["date", "employeeid", "flat_rate"]);
form.resetFields();
diff --git a/client/src/pages/dms-payables/dms-payables.container.jsx b/client/src/pages/dms-payables/dms-payables.container.jsx
index 47659cd9b..4fa92b9fb 100644
--- a/client/src/pages/dms-payables/dms-payables.container.jsx
+++ b/client/src/pages/dms-payables/dms-payables.container.jsx
@@ -71,7 +71,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
...logs,
{
timestamp: new Date(),
- level: "WARNING",
+ level: "WARN",
message: "Reconnected to CDK Export Service"
}
];
@@ -125,7 +125,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
>
DEBUG
INFO
- WARNING
+ WARN
ERROR
diff --git a/client/src/pages/dms/dms.container.jsx b/client/src/pages/dms/dms.container.jsx
index 3f7569cbd..3a8ac77b0 100644
--- a/client/src/pages/dms/dms.container.jsx
+++ b/client/src/pages/dms/dms.container.jsx
@@ -90,7 +90,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
...logs,
{
timestamp: new Date(),
- level: "WARNING",
+ level: "warn",
message: "Reconnected to CDK Export Service"
}
];
@@ -175,7 +175,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
>
DEBUG
INFO
- WARNING
+ WARN
ERROR
diff --git a/server/accounting/pbs/pbs-job-export.js b/server/accounting/pbs/pbs-job-export.js
index c2f6b96b7..c38560293 100644
--- a/server/accounting/pbs/pbs-job-export.js
+++ b/server/accounting/pbs/pbs-job-export.js
@@ -611,7 +611,7 @@ async function InsertFailedExportLog(socket, error) {
bodyshopid: socket.JobData.bodyshop.id,
jobid: socket.JobData.id,
successful: false,
- message: [error],
+ message: JSON.stringify(error),
useremail: socket.user.email
}
});
diff --git a/server/cdk/cdk-job-export.js b/server/cdk/cdk-job-export.js
index 7fedbc608..90001fa28 100644
--- a/server/cdk/cdk-job-export.js
+++ b/server/cdk/cdk-job-export.js
@@ -995,7 +995,7 @@ async function InsertFailedExportLog(socket, error) {
bodyshopid: socket.JobData.bodyshop.id,
jobid: socket.JobData.id,
successful: false,
- message: [error],
+ message: JSON.stringify(error),
useremail: socket.user.email
}
});
diff --git a/server/cdk/cdk-wsdl.js b/server/cdk/cdk-wsdl.js
index 032d780c2..8926e98ae 100644
--- a/server/cdk/cdk-wsdl.js
+++ b/server/cdk/cdk-wsdl.js
@@ -20,7 +20,7 @@ function CheckCdkResponseForError(socket, soapResponse) {
//The response was null, this might be ok, it might not.
CdkBase.createLogEvent(
socket,
- "WARNING",
+ "warn",
`Warning detected in CDK Response - it appears to be null. Stack: ${new Error().stack}`
);
return;
diff --git a/server/utils/logger.js b/server/utils/logger.js
index 26dd72150..bfb0c0cda 100644
--- a/server/utils/logger.js
+++ b/server/utils/logger.js
@@ -10,6 +10,18 @@ const WinstonCloudWatch = require("winston-cloudwatch");
const { isString, isEmpty } = require("lodash");
const { networkInterfaces, hostname } = require("node:os");
+const LOG_LEVELS = {
+ error: { level: 0, name: "error" },
+ warn: { level: 1, name: "warn" },
+ info: { level: 2, name: "info" },
+ http: { level: 3, name: "http" },
+ verbose: { level: 4, name: "verbose" },
+ debug: { level: 5, name: "debug" },
+ silly: { level: 6, name: "silly" }
+};
+
+const normalizeLevel = (level) => (level ? level.toLowerCase() : LOG_LEVELS.debug.name);
+
const createLogger = () => {
try {
const isLocal = isString(process.env?.LOCALSTACK_HOSTNAME) && !isEmpty(process.env?.LOCALSTACK_HOSTNAME);
@@ -114,7 +126,7 @@ const createLogger = () => {
const log = (message, type, user, record, meta) => {
winstonLogger.log({
- level: type.toLowerCase(),
+ level: normalizeLevel(type),
message,
user,
record,
@@ -131,7 +143,8 @@ const createLogger = () => {
console.error("Error setting up enhanced Logger, defaulting to console.: " + e?.message || "");
return {
log: console.log,
- logger: console.log
+ logger: console.log,
+ LOG_LEVELS
};
}
};
diff --git a/server/web-sockets/web-socket.js b/server/web-sockets/web-socket.js
index a56f6cff6..c5e5012c8 100644
--- a/server/web-sockets/web-socket.js
+++ b/server/web-sockets/web-socket.js
@@ -212,7 +212,7 @@ function LogLevelHierarchy(level) {
return 4;
case "INFO":
return 3;
- case "WARNING":
+ case "WARN":
return 2;
case "ERROR":
return 1;