Adding Permission in Attendance Weiget at dasboard and Project Profile.

This commit is contained in:
Kartik Sharma 2025-11-26 11:57:05 +05:30 committed by pramod.mahajan
parent 082df5fad3
commit e041e0fe8a
2 changed files with 21 additions and 7 deletions

View File

@ -18,12 +18,18 @@ import ExpenseStatus from "./ExpenseStatus";
import ExpenseByProject from "./ExpenseByProject";
import ProjectStatistics from "../Project/ProjectStatistics";
import ServiceJobs from "./ServiceJobs";
import { useHasUserPermission } from "../../hooks/useHasUserPermission";
import { REGULARIZE_ATTENDANCE, SELF_ATTENDANCE, TEAM_ATTENDANCE } from "../../utils/constants";
const Dashboard = () => {
// Get the selected project ID from Redux store
const projectId = useSelector((store) => store.localVariables.projectId);
const isAllProjectsSelected = projectId === null;
const canRegularize = useHasUserPermission(REGULARIZE_ATTENDANCE);
const canTeamAttendance = useHasUserPermission(TEAM_ATTENDANCE);
const canSelfAttendance = useHasUserPermission(SELF_ATTENDANCE);
return (
<div className="container-fluid mt-5">
@ -50,7 +56,7 @@ const Dashboard = () => {
<div className="col-xxl-6 col-lg-6">
<ProjectProgressChart />
</div>
{!isAllProjectsSelected && (
{!isAllProjectsSelected && (canRegularize || canTeamAttendance || canSelfAttendance) && (
<div className="col-12 col-md-6 mb-sm-0 mb-4">
<AttendanceOverview />
</div>

View File

@ -25,6 +25,8 @@ import { useProjectAccess } from "../../hooks/useProjectAccess";
import "./ProjectDetails.css";
import ProjectOrganizations from "../../components/Project/ProjectOrganizations";
import ProjectStatistics from "../../components/Project/ProjectStatistics";
import { useHasUserPermission } from "../../hooks/useHasUserPermission";
import { REGULARIZE_ATTENDANCE, SELF_ATTENDANCE, TEAM_ATTENDANCE } from "../../utils/constants";
const ProjectDetails = () => {
const projectId = useSelectedProject();
@ -35,6 +37,10 @@ const ProjectDetails = () => {
useProjectDetails(projectId);
const { canView, loading: permsLoading } = useProjectAccess(projectId);
const canRegularize = useHasUserPermission(REGULARIZE_ATTENDANCE);
const canTeamAttendance = useHasUserPermission(TEAM_ATTENDANCE);
const canSelfAttendance = useHasUserPermission(SELF_ATTENDANCE);
useEffect(() => {
if (!projectId && projectNames.length > 0) {
@ -82,15 +88,17 @@ const ProjectDetails = () => {
return (
<div className="row">
<div className="col-lg-4 col-md-5 mt-2">
<AboutProject />
<div className="card"><ProjectStatistics project={projectId} /></div>
<AboutProject />
<div className="card"><ProjectStatistics project={projectId} /></div>
</div>
<div className="col-lg-8 col-md-7 mt-2">
<ProjectProgressChart ShowAllProject="false" DefaultRange="1M" />
<div className="mt-5" >
<AttendanceOverview/>
</div>
{(canRegularize || canTeamAttendance || canSelfAttendance) && (
<div className="mt-5">
<AttendanceOverview />
</div>
)}
</div>
</div>
);