forked from ScoDoc/ScoDoc
Ajout rôles et permissions pour Entreprises
This commit is contained in:
parent
411533ae79
commit
0e02baccb0
@ -37,6 +37,16 @@ _SCO_PERMISSIONS = (
|
|||||||
(1 << 21, "ScoEditPVJury", "Éditer les PV de jury"),
|
(1 << 21, "ScoEditPVJury", "Éditer les PV de jury"),
|
||||||
# ajouter maquettes Apogee (=> chef dept et secr):
|
# ajouter maquettes Apogee (=> chef dept et secr):
|
||||||
(1 << 22, "ScoEditApo", "Ajouter des maquettes Apogées"),
|
(1 << 22, "ScoEditApo", "Ajouter des maquettes Apogées"),
|
||||||
|
# Application relations entreprises
|
||||||
|
(1 << 23, "RelationsEntreprisesView", "Voir l'application relations entreprises"),
|
||||||
|
(1 << 24, "RelationsEntreprisesChange", "Modifier les entreprises"),
|
||||||
|
(
|
||||||
|
1 << 25,
|
||||||
|
"RelationsEntreprisesExport",
|
||||||
|
"Exporter les données de l'application relations entreprises",
|
||||||
|
),
|
||||||
|
(1 << 25, "RelationsEntreprisesSend", "Envoyer des offres"),
|
||||||
|
(1 << 26, "RelationsEntreprisesValidate", "Valide les entreprises"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,8 +58,31 @@ SCO_ROLES_DEFAULTS = {
|
|||||||
# il peut ajouter des tags sur les formations:
|
# il peut ajouter des tags sur les formations:
|
||||||
# (doit avoir un rôle Ens en plus !)
|
# (doit avoir un rôle Ens en plus !)
|
||||||
"RespPe": (p.ScoEditFormationTags,),
|
"RespPe": (p.ScoEditFormationTags,),
|
||||||
|
# Rôles pour l'application relations entreprises
|
||||||
|
# ObservateurEntreprise est un observateur de l'application entreprise
|
||||||
|
"ObservateurEntreprise": (p.RelationsEntreprisesView,),
|
||||||
|
# UtilisateurEntreprise est un utilisateur de l'application entreprise (droit de modification)
|
||||||
|
"UtilisateurEntreprise": (p.RelationsEntreprisesView, p.RelationsEntreprisesChange),
|
||||||
|
# AdminEntreprise est un admin de l'application entreprise (toutes les actions possibles de l'application)
|
||||||
|
"AdminEntreprise": (
|
||||||
|
p.RelationsEntreprisesView,
|
||||||
|
p.RelationsEntreprisesChange,
|
||||||
|
p.RelationsEntreprisesExport,
|
||||||
|
p.RelationsEntreprisesSend,
|
||||||
|
p.RelationsEntreprisesValidate,
|
||||||
|
),
|
||||||
# Super Admin est un root: création/suppression de départements
|
# Super Admin est un root: création/suppression de départements
|
||||||
# _tous_ les droits
|
# _tous_ les droits
|
||||||
# Afin d'avoir tous les droits, il ne doit pas être asscoié à un département
|
# Afin d'avoir tous les droits, il ne doit pas être asscoié à un département
|
||||||
"SuperAdmin": p.ALL_PERMISSIONS,
|
"SuperAdmin": p.ALL_PERMISSIONS,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 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",
|
||||||
|
)
|
||||||
|
@ -62,7 +62,7 @@ from app.decorators import (
|
|||||||
permission_required,
|
permission_required,
|
||||||
)
|
)
|
||||||
|
|
||||||
from app.scodoc import html_sco_header, sco_import_users, sco_excel
|
from app.scodoc import html_sco_header, sco_import_users, sco_excel, sco_roles_default
|
||||||
from app.scodoc import sco_users
|
from app.scodoc import sco_users
|
||||||
from app.scodoc import sco_utils as scu
|
from app.scodoc import sco_utils as scu
|
||||||
from app.scodoc import sco_xml
|
from app.scodoc import sco_xml
|
||||||
@ -150,9 +150,10 @@ def user_info(user_name, format="json"):
|
|||||||
@permission_required(Permission.ScoUsersAdmin)
|
@permission_required(Permission.ScoUsersAdmin)
|
||||||
@scodoc7func
|
@scodoc7func
|
||||||
def create_user_form(user_name=None, edit=0, all_roles=1):
|
def create_user_form(user_name=None, edit=0, all_roles=1):
|
||||||
"form. création ou edition utilisateur"
|
"form. création ou édition utilisateur"
|
||||||
if user_name is not None: # scodoc7func converti en int !
|
if user_name is not None: # scodoc7func converti en int !
|
||||||
user_name = str(user_name)
|
user_name = str(user_name)
|
||||||
|
Role.insert_roles() # assure la mise à jour des rôles en base
|
||||||
auth_dept = current_user.dept
|
auth_dept = current_user.dept
|
||||||
from_mail = current_app.config["SCODOC_MAIL_FROM"] # current_user.email
|
from_mail = current_app.config["SCODOC_MAIL_FROM"] # current_user.email
|
||||||
initvalues = {}
|
initvalues = {}
|
||||||
@ -191,7 +192,7 @@ def create_user_form(user_name=None, edit=0, all_roles=1):
|
|||||||
else:
|
else:
|
||||||
# Les rôles standards créés à l'initialisation de ScoDoc:
|
# Les rôles standards créés à l'initialisation de ScoDoc:
|
||||||
standard_roles = [
|
standard_roles = [
|
||||||
Role.get_named_role(r) for r in ("Ens", "Secr", "Admin", "RespPe")
|
Role.get_named_role(r) for r in sco_roles_default.ROLES_ATTRIBUABLES_DEPT
|
||||||
]
|
]
|
||||||
# Départements auxquels ont peut associer des rôles via ce dialogue:
|
# Départements auxquels ont peut associer des rôles via ce dialogue:
|
||||||
# si SuperAdmin, tous les rôles standards dans tous les départements
|
# si SuperAdmin, tous les rôles standards dans tous les départements
|
||||||
@ -215,6 +216,11 @@ def create_user_form(user_name=None, edit=0, all_roles=1):
|
|||||||
editable_roles_set = {
|
editable_roles_set = {
|
||||||
(r, dept) for r in standard_roles for dept in administrable_dept_acronyms
|
(r, dept) for r in standard_roles for dept in administrable_dept_acronyms
|
||||||
}
|
}
|
||||||
|
if current_user.is_administrator():
|
||||||
|
editable_roles_set |= {
|
||||||
|
(Role.get_named_role(r), "")
|
||||||
|
for r in sco_roles_default.ROLES_ATTRIBUABLES_SCODOC
|
||||||
|
}
|
||||||
#
|
#
|
||||||
if not edit:
|
if not edit:
|
||||||
submitlabel = "Créer utilisateur"
|
submitlabel = "Créer utilisateur"
|
||||||
|
Loading…
Reference in New Issue
Block a user