| @@ -96,7 +96,7 @@ const Allocation: React.FC<Props> = ({ allStaffs: staff, teamLead }) => { | |||||
| [addStaff, selectedStaff] | [addStaff, selectedStaff] | ||||
| ); | ); | ||||
| const clearSubsidiary = useCallback(() => { | |||||
| const clearValues = useCallback(() => { | |||||
| if (defaultValues !== undefined) { | if (defaultValues !== undefined) { | ||||
| resetField("addStaffIds"); | resetField("addStaffIds"); | ||||
| setSelectedStaff( | setSelectedStaff( | ||||
| @@ -169,9 +169,9 @@ const Allocation: React.FC<Props> = ({ allStaffs: staff, teamLead }) => { | |||||
| initialStaffs.filter((i) => { | initialStaffs.filter((i) => { | ||||
| const q = query.toLowerCase(); | const q = query.toLowerCase(); | ||||
| return ( | return ( | ||||
| i.staffId.toLowerCase().includes(q) || | |||||
| i.name.toLowerCase().includes(q) || | |||||
| i.currentPosition.toLowerCase().includes(q) | |||||
| i.staffId.toLowerCase().includes(q) | |||||
| || i.name.toLowerCase().includes(q) | |||||
| || i.currentPosition?.toLowerCase().includes(q) | |||||
| ); | ); | ||||
| }) | }) | ||||
| ); | ); | ||||
| @@ -183,8 +183,8 @@ const Allocation: React.FC<Props> = ({ allStaffs: staff, teamLead }) => { | |||||
| const resetStaff = React.useCallback(() => { | const resetStaff = React.useCallback(() => { | ||||
| clearQueryInput(); | clearQueryInput(); | ||||
| clearSubsidiary(); | |||||
| }, [clearQueryInput, clearSubsidiary]); | |||||
| clearValues(); | |||||
| }, [clearQueryInput, clearValues]); | |||||
| const formProps = useForm({}); | const formProps = useForm({}); | ||||
| @@ -1,6 +1,5 @@ | |||||
| import React from "react"; | import React from "react"; | ||||
| import GenerateMonthlyWorkHoursReportLoading from "./GenerateMonthlyWorkHoursReportLoading"; | import GenerateMonthlyWorkHoursReportLoading from "./GenerateMonthlyWorkHoursReportLoading"; | ||||
| import { fetchProjects } from "@/app/api/projects"; | |||||
| import GenerateMonthlyWorkHoursReport from "./GenerateMonthlyWorkHoursReport"; | import GenerateMonthlyWorkHoursReport from "./GenerateMonthlyWorkHoursReport"; | ||||
| import { fetchStaff } from "@/app/api/staff"; | import { fetchStaff } from "@/app/api/staff"; | ||||
| import { getServerSession } from "next-auth"; | import { getServerSession } from "next-auth"; | ||||
| @@ -10,19 +9,20 @@ interface SubComponents { | |||||
| Loading: typeof GenerateMonthlyWorkHoursReportLoading; | Loading: typeof GenerateMonthlyWorkHoursReportLoading; | ||||
| } | } | ||||
| const GenerateMonthlyWorkHoursReportWrapper: React.FC & SubComponents = async () => { | |||||
| const session: any = await getServerSession(authOptions) | |||||
| const teamId = session.staff?.team.id | |||||
| const role = session.role | |||||
| const GenerateMonthlyWorkHoursReportWrapper: React.FC & | |||||
| SubComponents = async () => { | |||||
| const session: any = await getServerSession(authOptions); | |||||
| const teamId = session.staff?.team.id; | |||||
| const role = session.role; | |||||
| let staffs = await fetchStaff(); | let staffs = await fetchStaff(); | ||||
| if (role === TEAM_LEAD) { | if (role === TEAM_LEAD) { | ||||
| staffs = staffs.filter((staff) => staff.teamId === teamId); | staffs = staffs.filter((staff) => staff.teamId === teamId); | ||||
| } | |||||
| } | |||||
| return <GenerateMonthlyWorkHoursReport staffs={staffs}/>; | |||||
| return <GenerateMonthlyWorkHoursReport staffs={staffs} />; | |||||
| }; | }; | ||||
| GenerateMonthlyWorkHoursReportWrapper.Loading = GenerateMonthlyWorkHoursReportLoading; | GenerateMonthlyWorkHoursReportWrapper.Loading = GenerateMonthlyWorkHoursReportLoading; | ||||
| export default GenerateMonthlyWorkHoursReportWrapper; | |||||
| export default GenerateMonthlyWorkHoursReportWrapper; | |||||
| @@ -12,29 +12,34 @@ interface SubComponents { | |||||
| Loading: typeof ResourceOvercomsumptionReportLoading; | Loading: typeof ResourceOvercomsumptionReportLoading; | ||||
| } | } | ||||
| const ResourceOvercomsumptionReportWrapper: React.FC & SubComponents = async () => { | |||||
| const session: any = await getServerSession(authOptions) | |||||
| const teamId = session.staff?.team.id | |||||
| const role = session.role | |||||
| let needAll = true | |||||
| let teams = await fetchTeam() | |||||
| const [ | |||||
| customers, | |||||
| subsidiaries] | |||||
| = await Promise.all( | |||||
| [ | |||||
| fetchAllCustomers(), | |||||
| fetchAllSubsidiaries() | |||||
| ]) | |||||
| const ResourceOvercomsumptionReportWrapper: React.FC & | |||||
| SubComponents = async () => { | |||||
| const session: any = await getServerSession(authOptions); | |||||
| const teamId = session.staff?.team.id; | |||||
| const role = session.role; | |||||
| let needAll = true; | |||||
| let teams = await fetchTeam(); | |||||
| const [customers, subsidiaries] = await Promise.all([ | |||||
| fetchAllCustomers(), | |||||
| fetchAllSubsidiaries(), | |||||
| ]); | |||||
| if (role === TEAM_LEAD) { | if (role === TEAM_LEAD) { | ||||
| needAll = false | |||||
| needAll = false; | |||||
| teams = teams.filter((team) => team.id === teamId); | teams = teams.filter((team) => team.id === teamId); | ||||
| } | |||||
| } | |||||
| return <ResourceOverconsumptionReport team={teams} customer={customers} subsidiaries={subsidiaries} needAll={needAll}/>; | |||||
| return ( | |||||
| <ResourceOverconsumptionReport | |||||
| team={teams} | |||||
| customer={customers} | |||||
| subsidiaries={subsidiaries} | |||||
| needAll={needAll} | |||||
| /> | |||||
| ); | |||||
| }; | }; | ||||
| ResourceOvercomsumptionReportWrapper.Loading = ResourceOvercomsumptionReportLoading; | |||||
| ResourceOvercomsumptionReportWrapper.Loading = | |||||
| ResourceOvercomsumptionReportLoading; | |||||
| export default ResourceOvercomsumptionReportWrapper; | |||||
| export default ResourceOvercomsumptionReportWrapper; | |||||