Filtres sur rapport poste
[auf_rh_dae.git] / project / lib.py
1 # -*- encoding: utf-8 -*-
2
3 import datamaster_modeles.models as ref
4 import rh.models as rh
5
6 def get_employe_from_user(user):
7 """
8 Retourne un employé AUF (rh.Employe) à partir de son user Django.
9 """
10 try:
11 ref_employe = ref.Authentification.objects.get(courriel=user.email).id
12 employe = rh.Employe.objects.get(id=ref_employe.id)
13 ref_employe = ref.Employe.objects.get(id=employe.id)
14 employe.courriel = ref_employe.courriel
15 employe.tel_pro_poste = ref_employe.telephone_poste
16 employe.tel_pro_ip = ref_employe.telephone_ip
17 except:
18 #raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
19 employe = rh.Employe.objects.none()
20 return employe
21
22 def get_employe_from_id(id):
23 """
24 Retourne un employé AUF (rh.Employe) à partir de son id.
25 """
26 try:
27 employe = rh.Employe.objects.get(id=id)
28 employe.courriel = ref.Employe.objects.get(id=employe.id).courriel
29 except:
30 employe = rh.Employe.objects.none()
31 return employe
32
33 def safe_create_groupe(name=None, id=None):
34 """
35 Création d'un groupe prédéfini. Retourne None, quand la création
36 ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
37 n'a pas été créée encore).
38 """
39 try:
40 if name:
41 grp, created = Group.objects.get_or_create(name=name)
42 elif id :
43 grp, created = Group.objects.get_or_create(id=id)
44 except:
45 return None
46 return grp