From b6f61c6be174c0429e96bb94dccd63c62668241f Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Mon, 2 Dec 2024 17:12:23 +0000 Subject: [PATCH] More permissions --- src/pages/entities/[id]/roles/[role].tsx | 2 +- src/pages/statistical.tsx | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/entities/[id]/roles/[role].tsx b/src/pages/entities/[id]/roles/[role].tsx index a7a9328d..64f656bb 100644 --- a/src/pages/entities/[id]/roles/[role].tsx +++ b/src/pages/entities/[id]/roles/[role].tsx @@ -68,7 +68,6 @@ const EXAM_MANAGEMENT: PermissionLayout[] = [ { label: "Generate Level", key: "generate_level" }, { label: "Delete Level", key: "delete_level" }, { label: "View Statistics", key: "view_statistics" }, - { label: "Download Statistics Report", key: "download_statistics_report" } ] const CLASSROOM_MANAGEMENT: PermissionLayout[] = [ @@ -93,6 +92,7 @@ const ENTITY_MANAGEMENT: PermissionLayout[] = [ { label: "Edit Role Permissions", key: "edit_role_permissions" }, { label: "Assign Role to User", key: "assign_to_role" }, { label: "Delete Entity Role", key: "delete_entity_role" }, + { label: "Download Statistics Report", key: "download_statistics_report" } ] const ASSIGNMENT_MANAGEMENT: PermissionLayout[] = [ diff --git a/src/pages/statistical.tsx b/src/pages/statistical.tsx index 9eabf91a..b674e11c 100644 --- a/src/pages/statistical.tsx +++ b/src/pages/statistical.tsx @@ -3,6 +3,7 @@ import Layout from "@/components/High/Layout"; import Table from "@/components/High/Table"; import Checkbox from "@/components/Low/Checkbox"; import Separator from "@/components/Low/Separator"; +import { useAllowedEntities } from "@/hooks/useEntityPermissions"; import { Session } from "@/hooks/useSessions"; import { Entity, EntityWithRoles } from "@/interfaces/entity"; import { Exam } from "@/interfaces/exam"; @@ -84,6 +85,8 @@ export default function Statistical({ user, students, entities, assignments, ses const [selectedEntities, setSelectedEntities] = useState([]) const [isDownloading, setIsDownloading] = useState(false) + const entitiesAllowDownload = useAllowedEntities(user, entities, 'download_statistics_report') + const resetDateRange = () => { const orderedAssignments = orderBy(assignments, ['startDate'], ['asc']) setStartDate(moment(orderedAssignments.shift()?.startDate || "2024-01-01T00:00:01.986Z").toDate()) @@ -297,7 +300,7 @@ export default function Statistical({ user, students, entities, assignments, ses data={sortedData} searchFields={[["student", "name"], ["student", "email"], ["student", "studentID"], ["exams", "id"], ["assignment", "name"]]} searchPlaceholder="Search by student, assignment or exam..." - onDownload={downloadExcel} + onDownload={entitiesAllowDownload.length > 0 ? downloadExcel : undefined} isDownloadLoading={isDownloading} /> )}