Compare commits

...

17 Commits

Author SHA1 Message Date
Allan Carr
e6dade1206 IO-2988 Jobline Upsert Undefined handling
Signed-off-by: Allan Carr <allan.carr@thinkimex.com>
2024-10-17 17:03:40 -07:00
Dave Richer
85e82b85ea Merged in release/2024-10-11 (pull request #1815)
release/2024-10-11: Remove Task Emails Cleanup
2024-10-16 17:19:52 +00:00
Dave Richer
23467280b4 release/2024-10-11: Remove Task Emails Cleanup
Signed-off-by: Dave Richer <dave@imexsystems.ca>
2024-10-16 13:18:48 -04:00
Dave Richer
aedad1c48f Merged in release/2024-10-11 (pull request #1814)
release/2024-10-11: Hotfix
2024-10-12 16:28:40 +00:00
Dave Richer
05cc4dd188 release/2024-10-11: Hotfix
Signed-off-by: Dave Richer <dave@imexsystems.ca>
2024-10-12 12:26:30 -04:00
Dave Richer
ea6351ea06 Merged in release/2024-10-11 (pull request #1813)
release/2024-10-11: Hotfix
2024-10-12 16:06:06 +00:00
Dave Richer
87d3ceb408 release/2024-10-11: Hotfix
Signed-off-by: Dave Richer <dave@imexsystems.ca>
2024-10-12 12:05:13 -04:00
Dave Richer
d08dd2b506 Merged in release/2024-10-11 (pull request #1812)
release/2024-10-11: Final touchups
2024-10-12 03:59:37 +00:00
Dave Richer
8a047d14a1 release/2024-10-11: Final touchups
Signed-off-by: Dave Richer <dave@imexsystems.ca>
2024-10-11 23:51:39 -04:00
Dave Richer
e103772aa4 Merged in release/2024-10-11 (pull request #1811)
Release/2024-10-11 into master-AIO - IO-2791, IO-2962, IO-2971, IO-2972, IO-2979
2024-10-12 03:09:09 +00:00
Dave Richer
c332699dc8 Merge branch 'release/2024-10-11' of bitbucket.org:snaptsoft/bodyshop into release/2024-10-11 2024-10-11 23:02:17 -04:00
Dave Richer
25e6e61d10 release/2024-10-11: Final touchups
Signed-off-by: Dave Richer <dave@imexsystems.ca>
2024-10-11 22:59:44 -04:00
Patrick Fic
cdcd6b636a Merged in feature/IO-2971-export-mutation-refactor (pull request #1809)
IO-2791 Stop gap change to limit exports to 10 records at a time.

Approved-by: Dave Richer
2024-10-11 20:07:59 +00:00
Patrick Fic
7879591bcf IO-2971 add null coalescing 2024-10-11 16:05:30 -04:00
Patrick Fic
7fc6556866 IO-2791 Stop gap change to limit exports to 10 records at a time. 2024-10-11 16:03:40 -04:00
Dave Richer
3f5489ce7e Merged in feature/IO-2979-DST-Handling (pull request #1808)
feature/IO-2979-DST-Handling - Checkpoint
2024-10-11 17:18:33 +00:00
Dave Richer
8347a8c098 Merged in feature/IO-2979-DST-Handling (pull request #1806)
feature/IO-2979-DST-Handling - Add LocalStack and Adjust local Emailing
2024-10-09 17:03:19 +00:00
9 changed files with 51 additions and 43 deletions

View File

@@ -7,7 +7,7 @@ _reference
client
redis/dockerdata
hasura
node_modules
# Files to exclude
.ebignore
.editorconfig

View File

@@ -29,13 +29,13 @@ WORKDIR /app
RUN git config --global --add safe.directory /app
# Copy package.json and package-lock.json
COPY package*.json ./
COPY package.json ./
# Install Nodemon
RUN npm install -g nodemon
# Install dependencies
RUN npm ci
RUN npm i --no-package-lock
# Copy the rest of your application code
COPY . .

View File

@@ -1,5 +1,8 @@
import { useMutation } from "@apollo/client";
import { useSplitTreatments } from "@splitsoftware/splitio-react";
import { notification } from "antd";
import Axios from "axios";
import Dinero from "dinero.js";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
@@ -7,13 +10,10 @@ import { createStructuredSelector } from "reselect";
import { INSERT_NEW_JOB_LINE, UPDATE_JOB_LINE } from "../../graphql/jobs-lines.queries";
import { toggleModalVisible } from "../../redux/modals/modals.actions";
import { selectJobLineEditModal } from "../../redux/modals/modals.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors";
import CriticalPartsScan from "../../utils/criticalPartsScan";
import UndefinedToNull from "../../utils/undefinedtonull";
import JobLinesUpdsertModal from "./job-lines-upsert-modal.component";
import Axios from "axios";
import Dinero from "dinero.js";
import CriticalPartsScan from "../../utils/criticalPartsScan";
import { selectBodyshop } from "../../redux/user/user.selectors";
import { useSplitTreatments } from "@splitsoftware/splitio-react";
const mapStateToProps = createStructuredSelector({
jobLineEditModal: selectJobLineEditModal,
@@ -82,13 +82,15 @@ function JobLinesUpsertModalContainer({ jobLineEditModal, toggleModalVisible, bo
variables: {
lineId: jobLineEditModal.context.id,
line: {
...values,
prt_dsmk_m: Dinero({
amount: Math.round(values.act_price * 100)
...UndefinedToNull({
...values,
prt_dsmk_m: Dinero({
amount: Math.round(values.act_price * 100)
})
.percentage(Math.abs(values.prt_dsmk_p || 0))
.multiply(values.prt_dsmk_p >= 0 ? 1 : -1)
.toFormat(0.0)
})
.percentage(Math.abs(values.prt_dsmk_p || 0))
.multiply(values.prt_dsmk_p >= 0 ? 1 : -1)
.toFormat(0.0)
}
},
refetchQueries: ["GET_LINE_TICKET_BY_PK"]

View File

@@ -219,7 +219,7 @@ export function JobsExportAllButton({
};
return (
<Button onClick={handleQbxml} loading={loading} disabled={disabled}>
<Button onClick={handleQbxml} loading={loading} disabled={disabled || jobIds?.length > 10}>
{t("jobs.actions.exportselected")}
</Button>
);

View File

@@ -200,7 +200,7 @@ export function PayableExportAll({
);
return (
<Button onClick={handleQbxml} loading={loading} disabled={disabled}>
<Button onClick={handleQbxml} loading={loading} disabled={disabled || billids?.length > 10}>
{t("jobs.actions.exportselected")}
</Button>
);

View File

@@ -180,7 +180,7 @@ export function PaymentsExportAllButton({
};
return (
<Button onClick={handleQbxml} loading={loading} disabled={disabled}>
<Button onClick={handleQbxml} loading={loading} disabled={disabled || paymentIds?.length > 10}>
{t("jobs.actions.exportselected")}
</Button>
);

View File

@@ -14,7 +14,7 @@ services:
context: ./redis
container_name: redis-node-1
hostname: redis-node-1
restart: always
restart: unless-stopped
networks:
- redis-cluster-net
volumes:
@@ -32,7 +32,7 @@ services:
context: ./redis
container_name: redis-node-2
hostname: redis-node-2
restart: always
restart: unless-stopped
networks:
- redis-cluster-net
volumes:
@@ -50,7 +50,7 @@ services:
context: ./redis
container_name: redis-node-3
hostname: redis-node-3
restart: always
restart: unless-stopped
networks:
- redis-cluster-net
volumes:
@@ -70,7 +70,7 @@ services:
hostname: localstack
networks:
- redis-cluster-net
restart: always
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
@@ -152,7 +152,7 @@ services:
# image: redislabs/redisinsight:latest
# container_name: redis-insight
# hostname: redis-insight
# restart: always
# restart: unless-stopped
# ports:
# - "3334:5540"
# networks:

View File

@@ -25,26 +25,32 @@ const tasksEmailQueueCleanup = async () => {
}
};
if (process.env.NODE_ENV !== "development") {
// Handling SIGINT (e.g., Ctrl+C)
process.on("SIGINT", async () => {
await tasksEmailQueueCleanup();
});
// Handling SIGTERM (e.g., sent by system shutdown)
process.on("SIGTERM", async () => {
await tasksEmailQueueCleanup();
});
// Handling uncaught exceptions
process.on("uncaughtException", async (err) => {
await tasksEmailQueueCleanup();
throw err;
});
// Handling unhandled promise rejections
process.on("unhandledRejection", async (reason, promise) => {
await tasksEmailQueueCleanup();
throw reason;
});
}
// if (process.env.NODE_ENV !== "development") {
// // Handling SIGINT (e.g., Ctrl+C)
// process.on("SIGINT", async () => {
// console.log("Handling SIGNIT For Tasks Cleanup");
// await tasksEmailQueueCleanup();
// process.exit(0);
// });
// // Handling SIGTERM (e.g., sent by system shutdown)
// process.on("SIGTERM", async () => {
// console.log("Handling SIGTERM For Tasks Cleanup");
// await tasksEmailQueueCleanup();
// process.exit(0);
// });
// // Handling uncaught exceptions
// process.on("uncaughtException", async (err) => {
// console.log("Handling uncaughtException For Tasks Cleanup");
// await tasksEmailQueueCleanup();
// process.exit(1);
// });
// // Handling unhandled promise rejections
// process.on("unhandledRejection", async (reason, promise) => {
// console.log("Handling unhandledRejection For Tasks Cleanup");
// await tasksEmailQueueCleanup();
// process.exit(1);
// });
// }
/**
* Format the date for the email.

View File

@@ -13,7 +13,7 @@ const taskEmailQueue = () =>
console.log("Processing reminds for taskIds: ", taskIds.join(", "));
// Set the remind_at_sent to the current time.
const now = moment.utc().toISOString();
const now = moment().toISOString();
client
.request(UPDATE_TASKS_REMIND_AT_SENT, { taskIds, now })