From 93977ba5b6c7da19f4d32dbc164180b9739079c6 Mon Sep 17 00:00:00 2001 From: Pramod Mahajan Date: Thu, 29 May 2025 10:10:47 +0530 Subject: [PATCH] =?UTF-8?q?Fixed=20case=20mismatch=20in=20error=20renderin?= =?UTF-8?q?g=20(BucketIds=20=E2=9E=9D=20bucketIds)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Directory/DirectorySchema.js | 4 +- src/components/Directory/ManageBucket.jsx | 43 ++++++++++++++------- src/components/Directory/UpdateContact.jsx | 16 ++++---- 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/src/components/Directory/DirectorySchema.js b/src/components/Directory/DirectorySchema.js index 915cf10a..a8d2d489 100644 --- a/src/components/Directory/DirectorySchema.js +++ b/src/components/Directory/DirectorySchema.js @@ -6,7 +6,7 @@ export const ContactSchema = z contactCategoryId: z.string().nullable().optional(), address: z.string().optional(), description: z.string().min(1, { message: "Description is required" }), - projectIds: z.array(z.string()), // min(1, "Project is required") + projectIds: z.array(z.string()).nullable().optional(), // min(1, "Project is required") contactEmails: z .array( z.object({ @@ -39,7 +39,7 @@ export const ContactSchema = z }) ) .min(1, { message: "At least one tag is required" }), - bucketIds: z.array(z.string()).min(1,{message:"At least one Label required"}), +bucketIds: z.array(z.string()).nonempty({ message: "At least one label is required" }) }) // .refine((data) => { diff --git a/src/components/Directory/ManageBucket.jsx b/src/components/Directory/ManageBucket.jsx index 991d0340..86ba6dfe 100644 --- a/src/components/Directory/ManageBucket.jsx +++ b/src/components/Directory/ManageBucket.jsx @@ -12,8 +12,13 @@ import EmployeeList from "./EmployeeList"; import { useAllEmployees, useEmployees } from "../../hooks/useEmployees"; import { useSortableData } from "../../hooks/useSortableData"; import ConfirmModal from "../common/ConfirmModal"; +import {useHasUserPermission} from "../../hooks/useHasUserPermission"; +import {DIRECTORY_ADMIN, DIRECTORY_MANAGER} from "../../utils/constants"; +import {useProfile} from "../../hooks/useProfile"; -const ManageBucket = () => { +const ManageBucket = () => +{ + const {profile} =useProfile() const [bucketList, setBucketList] = useState([]); const { employeesList } = useAllEmployees(false); const [selectedEmployee, setSelectEmployee] = useState([]); @@ -22,7 +27,9 @@ const ManageBucket = () => { const [isSubmitting, setSubmitting] = useState(false); const [selected_bucket, select_bucket] = useState(null); const [deleteBucket, setDeleteBucket] = useState(null); - const [searchTerm, setSearchTerm] = useState(""); + const [ searchTerm, setSearchTerm ] = useState( "" ); + const DirManager = useHasUserPermission( DIRECTORY_MANAGER ) + const DirAdmin = useHasUserPermission(DIRECTORY_ADMIN) const { items: sortedBuckteList, requestSort, @@ -336,19 +343,25 @@ const ManageBucket = () => { {bucket.numberOfContacts} -
- { - select_bucket(bucket); - setAction_bucket(true); + + {(DirManager || + DirAdmin || + bucket?.createdBy?.id === + profile?.employeeInfo?.id) && ( +
+ { + select_bucket(bucket); + setAction_bucket(true); }} - > - setDeleteBucket(bucket?.id)} - > -
+ >
+ setDeleteBucket(bucket?.id)} + > +
+ )} ))} @@ -386,7 +399,7 @@ const ManageBucket = () => { setSelectEmployee(data)} - assignedEmployee={selected_bucket?.employeeIds} + bucket={selected_bucket} /> )} diff --git a/src/components/Directory/UpdateContact.jsx b/src/components/Directory/UpdateContact.jsx index 3878dc47..985229a3 100644 --- a/src/components/Directory/UpdateContact.jsx +++ b/src/components/Directory/UpdateContact.jsx @@ -387,13 +387,10 @@ await submitContact({ ...cleaned, id: existingContact.id }); )}
-
+
-
    +
      {bucketsLoaging &&

      Loading...

      } {buckets?.map((item) => (
    • ))} + {errors.bucketIds && ( + + {errors.bucketIds.message} + + )}
    - - {errors.BucketIds && ( - {errors.BucketIds.message} - )}