Merge pull request 'Project Not Visible When Created with "In Progress" Status Selected from Filter' (#230) from Kartik_Bug#641 into Issues_July_1W
Reviewed-on: #230
This commit is contained in:
commit
eb1f048059
@ -4,6 +4,18 @@ import { zodResolver } from "@hookform/resolvers/zod";
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
// const currentDate = new Date().toISOString().split("T")[0];
|
// const currentDate = new Date().toISOString().split("T")[0];
|
||||||
|
|
||||||
|
const ACTIVE_STATUS_ID = "b74da4c2-d07e-46f2-9919-e75e49b12731";
|
||||||
|
|
||||||
|
const DEFAULT_EMPTY_STATUS_ID = "00000000-0000-0000-0000-000000000000";
|
||||||
|
/**
|
||||||
|
|
||||||
|
* Formats a given date string into 'YYYY-MM-DD' format.
|
||||||
|
* If the date is invalid or not provided, it defaults to the current date.
|
||||||
|
* @param {string} date - The date string to format.
|
||||||
|
* @returns {string} The formatted date string.
|
||||||
|
*/
|
||||||
|
|
||||||
const currentDate = new Date().toLocaleDateString('en-CA');
|
const currentDate = new Date().toLocaleDateString('en-CA');
|
||||||
const formatDate = (date) => {
|
const formatDate = (date) => {
|
||||||
if (!date) {
|
if (!date) {
|
||||||
@ -29,7 +41,7 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
shortName: z.string().optional(),
|
shortName: z.string().optional(),
|
||||||
contactPerson: z
|
contactPerson: z
|
||||||
.string()
|
.string()
|
||||||
.min( 1, {message: "Contact Person Name is required"} )
|
.min(1, { message: "Contact Person Name is required" })
|
||||||
.regex(/^[A-Za-z\s]+$/, {
|
.regex(/^[A-Za-z\s]+$/, {
|
||||||
message: "Contact Person must contain only letters",
|
message: "Contact Person must contain only letters",
|
||||||
}),
|
}),
|
||||||
@ -53,7 +65,7 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
(data) => {
|
(data) => {
|
||||||
const start = new Date(data.startDate);
|
const start = new Date(data.startDate);
|
||||||
const end = new Date(data.endDate);
|
const end = new Date(data.endDate);
|
||||||
return end > start;
|
return end >= start;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: ["endDate"], // attaches the error to the endDate field
|
path: ["endDate"], // attaches the error to the endDate field
|
||||||
@ -78,7 +90,12 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
projectAddress: project?.projectAddress || "",
|
projectAddress: project?.projectAddress || "",
|
||||||
startDate: formatDate(project?.startDate) || currentDate,
|
startDate: formatDate(project?.startDate) || currentDate,
|
||||||
endDate: formatDate(project?.endDate) || currentDate,
|
endDate: formatDate(project?.endDate) || currentDate,
|
||||||
projectStatusId: String(project?.projectStatusId || "00000000-0000-0000-0000-000000000000"),
|
// projectStatusId: String(project?.projectStatusId || "00000000-0000-0000-0000-000000000000"),
|
||||||
|
projectStatusId: project?.projectStatusId && project.projectStatusId !== DEFAULT_EMPTY_STATUS_ID
|
||||||
|
|
||||||
|
? String(project.projectStatusId)
|
||||||
|
|
||||||
|
: ACTIVE_STATUS_ID,
|
||||||
},
|
},
|
||||||
mode: "onChange",
|
mode: "onChange",
|
||||||
});
|
});
|
||||||
@ -88,24 +105,35 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
reset(
|
reset(
|
||||||
project
|
project
|
||||||
? {
|
? {
|
||||||
id: project?.id || "",
|
id: project?.id || "",
|
||||||
name: project?.name || "",
|
name: project?.name || "",
|
||||||
shortName: project?.shortName || "",
|
shortName: project?.shortName || "",
|
||||||
contactPerson: project?.contactPerson || "",
|
contactPerson: project?.contactPerson || "",
|
||||||
projectAddress: project?.projectAddress || "",
|
projectAddress: project?.projectAddress || "",
|
||||||
startDate: formatDate(project?.startDate) || "",
|
startDate: formatDate(project?.startDate) || "",
|
||||||
endDate: formatDate(project?.endDate) || "",
|
endDate: formatDate(project?.endDate) || "",
|
||||||
projectStatusId: String(project.projectStatusId) || "00000000-0000-0000-0000-000000000000",
|
// projectStatusId: String(project.projectStatusId) || "00000000-0000-0000-0000-000000000000",
|
||||||
}
|
projectStatusId: project?.projectStatusId && project.projectStatusId !== DEFAULT_EMPTY_STATUS_ID
|
||||||
|
? String(project.projectStatusId)
|
||||||
|
: ACTIVE_STATUS_ID,
|
||||||
|
}
|
||||||
: {}
|
: {}
|
||||||
);
|
);
|
||||||
setAddressLength(project?.projectAddress?.length || 0);
|
setAddressLength(project?.projectAddress?.length || 0);
|
||||||
}, [project, reset]);
|
}, [project, reset]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
* Handles the form submission.
|
||||||
|
|
||||||
|
* @param {object} updatedProject - The project data from the form.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
const onSubmitForm = (updatedProject) => {
|
const onSubmitForm = (updatedProject) => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
handleSubmitForm( updatedProject, setLoading,reset );
|
handleSubmitForm(updatedProject, setLoading, reset);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
reset({
|
reset({
|
||||||
@ -116,7 +144,10 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
projectAddress: project?.projectAddress || "",
|
projectAddress: project?.projectAddress || "",
|
||||||
startDate: formatDate(project?.startDate) || currentDate,
|
startDate: formatDate(project?.startDate) || currentDate,
|
||||||
endDate: formatDate(project?.endDate) || currentDate,
|
endDate: formatDate(project?.endDate) || currentDate,
|
||||||
projectStatusId: String(project?.projectStatusId || "00000000-0000-0000-0000-000000000000"),
|
// projectStatusId: String(project?.projectStatusId || "00000000-0000-0000-0000-000000000000"),
|
||||||
|
projectStatusId: project?.projectStatusId && project.projectStatusId !== DEFAULT_EMPTY_STATUS_ID
|
||||||
|
? String(project.projectStatusId)
|
||||||
|
: ACTIVE_STATUS_ID,
|
||||||
});
|
});
|
||||||
onClose();
|
onClose();
|
||||||
};
|
};
|
||||||
@ -259,8 +290,9 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
valueAsNumber: false,
|
valueAsNumber: false,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<option disabled>Status</option>
|
{/* <option disabled>Status</option>
|
||||||
<option value="b74da4c2-d07e-46f2-9919-e75e49b12731">Active</option>
|
<option value="b74da4c2-d07e-46f2-9919-e75e49b12731">Active</option> */}
|
||||||
|
<option value={ACTIVE_STATUS_ID}>Active</option>
|
||||||
<option value="603e994b-a27f-4e5d-a251-f3d69b0498ba">On Hold</option>
|
<option value="603e994b-a27f-4e5d-a251-f3d69b0498ba">On Hold</option>
|
||||||
|
|
||||||
<option value="cdad86aa-8a56-4ff4-b633-9c629057dfef">In Progress</option>
|
<option value="cdad86aa-8a56-4ff4-b633-9c629057dfef">In Progress</option>
|
||||||
@ -326,4 +358,4 @@ const ManageProjectInfo = ({ project, handleSubmitForm, onClose }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default ManageProjectInfo;
|
export default ManageProjectInfo;
|
Loading…
x
Reference in New Issue
Block a user