Stuff with the new corporate

This commit is contained in:
Tiago Ribeiro
2024-12-12 15:31:24 +00:00
parent 3b6836c15a
commit 6bb817f9af
2 changed files with 10 additions and 9 deletions

View File

@@ -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
<IconCard Icon={BsPersonFillGear}
onClick={() => router.push("/users/performance")}
label="Student Performance"
value={students.length}
value={userCounts.student}
color="purple"
/>
)}

View File

@@ -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 }
}