From 41ec2fca6fde05db2e150a2aa015076d396a5737 Mon Sep 17 00:00:00 2001 From: Umesh Desai Date: Wed, 11 Jun 2025 18:08:38 +0530 Subject: [PATCH] "Action" Buttons Should Not Be Visible to Users Without Required Rights in Teams Pages --- src/components/Project/Teams.jsx | 103 +++++++++++++++---------------- 1 file changed, 49 insertions(+), 54 deletions(-) diff --git a/src/components/Project/Teams.jsx b/src/components/Project/Teams.jsx index 2dede227..49a32ee7 100644 --- a/src/components/Project/Teams.jsx +++ b/src/components/Project/Teams.jsx @@ -25,14 +25,14 @@ const Teams = ({ project }) => { const [filteredEmployees, setFilteredEmployees] = useState([]); const [removingEmployeeId, setRemovingEmployeeId] = useState(null); const [assignedLoading, setAssignedLoading] = useState(false); - const [ employeeLodaing, setEmployeeLoading ] = useState( false ); - const [ activeEmployee, setActiveEmployee ] = useState( true ) - const [deleteEmployee,setDeleteEmplyee] = useState(null) + const [employeeLodaing, setEmployeeLoading] = useState(false); + const [activeEmployee, setActiveEmployee] = useState(true) + const [deleteEmployee, setDeleteEmplyee] = useState(null) const navigate = useNavigate(); - const HasAssignUserPermission = useHasUserPermission( ASSIGN_TO_PROJECT ); - const[IsDeleteModal,setIsDeleteModal] = useState(false) + const HasAssignUserPermission = useHasUserPermission(ASSIGN_TO_PROJECT); + const [IsDeleteModal, setIsDeleteModal] = useState(false) const fetchEmployees = async () => { try { @@ -42,7 +42,7 @@ const Teams = ({ project }) => { ProjectRepository.getProjectAllocation(project.id) .then((response) => { setEmployees(response.data); - setFilteredEmployees( response.data.filter( ( emp ) => emp.isActive ) ); + setFilteredEmployees(response.data.filter((emp) => emp.isActive)); setEmployeeLoading(false); }) .catch((error) => { @@ -54,24 +54,23 @@ const Teams = ({ project }) => { } }; - const submitAllocations = (items,added) => { + const submitAllocations = (items, added) => { ProjectRepository.manageProjectAllocation(items) .then((response) => { fetchEmployees(); - if ( added ) - { + if (added) { showToast("Employee Assigned Successfully", "success"); - }else{ - showToast("Removed Employee Successfully", "success"); + } else { + showToast("Removed Employee Successfully", "success"); } setRemovingEmployeeId(null); - setAssignedLoading( false ); - setDeleteEmplyee( null ) + setAssignedLoading(false); + setDeleteEmplyee(null) closeDeleteModal() }) .catch((error) => { const message = error.response.data.message || error.message || "Error Occured during Api Call"; - showToast( message, "error" ); + showToast(message, "error"); closeDeleteModal() }); }; @@ -85,30 +84,30 @@ const Teams = ({ project }) => { projectId: project.id, status: false, }, - ] ,false); + ], false); }; const handleEmpAlicationFormSubmit = (allocaionObj) => { - let items = allocaionObj.map((item) => { - return { - empID: item.empID, - jobRoleId: item.jobRoleId, - projectId: project.id, - status: true, - }; - }); + let items = allocaionObj.map((item) => { + return { + empID: item.empID, + jobRoleId: item.jobRoleId, + projectId: project.id, + status: true, + }; + }); - submitAllocations(items, true); + submitAllocations(items, true); - // Force switch to active view after assignment - setActiveEmployee(true); - setFilteredEmployees(employees.filter((emp) => emp.isActive)); + // Force switch to active view after assignment + setActiveEmployee(true); + setFilteredEmployees(employees.filter((emp) => emp.isActive)); - // Also update dropdown select if needed - const dropdown = document.querySelector('select[name="DataTables_Table_0_length"]'); - if (dropdown) dropdown.value = "true"; -}; + // Also update dropdown select if needed + const dropdown = document.querySelector('select[name="DataTables_Table_0_length"]'); + if (dropdown) dropdown.value = "true"; + }; const getRole = (jobRoleId) => { @@ -140,8 +139,8 @@ const Teams = ({ project }) => { }; useEffect(() => { - dispatch(changeMaster("Job Role")); -}, [dispatch]); + dispatch(changeMaster("Job Role")); + }, [dispatch]); useEffect(() => { @@ -156,22 +155,20 @@ const Teams = ({ project }) => { const handleFilterEmployee = (e) => { const filterValue = e.target.value; - if ( filterValue === "true" ) - { + if (filterValue === "true") { setActiveEmployee(true) setFilteredEmployees(employees.filter((emp) => emp.isActive)); } else { - setFilteredEmployees( employees.filter( ( emp ) => !emp.isActive ) ); + setFilteredEmployees(employees.filter((emp) => !emp.isActive)); setActiveEmployee(false) } }; - const deleteModalOpen = (item) => - { + const deleteModalOpen = (item) => { setDeleteEmplyee(item) setIsDeleteModal(true) } - const closeDeleteModal = ()=> setIsDeleteModal(false) + const closeDeleteModal = () => setIsDeleteModal(false) return ( <> @@ -194,7 +191,7 @@ const Teams = ({ project }) => { - {IsDeleteModal && ( + {IsDeleteModal && (
{ }} aria-hidden="false" > - + {