From 3d62071fb61cb26b36e63afd9029771bf7302d10 Mon Sep 17 00:00:00 2001 From: Vikas Nale Date: Sun, 4 May 2025 11:41:11 +0530 Subject: [PATCH 1/2] Remove AADHAR card validation while creating user --- src/components/Employee/ManageEmployee.jsx | 43 +++++++++++++--------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/components/Employee/ManageEmployee.jsx b/src/components/Employee/ManageEmployee.jsx index 3629e84b..b158694b 100644 --- a/src/components/Employee/ManageEmployee.jsx +++ b/src/components/Employee/ManageEmployee.jsx @@ -23,10 +23,10 @@ const ManageEmployee = () => { employee, error, loading: empLoading, - } = useEmployeeProfile( employeeId ); - - dispatch( changeMaster( "Job Role" ) ); - + } = useEmployeeProfile(employeeId); + + dispatch(changeMaster("Job Role")); + const [disabledEmail, setDisabledEmail] = useState(false); const { data: job_role, loading } = useMaster(); const [isloading, setLoading] = useState(false); @@ -41,7 +41,8 @@ const ManageEmployee = () => { MiddleName: z.string().optional(), LastName: z.string().min(1, { message: "Last Name is required" }), Email: z - .string().max(80,"Email cannot exceed 80 characters") + .string() + .max(80, "Email cannot exceed 80 characters") .optional() .refine((val) => !val || /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val), { message: "Invalid email format", @@ -96,8 +97,10 @@ const ManageEmployee = () => { }), AadharNumber: z .string() - .regex(/^\d{12}$/, "Aadhar card must be exactly 12 digits long") - .nonempty("Aadhar card is required"), + .optional() + .refine((val) => !val || /^\d{12}$/.test(val), { + message: "Aadhar card must be exactly 12 digits long", + }), Gender: z .string() .min(1, { message: "Gender is required" }) @@ -152,8 +155,7 @@ const ManageEmployee = () => { mode: "onChange", }); - const AadharNumberValue = watch( "AadharNumber" ) || ""; - + const AadharNumberValue = watch("AadharNumber") || ""; const onSubmit = (data) => { setLoading(true); @@ -184,11 +186,11 @@ const ManageEmployee = () => { .then((response) => { showToast("Employee details updated successfully.", "success"); clearCacheKey("employeeListByProject"); - clearCacheKey( "allEmployeeList" ); - clearCacheKey("employeeProfile") + clearCacheKey("allEmployeeList"); + clearCacheKey("employeeProfile"); - setLoading( false ); - reset() + setLoading(false); + reset(); navigation("/employees"); }) .catch((error) => { @@ -257,7 +259,7 @@ const ManageEmployee = () => {
- {(!currentEmployee && empLoading && employeeId ) && ( + {!currentEmployee && empLoading && employeeId && (

Loading Employee Data...

)} @@ -445,7 +447,7 @@ const ManageEmployee = () => { placeholder="Current Address" aria-label="Current Address" aria-describedby="basic-icon-default-message2" - {...register( "CurrentAddress" )} + {...register("CurrentAddress")} maxLength={500} onChange={(e) => { setCurrentAddressLength(e.target.value.length); @@ -454,7 +456,10 @@ const ManageEmployee = () => { }} >
- {500 - currentAddressLength} characters left + + {" "} + {500 - currentAddressLength} characters left +
{errors.CurrentAddress && (
{ placeholder="Permanent Address" aria-label="Permanent Address" aria-describedby="basic-icon-default-message2" - {...register( "PermanentAddress" )} + {...register("PermanentAddress")} maxLength={500} onChange={(e) => { setPermanentAddressLength(e.target.value.length); @@ -484,7 +489,9 @@ const ManageEmployee = () => { }} >
- {500 - permanentAddressLength} characters left + + {500 - permanentAddressLength} characters left +
{errors.PermanentAddress && (
Date: Sun, 4 May 2025 11:54:08 +0530 Subject: [PATCH 2/2] removed useMaster and dispatch from TaskModel after switching to useActivitiesMaster --- .../Project/Infrastructure/TaskModel.jsx | 32 +++++++--------- src/hooks/masterHook/useMaster.js | 37 +++++++++++++++++-- 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/src/components/Project/Infrastructure/TaskModel.jsx b/src/components/Project/Infrastructure/TaskModel.jsx index 714a363b..4f4a4fe8 100644 --- a/src/components/Project/Infrastructure/TaskModel.jsx +++ b/src/components/Project/Infrastructure/TaskModel.jsx @@ -2,9 +2,7 @@ import React, { useState, useEffect } from "react"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; -import { useDispatch } from "react-redux"; -import { changeMaster } from "../../../slices/localVariablesSlice"; -import useMaster from "../../../hooks/masterHook/useMaster"; +import {useActivitiesMaster} from "../../../hooks/masterHook/useMaster"; const taskSchema = z.object({ buildingID: z.string().min(1, "Building is required"), @@ -17,9 +15,9 @@ const taskSchema = z.object({ const defaultModel = { id: null, - buildingID: null, - floorId: null, - workAreaId: null, + buildingID:"0", + floorId: "0", + workAreaId: "0", activityID: null, plannedWork: 0, completedWork: 0, @@ -32,8 +30,7 @@ const TaskModel = ({ onClearComplete, onClose, }) => { - const dispatch = useDispatch(); - const { data: activities } = useMaster(); + const [formData, setFormData] = useState(defaultModel); const [selectedBuilding, setSelectedBuilding] = useState(null); const [selectedFloor, setSelectedFloor] = useState(null); @@ -41,6 +38,7 @@ const TaskModel = ({ const [selectedActivity, setSelectedActivity] = useState(null); const [isSubmitting, setIsSubmitting] = useState(false); const [activityData, setActivityData] = useState([]); + const {activities, loading, error} = useActivitiesMaster(); const { register, @@ -54,7 +52,6 @@ const TaskModel = ({ }); useEffect(() => { - dispatch(changeMaster("Activity")); resetForm(); }, []); @@ -117,18 +114,19 @@ const TaskModel = ({ const resetForm = () => { setFormData(defaultModel); - setSelectedBuilding(null); - setSelectedFloor(null); - setSelectedWorkArea(null); + setSelectedBuilding("0"); + setSelectedFloor("0"); + setSelectedWorkArea("0"); setSelectedActivity(null); reset(defaultModel); }; useEffect(() => { - if (activities && activities.length > 0) { - setActivityData( activities ); + if (!loading && Array.isArray(activities) && activities.length > 0) { + + setActivityData(activities); } - }, [activities]); + }, [activities, loading]); return (
@@ -274,7 +272,7 @@ const TaskModel = ({ )) ) : ( - // Fallback if activities are empty + )} @@ -284,7 +282,6 @@ const TaskModel = ({
)} - {/* Planned Work */} {selectedActivity && (
)} - {/* Completed Work */} {selectedActivity && (