Skip to content

feat: verify public access and collaborator access in BasicModelMixin

Vannier Samuel requested to merge 79-centralization-of-permissions-system into develop

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/or trans.
  • 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

Merge request reports