Skip to content

feat(gradebook): restrict gradebook access to owners and managers#8466

Open
LWS49 wants to merge 1 commit into
lws49/feat-ext-assessments-pr4-importfrom
lws49/feat-ext-assessments-pr5-authz
Open

feat(gradebook): restrict gradebook access to owners and managers#8466
LWS49 wants to merge 1 commit into
lws49/feat-ext-assessments-pr4-importfrom
lws49/feat-ext-assessments-pr5-authz

Conversation

@LWS49

@LWS49 LWS49 commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Restricts gradebook access to course owners and managers and hardens the authorization specs. The gradebook ability now grants gradebook actions (view, manage, external CRUD, import, reorder) only to owner and manager roles, and the controller and ability specs assert both the allowed and forbidden roles.

Regression prevention

Covers: the gradebook ability for owner/manager versus other roles, and gradebook and external-assessments controller authorization (the ability spec plus the controller specs). No data or schema change.

@LWS49 LWS49 force-pushed the lws49/feat-ext-assessments-pr4-import branch from 2d5ebeb to 6f62578 Compare June 28, 2026 14:52
@LWS49 LWS49 force-pushed the lws49/feat-ext-assessments-pr5-authz branch from 910714d to 683bbda Compare June 28, 2026 14:53
… harden authz specs

Tighten :read_gradebook from staff? to manager_or_owner? so only owners
and managers can view the gradebook; teaching assistants, observers, and
students are denied. Update the ability and controller specs to assert
the new access matrix (owner/manager allowed, the rest denied).

The fine-grained :grade ability is intentionally not introduced: the
gradebook is coarse-gated to owners and managers, so per-action grade
authorization is redundant.
@LWS49 LWS49 force-pushed the lws49/feat-ext-assessments-pr4-import branch from 6f62578 to 245d005 Compare June 29, 2026 04:43
@LWS49 LWS49 force-pushed the lws49/feat-ext-assessments-pr5-authz branch from 683bbda to b53fd89 Compare June 29, 2026 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant