ScoDoc/app/scodoc/sco_roles_default.py

104 lines
3.0 KiB
Python
Raw Normal View History

2021-05-29 18:22:51 +02:00
# -*- mode: python -*-
# -*- coding: utf-8 -*-
"""Definition of ScoDoc default roles
"""
from app.scodoc.sco_permissions import Permission as p
2021-05-29 18:22:51 +02:00
SCO_ROLES_DEFAULTS = {
"Ens": (
p.AbsAddBillet,
p.AbsChange,
p.EnsView,
p.EtudAddAnnotations,
p.Observateur,
p.ScoView,
p.ViewEtudData,
p.UsersView,
),
"Secr": (
p.AbsAddBillet,
p.AbsChange,
p.EditApogee,
p.EtudAddAnnotations,
p.EtudChangeAdr,
p.Observateur,
p.ScoView,
p.UsersView,
p.ViewEtudData,
2021-05-29 18:22:51 +02:00
),
# Admin est le chef du département, pas le "super admin"
# on doit donc lister toutes ses permissions:
2021-05-29 18:22:51 +02:00
"Admin": (
p.AbsAddBillet,
p.AbsChange,
p.EditFormation,
p.EditPreferences,
p.EditAllEvals,
p.EditAllNotes,
p.EditApogee,
p.EditFormationTags,
p.EnsView,
p.EtudAddAnnotations,
p.EtudChangeAdr,
p.EtudChangeGroups,
p.EtudInscrit,
p.EditFormSemestre,
p.Observateur,
p.ScoView,
p.UsersAdmin,
p.UsersView,
p.ViewEtudData,
2021-05-29 18:22:51 +02:00
),
# LecteurAPI peut utiliser l'API en lecture
"LecteurAPI": (p.ScoView,),
"Observateur": (p.Observateur,),
# RespPE est le responsable poursuites d'études
# il peut ajouter des tags sur les formations:
# (doit avoir un rôle Ens en plus !)
"RespPe": (p.EditFormationTags,),
# Super Admin est un root: création/suppression de départements
# _tous_ les droits
# Afin d'avoir tous les droits, il ne doit pas être asscoié à un département
"SuperAdmin": p.ALL_PERMISSIONS,
}
# Rôles pour l'application relations entreprises
# séparés pour pouvoir les réinitialiser lors de l'activation du module Entreprises
# Note: Admin (chef de dept n'a par défaut aucun rôle lié à ce module)
SCO_ROLES_ENTREPRISES_DEFAULT = {
# ObservateurEntreprise est un observateur de l'application entreprise
"ObservateurEntreprise": (p.RelationsEntrepView,),
# UtilisateurEntreprise est un utilisateur de l'application entreprise (droit de modification)
"UtilisateurEntreprise": (
p.RelationsEntrepView,
p.RelationsEntrepEdit,
p.RelationsEntrepViewCorrs,
),
# AdminEntreprise est un admin de l'application entreprise
# (toutes les actions possibles de l'application)
"AdminEntreprise": (
p.RelationsEntrepView,
p.RelationsEntrepEdit,
p.RelationsEntrepExport,
p.RelationsEntrepSend,
p.RelationsEntrepValidate,
p.RelationsEntrepViewCorrs,
),
}
SCO_ROLES_DEFAULTS.update(SCO_ROLES_ENTREPRISES_DEFAULT)
# Les rôles accessibles via la page d'admin utilisateurs
# - associés à un département:
ROLES_ATTRIBUABLES_DEPT = ("Ens", "Secr", "Admin", "RespPe")
# - globaux: (ne peuvent être attribués que par un SuperAdmin)
ROLES_ATTRIBUABLES_SCODOC = (
"ObservateurEntreprise",
"UtilisateurEntreprise",
"AdminEntreprise",
2022-04-27 09:31:03 +02:00
"LecteurAPI",
)