Repository navigation
Task - implement pages and resources #321
Description
Activity
Refinement
Permission used:
courses.manage_pages_and_resources
Already in
src/authz/constants.tsasCOURSE_PERMISSIONS.MANAGE_PAGES_AND_RESOURCESand insrc/authz/permissionHelpers.tsasgetPagesAndResourcesPermissions(courseId).Already fetched in
pages-and-resources/PagesAndResources.tsxascanManagePagesAndResources; already used to computeisEditableand thread it intoPagesAndResourcesContext.Role matrix:
- Course Auditor (manage ❌)
- Course Editor (manage ✅).
PageSettingButtonalready readsisEditablefrom context. When!isEditableit currently renders a disabled arrow button instead of hiding it; the gear icon also still renders. Pattern: context (isEditablealready resolved at the top — equivalent to prop pattern).
UI location 1 — Pages & Resources: hide settings icon in each card for Course Auditor
File:
pages-and-resources/pages/PageSettingButton.jsxpages-and-resources/pages/PageSettingButton.jsx— returnnullwhen!isEditable(replaces the disabled-button branch and hides the gear). Placed after all hook calls to satisfy Rules of Hooks:const canConfigureOrEnable = allowedOperations?.configure || allowedOperations?.enable; if (!isEditable) { return null; } if (determineLinkDestination) {
Testing implementation at https://github.com/eduNEXT/frontend-app-authoring/tree/bc/improve-pages-and-resources-permissions
Can view
Can manage

- assigned and unassigned,dcoa
on Aug 4, 2026 - moved this from Ready for Review to Done in RBAC AuthZ Board
on Aug 24, 2026
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Description
This task focuses exclusively on the views and components related to Pages & Resources within the Authoring MFE. The goal is to ensure that users with these roles interact only with the permitted elements by applying “read-only” states for Course Auditors and enabling full management actions for Course Editors, as defined by the permission matrix.
Permission Matrix
courses.view_pages_and_resourcescourses.manage_pages_and_resourcesApproved Design: Figma