Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: create Course Limited Staff role [BB-7503] #32570

Conversation

0x29a
Copy link
Contributor

@0x29a 0x29a commented Jun 26, 2023

Description

image

  • Makes it possible to inherit permissions of some of the built-in roles.
  • Adds a new course team role, which has the same permissions as Course Staff, but no Studio access.

This should be considered as a temporary workaround. Ideally, we should wait for “Fine grained RBAC” to be implemented (see this roadmap item) and build new roles using the refactored systems. See this document as well for additional context.

Testing instructions

  1. Switch your devstack to open-craft:0x29a/bb7503/disable-instructor-access-to-studio.
  2. Register two users, [email protected] and [email protected].
  3. As a Django staff user, assign [email protected] to Staff course team role using the Instructor Dashboard.
  4. As a Django staff user, assign [email protected] to Limited Staff course team role using the Instructor Dashboard.
  5. As [email protected], ensure that you can access Studio.
  6. As [email protected], ensure that you have the same permissions as [email protected] (like accessing the Instructor Dashboard, etc), but don't have access to Studio.

private-ref

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Jun 26, 2023
@openedx-webhooks
Copy link

Thanks for the pull request, @0x29a! Please note that it may take us up to several weeks or months to complete a review and merge your PR.

Feel free to add as much of the following information to the ticket as you can:

  • supporting documentation
  • Open edX discussion forum threads
  • timeline information ("this must be merged by XX date", and why that is)
  • partner information ("this is a course on edx.org")
  • any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.

Please let us know once your PR is ready for our review and all tests are green.

@0x29a 0x29a force-pushed the 0x29a/bb7503/disable-instructor-access-to-studio branch from db3071a to 9365ce5 Compare June 26, 2023 14:08
Copy link
Member

@Agrendalath Agrendalath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0x29a, I see you're reusing the commit from my PoC. Don't forget to add yourself as an author!

common/djangoapps/student/roles.py Outdated Show resolved Hide resolved
common/djangoapps/student/roles.py Outdated Show resolved Hide resolved
lms/djangoapps/instructor/access.py Show resolved Hide resolved
@Agrendalath
Copy link
Member

@mphilbrick211, are we going to need the product review for this?

@mphilbrick211
Copy link

@mphilbrick211, are we going to need the product review for this?

Checking with @jmakowski1123 on this. Thanks, @Agrendalath!

@0x29a 0x29a force-pushed the 0x29a/bb7503/disable-instructor-access-to-studio branch 2 times, most recently from bc5d270 to 252c88e Compare June 27, 2023 10:31
This is an experimental approach to introduce a role which has all Course Staff
permissions, except for the Studio access.

Co-authored-by: 0x29a <[email protected]>
@0x29a 0x29a force-pushed the 0x29a/bb7503/disable-instructor-access-to-studio branch from 252c88e to 3ccfe7c Compare June 27, 2023 12:44
Copy link
Member

@Agrendalath Agrendalath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

  • I tested this: tested that the "Limited Staff" role provides access to the Instructor Dashboard, but not to the Studio.
  • I read through the code
  • I checked for accessibility issues: n/a
  • Includes documentation: n/a
  • I made sure any change in configuration variables is reflected in the corresponding client's configuration-secure repository: n/a

@Agrendalath
Copy link
Member

@mphilbrick211, @jmakowski1123, a friendly reminder about this PR. This is ready to be merged from our end.

@cablaa77
Copy link

approved

@Agrendalath Agrendalath merged commit e746986 into openedx:master Jul 21, 2023
@Agrendalath Agrendalath deleted the 0x29a/bb7503/disable-instructor-access-to-studio branch July 21, 2023 13:09
@openedx-webhooks
Copy link

@0x29a 🎉 Your pull request was merged! Please take a moment to answer a two question survey so we can improve your experience in the future.

@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX staging environment in preparation for a release to production.

@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

1 similar comment
@edx-pipeline-bot
Copy link
Contributor

2U Release Notice: This PR has been deployed to the edX production environment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
open-source-contribution PR author is not from Axim or 2U
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

6 participants