Compare commits
8 Commits
feature/IO
...
feature/IO
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6071709be | ||
|
|
c95c11fd0e | ||
|
|
1351fbb814 | ||
|
|
dcd3a078ef | ||
|
|
bf11e10676 | ||
|
|
7ec8a73c30 | ||
|
|
b9b3e2c2aa | ||
|
|
7e5363f911 |
@@ -25,6 +25,7 @@ const Eula = ({ currentEula, currentUser, acceptEula }) => {
|
|||||||
|
|
||||||
const handleScroll = useCallback(
|
const handleScroll = useCallback(
|
||||||
(e) => {
|
(e) => {
|
||||||
|
if (!e.target) return;
|
||||||
const bottom = e.target.scrollHeight - 100 <= e.target.scrollTop + e.target.clientHeight;
|
const bottom = e.target.scrollHeight - 100 <= e.target.scrollTop + e.target.clientHeight;
|
||||||
if (bottom && !hasEverScrolledToBottom) {
|
if (bottom && !hasEverScrolledToBottom) {
|
||||||
setHasEverScrolledToBottom(true);
|
setHasEverScrolledToBottom(true);
|
||||||
@@ -36,7 +37,9 @@ const Eula = ({ currentEula, currentUser, acceptEula }) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
handleScroll({ target: markdownCardRef.current });
|
if (markdownCardRef.current) {
|
||||||
|
handleScroll({ target: markdownCardRef.current });
|
||||||
|
}
|
||||||
}, [handleScroll]);
|
}, [handleScroll]);
|
||||||
|
|
||||||
const handleChange = useCallback(() => {
|
const handleChange = useCallback(() => {
|
||||||
|
|||||||
@@ -142,13 +142,13 @@ export function ExportLogsPageComponent() {
|
|||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
{message.map((m, idx) => (
|
{message.map((m, idx) => (
|
||||||
<li key={idx}>{m}</li>
|
<li key={idx}>{typeof m === "object" ? JSON.stringify(m) : m}</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return <div>{record.message}</div>;
|
return <div>{typeof message === "object" ? JSON.stringify(message) : message}</div>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,14 @@ import JobsCreateOwnerInfoContainer from "../../components/jobs-create-owner-inf
|
|||||||
import JobsCreateVehicleInfoContainer from "../../components/jobs-create-vehicle-info/jobs-create-vehicle-info.container";
|
import JobsCreateVehicleInfoContainer from "../../components/jobs-create-vehicle-info/jobs-create-vehicle-info.container";
|
||||||
import JobCreateContext from "../../pages/jobs-create/jobs-create.context";
|
import JobCreateContext from "../../pages/jobs-create/jobs-create.context";
|
||||||
|
|
||||||
export default function JobsCreateComponent({ form, isSubmitting }) {
|
export default function JobsCreateComponent({ form }) {
|
||||||
const [pageIndex, setPageIndex] = useState(0);
|
const [pageIndex, setPageIndex] = useState(0);
|
||||||
const [errorMessage, setErrorMessage] = useState(null);
|
|
||||||
const [state] = useContext(JobCreateContext);
|
|
||||||
const { t } = useTranslation();
|
|
||||||
|
|
||||||
|
const [errorMessage, setErrorMessage] = useState(null);
|
||||||
|
|
||||||
|
const [state] = useContext(JobCreateContext);
|
||||||
|
|
||||||
|
const { t } = useTranslation();
|
||||||
const steps = [
|
const steps = [
|
||||||
{
|
{
|
||||||
title: t("jobs.labels.create.vehicleinfo"),
|
title: t("jobs.labels.create.vehicleinfo"),
|
||||||
@@ -40,9 +42,11 @@ export default function JobsCreateComponent({ form, isSubmitting }) {
|
|||||||
|
|
||||||
const next = () => {
|
const next = () => {
|
||||||
setPageIndex(pageIndex + 1);
|
setPageIndex(pageIndex + 1);
|
||||||
|
console.log("Next");
|
||||||
};
|
};
|
||||||
const prev = () => {
|
const prev = () => {
|
||||||
setPageIndex(pageIndex - 1);
|
setPageIndex(pageIndex - 1);
|
||||||
|
console.log("Previous");
|
||||||
};
|
};
|
||||||
|
|
||||||
const ProgressButtons = ({ top }) => {
|
const ProgressButtons = ({ top }) => {
|
||||||
@@ -75,19 +79,17 @@ export default function JobsCreateComponent({ form, isSubmitting }) {
|
|||||||
{pageIndex === steps.length - 1 && (
|
{pageIndex === steps.length - 1 && (
|
||||||
<Button
|
<Button
|
||||||
type="primary"
|
type="primary"
|
||||||
loading={isSubmitting}
|
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
form
|
form
|
||||||
.validateFields()
|
.validateFields()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
form.submit();
|
// NO OP
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => console.log("error", error));
|
||||||
console.log("error", error);
|
form.submit();
|
||||||
});
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{t("general.actions.done")}
|
Done
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
</Space>
|
</Space>
|
||||||
@@ -144,11 +146,13 @@ export default function JobsCreateComponent({ form, isSubmitting }) {
|
|||||||
) : (
|
) : (
|
||||||
<div>
|
<div>
|
||||||
<ProgressButtons top />
|
<ProgressButtons top />
|
||||||
|
|
||||||
{errorMessage ? (
|
{errorMessage ? (
|
||||||
<div>
|
<div>
|
||||||
<AlertComponent title={errorMessage} type="error" />
|
<AlertComponent title={errorMessage} type="error" />
|
||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
{steps.map((item, idx) => (
|
{steps.map((item, idx) => (
|
||||||
<div
|
<div
|
||||||
key={idx}
|
key={idx}
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, curr
|
|||||||
});
|
});
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const [state, setState] = contextState;
|
const [state, setState] = contextState;
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
||||||
const [insertJob] = useMutation(INSERT_NEW_JOB);
|
const [insertJob] = useMutation(INSERT_NEW_JOB);
|
||||||
const [loadOwner, remoteOwnerData] = useLazyQuery(QUERY_OWNER_FOR_JOB_CREATION);
|
const [loadOwner, remoteOwnerData] = useLazyQuery(QUERY_OWNER_FOR_JOB_CREATION);
|
||||||
|
|
||||||
@@ -84,19 +83,16 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, curr
|
|||||||
newJobId: resp.data.insert_jobs.returning[0].id
|
newJobId: resp.data.insert_jobs.returning[0].id
|
||||||
});
|
});
|
||||||
logImEXEvent("manual_job_create_completed", {});
|
logImEXEvent("manual_job_create_completed", {});
|
||||||
setIsSubmitting(false);
|
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
notification.error({
|
notification.error({
|
||||||
title: t("jobs.errors.creating", { error: error })
|
title: t("jobs.errors.creating", { error: error })
|
||||||
});
|
});
|
||||||
setState({ ...state, error: error });
|
setState({ ...state, error: error });
|
||||||
setIsSubmitting(false);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleFinish = (values) => {
|
const handleFinish = (values) => {
|
||||||
setIsSubmitting(true);
|
|
||||||
let job = Object.assign(
|
let job = Object.assign(
|
||||||
{},
|
{},
|
||||||
values,
|
values,
|
||||||
@@ -301,7 +297,7 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, curr
|
|||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<JobsCreateComponent form={form} isSubmitting={isSubmitting} />
|
<JobsCreateComponent form={form} />
|
||||||
</Form>
|
</Form>
|
||||||
</RbacWrapper>
|
</RbacWrapper>
|
||||||
</JobCreateContext.Provider>
|
</JobCreateContext.Provider>
|
||||||
|
|||||||
@@ -1295,7 +1295,6 @@
|
|||||||
"delete": "Delete",
|
"delete": "Delete",
|
||||||
"deleteall": "Delete All",
|
"deleteall": "Delete All",
|
||||||
"deselectall": "Deselect All",
|
"deselectall": "Deselect All",
|
||||||
"done": "Done",
|
|
||||||
"download": "Download",
|
"download": "Download",
|
||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"gotoadmin": "Go to Admin Panel",
|
"gotoadmin": "Go to Admin Panel",
|
||||||
|
|||||||
@@ -1295,7 +1295,6 @@
|
|||||||
"delete": "Borrar",
|
"delete": "Borrar",
|
||||||
"deleteall": "",
|
"deleteall": "",
|
||||||
"deselectall": "",
|
"deselectall": "",
|
||||||
"done": "",
|
|
||||||
"download": "",
|
"download": "",
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"gotoadmin": "",
|
"gotoadmin": "",
|
||||||
|
|||||||
@@ -1295,7 +1295,6 @@
|
|||||||
"delete": "Effacer",
|
"delete": "Effacer",
|
||||||
"deleteall": "",
|
"deleteall": "",
|
||||||
"deselectall": "",
|
"deselectall": "",
|
||||||
"done": "",
|
|
||||||
"download": "",
|
"download": "",
|
||||||
"edit": "modifier",
|
"edit": "modifier",
|
||||||
"gotoadmin": "",
|
"gotoadmin": "",
|
||||||
|
|||||||
@@ -66,7 +66,12 @@ exports.default = async function ReloadCdkMakes(req, res) {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.log("cdk-replace-makes-models-error", "ERROR", req.user.email, null, {
|
logger.log("cdk-replace-makes-models-error", "ERROR", req.user.email, null, {
|
||||||
cdk_dealerid,
|
cdk_dealerid,
|
||||||
error
|
error: {
|
||||||
|
message: error?.message,
|
||||||
|
stack: error?.stack,
|
||||||
|
name: error?.name,
|
||||||
|
code: error?.code
|
||||||
|
}
|
||||||
});
|
});
|
||||||
res.status(500).json(error);
|
res.status(500).json(error);
|
||||||
}
|
}
|
||||||
@@ -105,7 +110,12 @@ async function GetCdkMakes(req, cdk_dealerid) {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.log("cdk-replace-makes-models-error", "ERROR", req.user.email, null, {
|
logger.log("cdk-replace-makes-models-error", "ERROR", req.user.email, null, {
|
||||||
cdk_dealerid,
|
cdk_dealerid,
|
||||||
error
|
error: {
|
||||||
|
message: error?.message,
|
||||||
|
stack: error?.stack,
|
||||||
|
name: error?.name,
|
||||||
|
code: error?.code
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
throw new Error(error);
|
throw new Error(error);
|
||||||
@@ -141,7 +151,12 @@ async function GetFortellisMakes(req, cdk_dealerid) {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.log("fortellis-replace-makes-models-error", "ERROR", req.user.email, null, {
|
logger.log("fortellis-replace-makes-models-error", "ERROR", req.user.email, null, {
|
||||||
cdk_dealerid,
|
cdk_dealerid,
|
||||||
error
|
error: {
|
||||||
|
message: error?.message,
|
||||||
|
stack: error?.stack,
|
||||||
|
name: error?.name,
|
||||||
|
code: error?.code
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
throw new Error(error);
|
throw new Error(error);
|
||||||
|
|||||||
@@ -959,7 +959,7 @@ async function UpdateDmsVehicle({ socket, redisHelpers, JobData, DMSVeh, DMSCust
|
|||||||
delete DMSVehToSend.inventoryAccount;
|
delete DMSVehToSend.inventoryAccount;
|
||||||
|
|
||||||
!DMSVehToSend.vehicle.engineNumber && delete DMSVehToSend.vehicle.engineNumber;
|
!DMSVehToSend.vehicle.engineNumber && delete DMSVehToSend.vehicle.engineNumber;
|
||||||
!DMSVehToSend.vehicle.saleClassValue && DMSVehToSend.vehicle.saleClassValue === "MISC";
|
!DMSVehToSend.vehicle.saleClassValue && (DMSVehToSend.vehicle.saleClassValue = "MISC");
|
||||||
!DMSVehToSend.vehicle.exteriorColor && delete DMSVehToSend.vehicle.exteriorColor;
|
!DMSVehToSend.vehicle.exteriorColor && delete DMSVehToSend.vehicle.exteriorColor;
|
||||||
|
|
||||||
const result = await MakeFortellisCall({
|
const result = await MakeFortellisCall({
|
||||||
|
|||||||
Reference in New Issue
Block a user