python2.5
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 13 Feb 2012 21:03:33 +0000 (16:03 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 13 Feb 2012 21:03:33 +0000 (16:03 -0500)
buildout.cfg
project/lib.py [new file with mode: 0644]

index d68b28a..a261ed8 100644 (file)
@@ -42,7 +42,7 @@ auf.django.permissions = 0.1
 auf.django.references = 0.4
 auf.django.skin = 0.17dev
 auf.django.workflow = 0.14dev
-auf.django.emploi = 0.6dev
+auf.django.emploi = 0.7dev
 auf.recipe.django = 0.20dev
 django-reversion = 1.3.3
 django-ajax-selects = 1.1.4
diff --git a/project/lib.py b/project/lib.py
new file mode 100644 (file)
index 0000000..a1a5481
--- /dev/null
@@ -0,0 +1,48 @@
+# -*- encoding: utf-8 -*-
+
+import datamaster_modeles.models as ref
+import rh.models as rh
+from operator import itemgetter
+
+def get_employe_from_user(user):
+    """
+    Retourne un employé AUF (rh.Employe) à partir de son user Django. 
+    """
+    try:
+        ref_employe = ref.Authentification.objects.get(courriel=user.email).id
+        employe = rh.Employe.objects.get(id=ref_employe.id)
+        ref_employe = ref.Employe.objects.get(id=employe.id)
+        employe.courriel = ref_employe.courriel
+        employe.tel_pro_poste = ref_employe.telephone_poste
+        employe.tel_pro_ip = ref_employe.telephone_ip
+    except:
+        #raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
+        employe = rh.Employe.objects.none()
+    return employe
+
+def get_employe_from_id(id):
+    """
+    Retourne un employé AUF (rh.Employe) à partir de son id. 
+    """
+    try:
+        employe = rh.Employe.objects.get(id=id)
+        employe.courriel = ref.Employe.objects.get(id=employe.id).courriel
+    except:
+        employe = rh.Employe.objects.none()
+    return employe
+    
+def safe_create_groupe(name=None, id=None):
+    """
+    Création d'un groupe prédéfini. Retourne None, quand la création
+    ne peut se faire. (C'est le cas au syncdb, quand la table de groupe
+    n'a pas été créée encore).
+    """
+    try:
+        if name:
+            grp, created = Group.objects.get_or_create(name=name)
+        elif id :
+            grp, created = Group.objects.get_or_create(id=id)
+    except:
+        return None
+    return grp
+