@@ -96,7 +96,7 @@ const Allocation: React.FC<Props> = ({ allStaffs: staff, teamLead }) => { | |||
[addStaff, selectedStaff] | |||
); | |||
const clearSubsidiary = useCallback(() => { | |||
const clearValues = useCallback(() => { | |||
if (defaultValues !== undefined) { | |||
resetField("addStaffIds"); | |||
setSelectedStaff( | |||
@@ -169,9 +169,9 @@ const Allocation: React.FC<Props> = ({ allStaffs: staff, teamLead }) => { | |||
initialStaffs.filter((i) => { | |||
const q = query.toLowerCase(); | |||
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(() => { | |||
clearQueryInput(); | |||
clearSubsidiary(); | |||
}, [clearQueryInput, clearSubsidiary]); | |||
clearValues(); | |||
}, [clearQueryInput, clearValues]); | |||
const formProps = useForm({}); | |||
@@ -1,6 +1,5 @@ | |||
import React from "react"; | |||
import GenerateMonthlyWorkHoursReportLoading from "./GenerateMonthlyWorkHoursReportLoading"; | |||
import { fetchProjects } from "@/app/api/projects"; | |||
import GenerateMonthlyWorkHoursReport from "./GenerateMonthlyWorkHoursReport"; | |||
import { fetchStaff } from "@/app/api/staff"; | |||
import { getServerSession } from "next-auth"; | |||
@@ -10,19 +9,20 @@ interface SubComponents { | |||
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(); | |||
if (role === TEAM_LEAD) { | |||
staffs = staffs.filter((staff) => staff.teamId === teamId); | |||
} | |||
} | |||
return <GenerateMonthlyWorkHoursReport staffs={staffs}/>; | |||
return <GenerateMonthlyWorkHoursReport staffs={staffs} />; | |||
}; | |||
GenerateMonthlyWorkHoursReportWrapper.Loading = GenerateMonthlyWorkHoursReportLoading; | |||
export default GenerateMonthlyWorkHoursReportWrapper; | |||
export default GenerateMonthlyWorkHoursReportWrapper; |
@@ -12,29 +12,34 @@ interface SubComponents { | |||
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) { | |||
needAll = false | |||
needAll = false; | |||
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; |