Fixed manual job creation validation errors BOD-252
This commit is contained in:
@@ -6,7 +6,7 @@ import FormItemEmail from "../form-items-formatted/email-form-item.component";
|
|||||||
import FormItemPhone from "../form-items-formatted/phone-form-item.component";
|
import FormItemPhone from "../form-items-formatted/phone-form-item.component";
|
||||||
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
||||||
|
|
||||||
export default function JobsCreateJobsInfo({ form }) {
|
export default function JobsCreateJobsInfo({ form, selected }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { getFieldValue } = form;
|
const { getFieldValue } = form;
|
||||||
return (
|
return (
|
||||||
@@ -74,7 +74,7 @@ export default function JobsCreateJobsInfo({ form }) {
|
|||||||
name="est_ct_fn"
|
name="est_ct_fn"
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
required: true,
|
required: selected && true,
|
||||||
message: t("general.validation.required"),
|
message: t("general.validation.required"),
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
@@ -86,7 +86,7 @@ export default function JobsCreateJobsInfo({ form }) {
|
|||||||
name="est_ct_ln"
|
name="est_ct_ln"
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
required: true,
|
required: selected && true,
|
||||||
message: t("general.validation.required"),
|
message: t("general.validation.required"),
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ export default function JobsCreateOwnerContainer() {
|
|||||||
skip: !state.owner.search,
|
skip: !state.owner.search,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (error) return <AlertComponent message={error.message} type='error' />;
|
if (error) return <AlertComponent message={error.message} type="error" />;
|
||||||
return (
|
return (
|
||||||
<JobsCreateOwnerInfoComponent
|
<JobsCreateOwnerInfoComponent
|
||||||
loading={loading}
|
loading={loading}
|
||||||
owners={data ? data.search_owner : null}
|
owners={data ? data.search_owners : null}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,16 +125,11 @@ export default function JobsCreateOwnerInfoNewComponent() {
|
|||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
name={["owner", "data", "ownr_ea"]}
|
name={["owner", "data", "ownr_ea"]}
|
||||||
shouldUpdate
|
|
||||||
>
|
>
|
||||||
{() => {
|
<FormItemEmail
|
||||||
return (
|
//email={form.getFieldValue("ownr_ea")}
|
||||||
<FormItemEmail
|
disabled={!state.owner.new}
|
||||||
//email={form.getFieldValue("ownr_ea")}
|
/>
|
||||||
disabled={!state.owner.new}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
}}
|
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("owners.fields.ownr_ph1")}
|
label={t("owners.fields.ownr_ph1")}
|
||||||
|
|||||||
@@ -20,27 +20,28 @@ export default function OwnerFindModalContainer({
|
|||||||
|
|
||||||
const ownersList = useQuery(QUERY_SEARCH_OWNER_BY_IDX, {
|
const ownersList = useQuery(QUERY_SEARCH_OWNER_BY_IDX, {
|
||||||
variables: {
|
variables: {
|
||||||
search: owner ? `${owner.ownr_fn || ""} ${owner.ownr_ln || ""}` : null
|
search: owner ? `${owner.ownr_fn || ""} ${owner.ownr_ln || ""}` : null,
|
||||||
},
|
},
|
||||||
skip: !owner,
|
skip: !owner,
|
||||||
fetchPolicy: "network-only"
|
fetchPolicy: "network-only",
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
title={t("owners.labels.existing_owners")}
|
title={t("owners.labels.existing_owners")}
|
||||||
width={"80%"}
|
width={"80%"}
|
||||||
{...modalProps}>
|
{...modalProps}
|
||||||
|
>
|
||||||
{loading ? <LoadingSpinner /> : null}
|
{loading ? <LoadingSpinner /> : null}
|
||||||
{error ? <AlertComponent message={error.message} type='error' /> : null}
|
{error ? <AlertComponent message={error.message} type="error" /> : null}
|
||||||
{owner ? (
|
{owner ? (
|
||||||
<OwnerFindModalComponent
|
<OwnerFindModalComponent
|
||||||
selectedOwner={selectedOwner}
|
selectedOwner={selectedOwner}
|
||||||
setSelectedOwner={setSelectedOwner}
|
setSelectedOwner={setSelectedOwner}
|
||||||
ownersListLoading={ownersList.loading}
|
ownersListLoading={ownersList.loading}
|
||||||
ownersList={
|
ownersList={
|
||||||
ownersList.data && ownersList.data.search_owner
|
ownersList.data && ownersList.data.search_owners
|
||||||
? ownersList.data.search_owner
|
? ownersList.data.search_owners
|
||||||
: null
|
: null
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import PropTypes from "prop-types";
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
@@ -46,12 +45,12 @@ function RbacWrapper({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
RbacWrapper.propTypes = {
|
// RbacWrapper.propTypes = {
|
||||||
currentUser: PropTypes.object.isRequired,
|
// currentUser: PropTypes.object.isRequired,
|
||||||
authLevel: PropTypes.number.isRequired,
|
// authLevel: PropTypes.number.isRequired,
|
||||||
noauth: PropTypes.oneOfType(PropTypes.string, PropTypes.func),
|
// noauth: PropTypes.oneOfType(PropTypes.string, PropTypes.func),
|
||||||
requiredAuthLevel: PropTypes.number,
|
// requiredAuthLevel: PropTypes.number,
|
||||||
action: PropTypes.string,
|
// action: PropTypes.string,
|
||||||
};
|
// };
|
||||||
|
|
||||||
export default connect(mapStateToProps, null)(RbacWrapper);
|
export default connect(mapStateToProps, null)(RbacWrapper);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import gql from "graphql-tag";
|
|||||||
|
|
||||||
export const QUERY_SEARCH_OWNER_BY_IDX = gql`
|
export const QUERY_SEARCH_OWNER_BY_IDX = gql`
|
||||||
query QUERY_SEARCH_OWNER_BY_IDX($search: String!) {
|
query QUERY_SEARCH_OWNER_BY_IDX($search: String!) {
|
||||||
search_owner(args: { search: $search }) {
|
search_owners(args: { search: $search }) {
|
||||||
ownr_fn
|
ownr_fn
|
||||||
ownr_ln
|
ownr_ln
|
||||||
ownr_ph1
|
ownr_ph1
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: t("jobs.labels.create.jobinfo"),
|
title: t("jobs.labels.create.jobinfo"),
|
||||||
content: <JobsCreateJobsInfo form={form} />,
|
content: <JobsCreateJobsInfo form={form} selected={pageIndex === 2} />,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
{pageIndex > 0 && <Button onClick={() => prev()}>Previous</Button>}
|
{pageIndex > 0 && <Button onClick={() => prev()}>Previous</Button>}
|
||||||
{pageIndex < steps.length - 1 && (
|
{pageIndex < steps.length - 1 && (
|
||||||
<Button
|
<Button
|
||||||
type='primary'
|
type="primary"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
form
|
form
|
||||||
.validateFields()
|
.validateFields()
|
||||||
@@ -60,12 +60,13 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => console.log("error", error));
|
.catch((error) => console.log("error", error));
|
||||||
}}>
|
}}
|
||||||
|
>
|
||||||
Next
|
Next
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
{pageIndex === steps.length - 1 && (
|
{pageIndex === steps.length - 1 && (
|
||||||
<Button type='primary' htmlType='submit'>
|
<Button type="primary" htmlType="submit">
|
||||||
Done
|
Done
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
@@ -78,16 +79,16 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
{state.created ? (
|
{state.created ? (
|
||||||
<div>
|
<div>
|
||||||
<Result
|
<Result
|
||||||
status='success'
|
status="success"
|
||||||
title={t("jobs.successes.creatednoclick")}
|
title={t("jobs.successes.creatednoclick")}
|
||||||
subTitle={t("jobs.successes.created_subtitle", {
|
subTitle={t("jobs.successes.created_subtitle", {
|
||||||
est_number: state.newJobEstNum,
|
est_number: state.newJobEstNum,
|
||||||
})}
|
})}
|
||||||
extra={[
|
extra={[
|
||||||
<Link to={`/manage/jobs/${state.newJobId}`} key='gotojob'>
|
<Link to={`/manage/jobs/${state.newJobId}`} key="gotojob">
|
||||||
<Button type='primary'>{t("jobs.actions.gotojob")}</Button>
|
<Button type="primary">{t("jobs.actions.gotojob")}</Button>
|
||||||
</Link>,
|
</Link>,
|
||||||
<Link to={`/manage/jobs/`} key='gotojoblist'>
|
<Link to={`/manage/jobs/`} key="gotojoblist">
|
||||||
<Button>{t("menus.header.activejobs")}</Button>
|
<Button>{t("menus.header.activejobs")}</Button>
|
||||||
</Link>,
|
</Link>,
|
||||||
]}
|
]}
|
||||||
@@ -121,7 +122,7 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
|
|
||||||
{errorMessage ? (
|
{errorMessage ? (
|
||||||
<div>
|
<div>
|
||||||
<AlertComponent message={errorMessage} type='error' />
|
<AlertComponent message={errorMessage} type="error" />
|
||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
@@ -131,7 +132,8 @@ export default function JobsCreateComponent({ form }) {
|
|||||||
style={{
|
style={{
|
||||||
display: idx === pageIndex ? "" : "none",
|
display: idx === pageIndex ? "" : "none",
|
||||||
margin: "1rem",
|
margin: "1rem",
|
||||||
}}>
|
}}
|
||||||
|
>
|
||||||
{item.content}
|
{item.content}
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Reference in New Issue
Block a user