Added the statistical page as a permission based page
This commit is contained in:
@@ -53,6 +53,9 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
|
||||
|
||||
const entityIDS = mapBy(user.entities, "id") || [];
|
||||
const entities = await getEntitiesWithRoles(isAdmin(user) ? undefined : entityIDS);
|
||||
const allowedEntities = findAllowedEntities(user, entities, 'view_entity_statistics')
|
||||
|
||||
if (allowedEntities.length === 0) return redirect("/")
|
||||
|
||||
const studentsAllowedEntities = findAllowedEntities(user, entities, 'view_students')
|
||||
const students = await getEntitiesUsers(mapBy(studentsAllowedEntities, 'id'), { type: "student" })
|
||||
@@ -61,7 +64,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
|
||||
const sessions = await getSessionsByAssignments(mapBy(assignments, 'id'))
|
||||
const exams = await getExamsByIds(assignments.flatMap(a => a.exams))
|
||||
|
||||
return { props: serialize({ user, students, entities, assignments, sessions, exams }) };
|
||||
return { props: serialize({ user, students, entities: allowedEntities, assignments, sessions, exams }) };
|
||||
}, sessionOptions);
|
||||
|
||||
interface Item {
|
||||
|
||||
Reference in New Issue
Block a user