1 # -*- encoding: utf-8 -*-
3 from django
.core
.exceptions
import ObjectDoesNotExist
5 CORRESPONDANT_RH
= 'Correspondants RH'
6 ADMINISTRATEURS
= 'Administrateurs'
7 DIRECTEUR_DE_BUREAU
= 'Directeurs de bureau'
13 HAUTE_DIRECTION
= 'Haute direction'
14 SERVICE_UTILISATEURS
= 'Service utilisateurs'
17 def get_zones_from_user(user
):
18 from auf
.django
.references
import models
as ref
20 profile
= user
.profile
21 except ObjectDoesNotExist
:
22 return ref
.ZoneAdministrative
.objects
.none()
24 return profile
.zones_administratives
.all()
27 def get_employe_from_user(user
):
29 Retourne un employé AUF à partir de son user Django.
31 import auf
.django
.references
.models
as ref
33 employe
= ref
.Employe
.objects
.get(courriel
=user
.email
)
34 except ObjectDoesNotExist
:
35 raise Exception(u
"L'employé avec le courriel %s n'a pas \
36 été trouvé dans le référentiel." % user
.email
)
40 def is_user_dans_services_centraux(user
):
41 # Set de codes de zones.
44 # Set de comparaison (services centraux Montreal et Paris)
45 central_zones
= set(['SCM', 'SCP'])
47 # Ajout de zones du profil, si existantes.
49 profile
= user
.profile
50 except ObjectDoesNotExist
:
54 x
[0] for x
in profile
.zones_administratives
55 .all().values_list('code')
58 return len(central_zones
.intersection(zones
)) > 0
61 def is_user_dans_region(user
):
62 return not is_user_dans_services_centraux(user
)