diff --git a/src/components/TimesheetTable/EntryInputTable.tsx b/src/components/TimesheetTable/EntryInputTable.tsx index b21e389..a2de809 100644 --- a/src/components/TimesheetTable/EntryInputTable.tsx +++ b/src/components/TimesheetTable/EntryInputTable.tsx @@ -438,7 +438,7 @@ const EntryInputTable: React.FC = ({ > {t("Record time")} - + } {hasOutOfPlannedStages && ( {t("There are entries for stages out of planned dates!")} diff --git a/src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx b/src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx index 5e116c4..0d5a586 100644 --- a/src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx +++ b/src/components/UserWorkspacePage/UserWorkspaceWrapper.tsx @@ -11,6 +11,8 @@ import { fetchTimesheets, } from "@/app/api/timesheets"; import { fetchHolidays } from "@/app/api/holidays"; +import { getUserAbilities } from "@/app/utils/commonUtil"; +import { MAINTAIN_TIMESHEET_FAST_TIME_ENTRY } from "@/middleware"; const UserWorkspaceWrapper: React.FC = async () => { const [ @@ -22,6 +24,7 @@ const UserWorkspaceWrapper: React.FC = async () => { leaves, leaveTypes, holidays, + abilities, ] = await Promise.all([ fetchTeamMemberLeaves(), fetchTeamMemberTimesheets(), @@ -31,8 +34,11 @@ const UserWorkspaceWrapper: React.FC = async () => { fetchLeaves(), fetchLeaveTypes(), fetchHolidays(), + getUserAbilities() ]); + const fastEntryEnabled = abilities.includes(MAINTAIN_TIMESHEET_FAST_TIME_ENTRY) + return ( { leaveTypes={leaveTypes} holidays={holidays} // Change to access check - fastEntryEnabled={true} + fastEntryEnabled={fastEntryEnabled} /> ); }; diff --git a/src/middleware.ts b/src/middleware.ts index 6c005a8..daf89c4 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -39,6 +39,7 @@ export const [ VIEW_PROJECT, MAINTAIN_PROJECT, DELETE_PROJECT, + MAINTAIN_TIMESHEET_FAST_TIME_ENTRY, ] = [ 'VIEW_USER', 'MAINTAIN_USER', @@ -58,7 +59,8 @@ export const [ 'MAINTAIN_TIMESHEET_7DAYS', 'VIEW_PROJECT', 'MAINTAIN_PROJECT', - 'DELETE_PROJECT' + 'DELETE_PROJECT', + 'MAINTAIN_TIMESHEET_FAST_TIME_ENTRY' ] const PRIVATE_ROUTES = [