Last modified 5 years ago
Permissions
Which permissioncode does a user need on a specific object (or objects this object inherits it's permissions from) to have a specific permission.
| Action | Object | Check |
| wiki | ||
| Add a wiki page | wiki | .user_can_create_page() |
| Moderate a wiki page | wiki.Page | .has_perm('wiki.moderate_page') |
| Revert a wiki page | wiki.Page | .has_perm('wiki.revert_page') |
| Change a wiki page | wiki.Page | .has_perm('wiki.change_page') |
| Delete a wiki page | wiki.Page | .has_perm('wiki.delete_page') |
| Reply to a wiki page | wiki.Page | .allow_comments |
| Reply to a wiki page reply | wiki.Page | .has_perm('wiki.moderate_page') |
| course | ||
| Add a realm | Site | .has_perm('course.add_realm') |
| Add a course | course.Realm | .has_perm('course.add_course') |
| Add course edition | course.Course | .has_perm('course.add_courseedition') |
| Add a cluster | course.CourseEdition | .has_perm('course.add_cluster') |
| Add a cluster member | course.CourseEdition | .is_joinable |
Users always get the permissions specified on their User object as a global permission.
Permission inheritance
These objects implement the "Permission Inheritance Interface" and implement the functions get_permissions(), has_perm() and has_access(). The inheritance defined by these functions is:
| Object | Permission inherited from | Access inherited from |
| wiki | ||
| wiki.Page | <the parent> or a wiki.Page with the same path prefix | Depends on wiki.Page settings |
| course | ||
| course.Realm | Direct membership | |
| course.Course 1) | course.Realm | course.CourseEdition |
| course.CourseEdition | course.Course | course.Cluster |
| course.Cluster | course.CurseEdition + own permission relation | course.ClusterMember |
| course.ClusterMember | course.Cluster | Direct membership |
1) Users can see courses in their realm that are available for joining as specified in the CourseEdition. On joining, a course.Clustermember object is created allowing the user normal access to the course.

