1 # -*- encoding: utf-8 -*-
3 from django
.contrib
.auth
.models
import Group
4 import auf
.django
.references
.models
as ref
6 def safe_create_groupe(name
):
8 Création d'un groupe prédéfini. Retourne None, quand la création
9 ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
10 n'a pas été crée encore).
13 grp
, created
= Group
.objects
.get_or_create(name
=name
)
18 CORRESPONDANT_RH
= 'Correspondants RH'
19 ADMINISTRATEURS
='Administrateurs'
20 DIRECTEUR_DE_BUREAU
= 'Directeurs de bureau'
22 DRH_NIVEAU_2
= 'DRH-2'
25 HAUTE_DIRECTION
= 'Haute direction'
26 SERVICE_UTILISATEURS
= 'Service utilisateurs'
28 # Groupes impliqués dans le Worflow
29 grp_correspondants_rh
= safe_create_groupe(name
=CORRESPONDANT_RH
)
30 grp_administrateurs
= safe_create_groupe(name
=ADMINISTRATEURS
)
31 grp_directeurs_bureau
= safe_create_groupe(name
=DIRECTEUR_DE_BUREAU
)
32 grp_drh
= safe_create_groupe(name
=DRH_NIVEAU_1
)
33 grp_drh2
= safe_create_groupe(name
=DRH_NIVEAU_2
)
34 grp_accior
= safe_create_groupe(name
=ACCIOR
)
35 grp_abf
= safe_create_groupe(name
=ABF
)
36 grp_haute_direction
= safe_create_groupe(name
=HAUTE_DIRECTION
)
37 grp_service_utilisateurs
= safe_create_groupe(name
=SERVICE_UTILISATEURS
)
39 def get_employe_from_user(user
):
41 Retourne un employé AUF à partir de son user Django.
44 employe
= ref
.Authentification
.objects
.get(courriel
=user
.email
).id
45 # ajouter coordonnées via ref.Employe? (courriel, tel, etc.)
47 raise Exception(u
"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user
.email
)
50 def is_user_dans_services_centraux(user
):
51 employe
= get_employe_from_user(user
)
52 if employe
.id == 2190: # rola saade gère les DAE des Amériques
54 return employe
.implantation_id
in (15, 19)
56 def is_user_dans_region(user
):
57 employe
= get_employe_from_user(user
)
58 return not is_user_dans_services_centraux(user
)