Shouldn't Superuser automatically inherit Staff access in Open edX?

Hi community :waving_hand:

I’ve been working with Open edX permissions and noticed a surprising behavior: a user with Superuser status does not automatically get all Staff-level access in the LMS or Studio. This seems counterintuitive and confusing for users using it for the first time given what “superuser” typically implies.

This is because Open edX’s course role system is separate from Django’s permission system, is_superuser only bypasses Django-level checks, not LMS/CMS application-level role checks.

Proposal

Should Open edX be updated so that Superuser status automatically implies Staff access, at least for the LMS and Studio? This would mean a superuser gets all the access a global staff user has, without needing to manually stack both flags.

2 Likes

I agree, it can get a little confusing. The concepts of ‘staff’ and ‘superuser’ are actually django concepts. Unfortunately we’ve attached the notion of ‘course staff’ to the django ‘staff’ role which makes things a bit confusing. Given that any one who has superuser can always grant themselves staff, I wouldn’t be opposed to a small signal handler or something that would just grant all superusers the staff role as well.

1 Like