diff --git a/src/dashboards/MasterCorporate/MasterStatistical.tsx b/src/dashboards/MasterCorporate/MasterStatistical.tsx
index ec205d6a..df3e06f4 100644
--- a/src/dashboards/MasterCorporate/MasterStatistical.tsx
+++ b/src/dashboards/MasterCorporate/MasterStatistical.tsx
@@ -74,10 +74,8 @@ const MasterStatistical = (props: Props) => {
() =>
assignments.reduce((accmA: TableData[], a: AssignmentWithCorporateId) => {
const userResults = a.assignees.map((assignee) => {
- const userStats = a.results.find((r) => r.user === assignee)?.stats || [];
const userData = users.find((u) => u.id === assignee);
- if (!!userData) console.log(assignee, userData.name);
-
+ const userStats = !!userData ? a.results.find((r) => r.user === assignee)?.stats || [] : [];
const corporate = getUserName(users.find((u) => u.id === a.assigner));
const commonData = {
user: userData,
@@ -88,6 +86,7 @@ const MasterStatistical = (props: Props) => {
corporate,
assignment: a.name,
};
+
if (userStats.length === 0) {
return {
...commonData,
@@ -167,7 +166,7 @@ const MasterStatistical = (props: Props) => {
header: "Student ID",
id: "studentID",
cell: (info) => {
- return {(info.getValue() as StudentUser).studentID || "N/A"};
+ return {(info.getValue() as StudentUser)?.studentID || "N/A"};
},
}),
...(displaySelection
diff --git a/src/pages/api/assignments/corporate/[id].ts b/src/pages/api/assignments/corporate/[id].ts
index 728273d8..242690b8 100644
--- a/src/pages/api/assignments/corporate/[id].ts
+++ b/src/pages/api/assignments/corporate/[id].ts
@@ -22,7 +22,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
async function GET(req: NextApiRequest, res: NextApiResponse) {
const {id} = req.query as {id: string};
- const assigners = await getAllAssignersByCorporate(id);
+ const assigners = await getAllAssignersByCorporate(id, req.session.user!.type);
const assignments = await getAssignmentsByAssigners([...assigners, id]);
res.status(200).json(uniqBy(assignments, "id"));
diff --git a/src/pages/api/assignments/corporate/index.ts b/src/pages/api/assignments/corporate/index.ts
index e2557fe3..2b543250 100644
--- a/src/pages/api/assignments/corporate/index.ts
+++ b/src/pages/api/assignments/corporate/index.ts
@@ -29,7 +29,7 @@ async function GET(req: NextApiRequest, res: NextApiResponse) {
try {
const idsList = ids.split(",");
- const assignments = await getAssignmentsForCorporates(idsList, startDateParsed, endDateParsed);
+ const assignments = await getAssignmentsForCorporates(req.session.user!.type, idsList, startDateParsed, endDateParsed);
res.status(200).json(assignments);
} catch (err: any) {
res.status(500).json({error: err.message});
diff --git a/src/pages/api/assignments/statistical/excel.ts b/src/pages/api/assignments/statistical/excel.ts
index da5befe0..aab31cb0 100644
--- a/src/pages/api/assignments/statistical/excel.ts
+++ b/src/pages/api/assignments/statistical/excel.ts
@@ -64,7 +64,7 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
};
const startDateParsed = startDate ? new Date(startDate) : undefined;
const endDateParsed = endDate ? new Date(endDate) : undefined;
- const assignments = await getAssignmentsForCorporates(ids, startDateParsed, endDateParsed);
+ const assignments = await getAssignmentsForCorporates(req.session.user.type, ids, startDateParsed, endDateParsed);
const assignmentUsers = [...new Set(assignments.flatMap((a) => a.assignees))];
const assigners = [...new Set(assignments.map((a) => a.assigner))];
diff --git a/src/utils/assignments.be.ts b/src/utils/assignments.be.ts
index e2341020..261f04b6 100644
--- a/src/utils/assignments.be.ts
+++ b/src/utils/assignments.be.ts
@@ -1,6 +1,7 @@
import client from "@/lib/mongodb";
import {Assignment} from "@/interfaces/results";
import {getAllAssignersByCorporate} from "@/utils/groups.be";
+import {Type} from "@/interfaces/user";
const db = client.db(process.env.MONGODB_DB);
@@ -36,10 +37,10 @@ export const getAssignmentsByAssigners = async (ids: string[], startDate?: Date,
.toArray();
};
-export const getAssignmentsForCorporates = async (idsList: string[], startDate?: Date, endDate?: Date) => {
+export const getAssignmentsForCorporates = async (userType: Type, idsList: string[], startDate?: Date, endDate?: Date) => {
const assigners = await Promise.all(
idsList.map(async (id) => {
- const assigners = await getAllAssignersByCorporate(id);
+ const assigners = await getAllAssignersByCorporate(id, userType);
return {
corporateId: id,
assigners,
diff --git a/src/utils/groups.be.ts b/src/utils/groups.be.ts
index 7757ecd8..4c344dc8 100644
--- a/src/utils/groups.be.ts
+++ b/src/utils/groups.be.ts
@@ -1,6 +1,6 @@
import {app} from "@/firebase";
import {Assignment} from "@/interfaces/results";
-import {CorporateUser, Group, MasterCorporateUser, StudentUser, TeacherUser, User} from "@/interfaces/user";
+import {CorporateUser, Group, MasterCorporateUser, StudentUser, TeacherUser, Type, User} from "@/interfaces/user";
import client from "@/lib/mongodb";
import moment from "moment";
import {getLinkedUsers, getUser} from "./users.be";
@@ -71,9 +71,9 @@ export const getUsersGroups = async (ids: string[]) => {
.toArray();
};
-export const getAllAssignersByCorporate = async (corporateID: string): Promise => {
- const linkedTeachers = await getLinkedUsers(corporateID, "mastercorporate", "teacher");
- const linkedCorporates = await getLinkedUsers(corporateID, "mastercorporate", "corporate");
+export const getAllAssignersByCorporate = async (corporateID: string, type: Type): Promise => {
+ const linkedTeachers = await getLinkedUsers(corporateID, type, "teacher");
+ const linkedCorporates = await getLinkedUsers(corporateID, type, "corporate");
return [...linkedTeachers.users.map((x) => x.id), ...linkedCorporates.users.map((x) => x.id)];
};