Permissions

Principes

Les permissions de l’application Érudit sont définies via l’utilisation de django-rules. Une permission est ainsi définie par un ensemble de prédicats. Chaque prédicat effectue une vérification simple telle que :

  • vérifier que l’utilisateur soit un super-utilisateur
  • vérifier qu’il soit le propriétaire d’une revue
  • ...

Certaines permissions peuvent nécessiter la vérification d’une autorisation. Est-ce que l’utilisateur a bien l’autorisation d’ajouter un nouveau numéro ? Est-ce que l’utilisateur a l’autorisation d’attribuer lui-même des autorisations à d’autres utilisateurs ? Ces autorisations sont définies par les instances du modèle core.authorization.models.Authorization.

Ainsi certaines permissions, telle que définies par l’utilisation de django-rules, sont basées sur la vérification d’un prédicat impliquant de s’assurer que l’utilisateur en question a bien l’autorisation de réaliser telle ou telle action.

Définition des autorisations

class core.authorization.defaults.AuthorizationConfig

Defines the authorizations that can be given to users in the Érudit application.

can_consult_royalty_reports = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to consult the royalty reports.

can_edit_journal_information = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to update journal information.

can_manage_authorizations = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to add or delete authorizations to specific users.

can_manage_individual_subscription = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to handle the individual subscriptions to journals.

can_manage_issuesubmission = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to handle issue submissions.

can_manage_organisation_members = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to manage the members of an organisation.

can_manage_organisation_subscription_information = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to manage the information of an organisation subscription.

can_manage_organisation_subscription_ips = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to handle the IPs of an organisation subscriptions to journals.

can_review_issuesubmission = <core.authorization.defaults.AuthorizationDef object>

This authorization defines the ability to review issue submissions.