diff --git a/src/pages/dashboard/corporate.tsx b/src/pages/dashboard/corporate.tsx index 7b786bc6..3aa1abc1 100644 --- a/src/pages/dashboard/corporate.tsx +++ b/src/pages/dashboard/corporate.tsx @@ -33,6 +33,7 @@ import { } from "react-icons/bs"; import { ToastContainer } from "react-toastify"; import { useAllowedEntities } from "@/hooks/useEntityPermissions"; +import { isAdmin } from "@/utils/users"; interface Props { user: User; @@ -51,12 +52,12 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => { if (!checkAccess(user, ["admin", "developer", "corporate"])) return redirect("/") const entityIDS = mapBy(user.entities, "id") || []; - const entities = await getEntitiesWithRoles(entityIDS); + const entities = await getEntitiesWithRoles(isAdmin(user) ? undefined : entityIDS); const users = await filterAllowedUsers(user, entities) const userCounts = await countAllowedUsers(user, entities) - const assignmentsCount = await countEntitiesAssignments(entityIDS, { archived: { $ne: true } }); - const groupsCount = await countGroupsByEntities(entityIDS); + const assignmentsCount = await countEntitiesAssignments(mapBy(entities, "id"), { archived: { $ne: true } }); + const groupsCount = await countGroupsByEntities(mapBy(entities, "id")); const stats = await getStatsByUsers(users.map((u) => u.id)); @@ -132,7 +133,7 @@ export default function Dashboard({ user, users, userCounts, entities, assignmen router.push("/users/performance")} label="Student Performance" - value={students.length} + value={userCounts.student} color="purple" /> )} diff --git a/src/utils/users.be.ts b/src/utils/users.be.ts index 3e4e6ac8..92b3b249 100644 --- a/src/utils/users.be.ts +++ b/src/utils/users.be.ts @@ -168,10 +168,10 @@ export const countAllowedUsers = async (user: User, entities: EntityWithRoles[]) const corporateAllowedEntities = findAllowedEntities(user, entities, 'view_corporates') const masterCorporateAllowedEntities = findAllowedEntities(user, entities, 'view_mastercorporates') - const students = await countEntitiesUsers(mapBy(studentsAllowedEntities, 'id'), { type: "student" }) - const teachers = await countEntitiesUsers(mapBy(teachersAllowedEntities, 'id'), { type: "teacher" }) - const corporates = await countEntitiesUsers(mapBy(corporateAllowedEntities, 'id'), { type: "corporate" }) - const masterCorporates = await countEntitiesUsers(mapBy(masterCorporateAllowedEntities, 'id'), { type: "mastercorporate" }) + const student = await countEntitiesUsers(mapBy(studentsAllowedEntities, 'id'), { type: "student" }) + const teacher = await countEntitiesUsers(mapBy(teachersAllowedEntities, 'id'), { type: "teacher" }) + const corporate = await countEntitiesUsers(mapBy(corporateAllowedEntities, 'id'), { type: "corporate" }) + const masterCorporate = await countEntitiesUsers(mapBy(masterCorporateAllowedEntities, 'id'), { type: "mastercorporate" }) - return { students, teachers, corporates, masterCorporates } + return { student, teacher, corporate, masterCorporate } }