feat: verify public access and collaborator access in BasicModelMixin
Description
This merge request regroups permissions verification from _get_user_perms
in Course
, Activity
and Resource
into the BasicModelMixin
.
The permission to view the Course/Activity/Resource
, if they are public, is now in BasicModelMixin
.
The collaborator permissions check of the Course/Activity/Resource
is now in BasicModelMixin
.
This improves the code readability.
Migration and compatibility
-
The merge request DOES NOT update the models. If it does, database migrations are needed after merging, add the label Database migrations -
The merge request DOES NOT break the compatibility.
TODO
Before being accepted, any merge request must fulfill the following requirements:
-
Check PEP8 writing style as described in CONTRIBUTING.md. -
Ensure existing tests are still working properly. -
Features have been tested. -
Every translatable strings are written in proper english. -
Every translatable strings are tagged for translation using gettext
,blocktrans
and/ortrans
. -
Ensure that there is no side effect in files: changes are only related to one, and only one feature. -
Ensure that no file has been removed by accident. -
API is documented, as well as the behavior, if needed, in docs
. -
Ensure the commit history is “clean enough” (this means no extra merge commits, etc). -
Ensure pipeline
succeeds.
git checkout <feature_branch> # Switch to the feature branch
git fetch --all --prune # Download new commits
git reset --hard <remote>/<feature_branch> # Override your local worktree with the one from remote branch
Impacted Areas in Application
It affects the permissions system.
Edited by Vannier Samuel