# -*- mode: python -*-
# -*- coding: utf-8 -*-

"""Definition of ScoDoc default roles
"""

from app.scodoc.sco_permissions import Permission as p

SCO_ROLES_DEFAULTS = {
    "Observateur": (p.ScoObservateur,),
    "Ens": (
        p.ScoObservateur,
        p.ScoView,
        p.ScoEnsView,
        p.ScoUsersView,
        p.ScoEtudAddAnnotations,
        p.ScoAbsChange,
        p.ScoAbsAddBillet,
        p.ScoEntrepriseView,
    ),
    "Secr": (
        p.ScoObservateur,
        p.ScoView,
        p.ScoUsersView,
        p.ScoEtudAddAnnotations,
        p.ScoAbsChange,
        p.ScoAbsAddBillet,
        p.ScoEntrepriseView,
        p.ScoEntrepriseChange,
        p.ScoEtudChangeAdr,
    ),
    # Admin est le chef du département, pas le "super admin"
    # on doit donc lister toutes ses permissions:
    "Admin": (
        p.ScoObservateur,
        p.ScoView,
        p.ScoEnsView,
        p.ScoUsersView,
        p.ScoEtudAddAnnotations,
        p.ScoAbsChange,
        p.ScoAbsAddBillet,
        p.ScoEntrepriseView,
        p.ScoEntrepriseChange,
        p.ScoEtudChangeAdr,
        p.ScoChangeFormation,
        p.ScoEditFormationTags,
        p.ScoEditAllNotes,
        p.ScoEditAllEvals,
        p.ScoImplement,
        p.ScoEtudChangeGroups,
        p.ScoEtudInscrit,
        p.ScoUsersAdmin,
        p.ScoChangePreferences,
    ),
    # 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.ScoEditFormationTags,),
    # 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,
}
