From ac39df69191f452200318d2a0779b59c3b6ea229 Mon Sep 17 00:00:00 2001 From: narayanangourav-sutara Date: Thu, 16 Jul 2026 15:17:11 +0530 Subject: [PATCH] fix: Add Subjects to School button is missing for OPS user in Teacher mode --- src/teachers-module/pages/SubjectSelection.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/teachers-module/pages/SubjectSelection.tsx b/src/teachers-module/pages/SubjectSelection.tsx index 30c347b240..c9fcc6334b 100644 --- a/src/teachers-module/pages/SubjectSelection.tsx +++ b/src/teachers-module/pages/SubjectSelection.tsx @@ -28,6 +28,13 @@ interface CurriculumWithCourses { courses: TableTypes<'course'>[]; } +const SUBJECT_MODIFICATION_ROLES = [ + RoleType.SUPER_ADMIN, + RoleType.OPERATIONAL_DIRECTOR, + RoleType.PROGRAM_MANAGER, + RoleType.FIELD_COORDINATOR, +]; + const SubjectSelection: React.FC = () => { const [curriculumsWithCourses, setCurriculumsWithCourses] = useState< CurriculumWithCourses[] @@ -118,8 +125,14 @@ const SubjectSelection: React.FC = () => { !currentSchool?.id || !selectedSchoolId || currentSchool.id === selectedSchoolId; - setCanModify(schoolMatches && normalizedRole === RoleType.PRINCIPAL); - }, [currentSchool?.id, paramSchoolId, roleMap]); + const hasSubjectModificationRole = SUBJECT_MODIFICATION_ROLES.some((role) => + roles.includes(role), + ); + setCanModify( + schoolMatches && + (normalizedRole === RoleType.PRINCIPAL || hasSubjectModificationRole), + ); + }, [currentSchool?.id, paramSchoolId, roleMap, roles]); const fetchCurriculumsAndCourses = async ( context: 'school' | 'class',