You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Already in src/authz/constants.ts as COURSE_PERMISSIONS.VIEW_GRADING_SETTINGS / COURSE_PERMISSIONS.EDIT_GRADING_SETTINGS and in src/authz/permissionHelpers.ts as getGradingPermissions(courseId).
Already resolved in grading-settings/GradingSettings.jsx via useCourseUserPermissions as canViewGradingSettings and canEditGradingSettings; isEditable is already derived and threaded to all child components.
Role matrix:
Course Auditor (view ✅, edit ❌)
Course Editor (view ✅, edit ✅).
All inputs in every subsection (GradingScale, DeadlineSection, CreditSection, AssignmentSection) are already disabled={!isEditable} — no change needed there. The three missing pieces are: the view-only banner, hiding the "Add new assignment type" button (currently disabled, must be hidden), and hiding the per-assignment "Delete" button (currently disabled, must be hidden). No new constants or helpers needed.
UI location 1 — Grading page: view-only banner + hide "Add new assignment type" button for Course Auditor
viewOnlyAlert: {id: 'course-authoring.grading.alert.view-only',defaultMessage: 'You have view-only access to this page. Contact your organization admin to request editing permissions.',description: 'Alert shown to users who can view but cannot edit grading settings',},
generic/sub-header/SubHeader.tsx — add banner prop (rendered after {title} inside the <h2>):
grading-settings/GradingSettings.jsx — add Alert + Lock imports, pass banner via the new SubHeader prop, change Add button from disabled to conditionally rendered:
Activity
bra-i-am commentedon Jun 5, 2026
Refinement
https://www.figma.com/design/onU2END2OXaF7RRLWEHsZI/AuthZ---v2?node-id=9145-5793&t=OrmroEXprX0NyD7D-4
Permissions used:
courses.view_grading_settingscourses.edit_grading_settingsAlready in
src/authz/constants.tsasCOURSE_PERMISSIONS.VIEW_GRADING_SETTINGS/COURSE_PERMISSIONS.EDIT_GRADING_SETTINGSand insrc/authz/permissionHelpers.tsasgetGradingPermissions(courseId).Already resolved in
grading-settings/GradingSettings.jsxviauseCourseUserPermissionsascanViewGradingSettingsandcanEditGradingSettings;isEditableis already derived and threaded to all child components.Role matrix:
All inputs in every subsection (
GradingScale,DeadlineSection,CreditSection,AssignmentSection) are alreadydisabled={!isEditable}— no change needed there. The three missing pieces are: the view-only banner, hiding the "Add new assignment type" button (currentlydisabled, must be hidden), and hiding the per-assignment "Delete" button (currentlydisabled, must be hidden). No new constants or helpers needed.UI location 1 — Grading page: view-only banner + hide "Add new assignment type" button for Course Auditor
Files:
grading-settings/messages.ts→grading-settings/GradingSettings.jsxgrading-settings/messages.ts— add view-only alert message:generic/sub-header/SubHeader.tsx— addbannerprop (rendered after{title}inside the<h2>):grading-settings/GradingSettings.jsx— addAlert+Lockimports, pass banner via the newSubHeaderprop, change Add button from disabled to conditionally rendered:UI location 2 — Grading page: hide "Delete" button per assignment type for Course Auditor
File:
grading-settings/assignment-section/index.jsxgrading-settings/assignment-section/index.jsx— change Delete button from disabled to conditionally rendered:Testing implementation at https://github.com/eduNEXT/frontend-app-authoring/tree/bc/improve-grading-permissions
dcoa commentedon Aug 10, 2026
Most of the implementation has been done previously. I am going to open a same PR for those that have the View Only Alert including this one.