diff --git a/src/pages/(admin)/BatchCreateUser.tsx b/src/pages/(admin)/BatchCreateUser.tsx
index 3b30bc46..e340ee8b 100644
--- a/src/pages/(admin)/BatchCreateUser.tsx
+++ b/src/pages/(admin)/BatchCreateUser.tsx
@@ -112,7 +112,7 @@ export default function BatchCreateUser({user, users, entities = [], permissions
const information = uniqBy(
rows
.map((row) => {
- const [firstName, lastName, studentID, passport_id, email, phone, corporate, group, country] = row as string[];
+ const [firstName, lastName, studentID, passport_id, email, phone, group, country] = row as string[];
const countryItem =
countryCodes.findOne("countryCode" as any, country.toUpperCase()) ||
countryCodes.all().find((x) => x.countryNameEn.toLowerCase() === country.toLowerCase());
@@ -124,7 +124,6 @@ export default function BatchCreateUser({user, users, entities = [], permissions
type: type,
passport_id: passport_id?.toString().trim() || undefined,
groupName: group,
- corporate,
studentID,
entity,
demographicInformation: {
@@ -147,7 +146,9 @@ export default function BatchCreateUser({user, users, entities = [], permissions
}
setInfos(information);
- } catch {
+ } catch(e) {
+ console.log(e)
+
toast.error(
"Please upload an Excel file containing user information, one per line! All already registered e-mails have also been ignored!",
);
@@ -166,7 +167,8 @@ export default function BatchCreateUser({user, users, entities = [], permissions
setIsLoading(true);
try {
- await axios.post("/api/batch_users", {users: newUsers.map((user) => ({...user, type, expiryDate}))});
+ const result = await axios.post("/api/batch_users", {users: newUsers.map((user) => ({...user, type, expiryDate}))});
+ console.log(result)
toast.success(`Successfully added ${newUsers.length} user(s)!`);
onFinish();
} catch {
@@ -193,7 +195,6 @@ export default function BatchCreateUser({user, users, entities = [], permissions
Passport/National ID |
E-mail |
Phone Number |
- {user?.type !== "corporate" && Corporate (e-mail) | }
Classroom Name |
Country |
diff --git a/src/pages/dashboard/student.tsx b/src/pages/dashboard/student.tsx
index 9e835994..e6063753 100644
--- a/src/pages/dashboard/student.tsx
+++ b/src/pages/dashboard/student.tsx
@@ -34,6 +34,7 @@ import {capitalize, uniqBy} from "lodash";
import moment from "moment";
import Head from "next/head";
import {useRouter} from "next/router";
+import { useMemo } from "react";
import {BsBook, BsClipboard, BsFileEarmarkText, BsHeadphones, BsMegaphone, BsPen, BsPencil, BsStar} from "react-icons/bs";
import {ToastContainer} from "react-toastify";
@@ -58,14 +59,13 @@ export const getServerSideProps = withIronSessionSsr(async ({req, res}) => {
const entityIDS = mapBy(user.entities, "id") || [];
const entities = await getEntitiesWithRoles(entityIDS);
- const allAssignments = await getAssignmentsByAssignee(user.id, {archived: false});
+ const assignments = await getAssignmentsByAssignee(user.id, {archived: false});
const stats = await getStatsByUser(user.id);
const sessions = await getSessionsByUser(user.id, 10);
const invites = await getInvitesByInvitee(user.id);
const grading = await getGradingSystemByEntity(entityIDS[0] || "");
const formattedInvites = await Promise.all(invites.map(convertInvitersToUsers));
- const assignments = allAssignments.filter(activeAssignmentFilter);
const examIDs = uniqBy(
assignments.flatMap((a) =>
@@ -104,7 +104,7 @@ export default function Dashboard({user, entities, assignments, stats, invites,
}
};
- const studentAssignments = assignments.filter(activeAssignmentFilter);
+ const studentAssignments = useMemo(() => assignments.filter(activeAssignmentFilter), [assignments]);
return (
<>
diff --git a/src/pages/settings.tsx b/src/pages/settings.tsx
index e1944e04..9d982f9a 100644
--- a/src/pages/settings.tsx
+++ b/src/pages/settings.tsx
@@ -32,6 +32,7 @@ import { getEntitiesWithRoles, getEntityWithRoles } from "@/utils/entities.be";
import { mapBy, serialize, redirect } from "@/utils";
import { EntityWithRoles } from "@/interfaces/entity";
import { requestUser } from "@/utils/api";
+import { isAdmin } from "@/utils/users";
export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
const user = await requestUser(req, res)
@@ -41,7 +42,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
return redirect("/")
const permissions = await getUserPermissions(user.id);
- const entities = await getEntitiesWithRoles(mapBy(user.entities, 'id')) || []
+ const entities = isAdmin(user) ? await getEntitiesWithRoles() : await getEntitiesWithRoles(mapBy(user.entities, 'id'))
return {
props: serialize({ user, permissions, entities }),