importer pour supersuser
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 2 Oct 2012 16:54:50 +0000 (12:54 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Tue, 2 Oct 2012 16:54:50 +0000 (12:54 -0400)
project/dae/templatetags/dae.py
project/dae/views.py
project/rh/test/common.py

index 3fbe768..7a9622c 100644 (file)
@@ -3,14 +3,16 @@
 import os
 
 from django import template
+# -*- coding: utf-8 -*-
 
-from project import groups 
+from project import groups
 
 from project.dae.workflow import ETATS_EDITABLE
 
 
 register = template.Library()
 
+
 @register.filter
 def test_membre_drh(user):
     grps = [g.name for g in user.groups.all()]
@@ -19,19 +21,18 @@ def test_membre_drh(user):
     else:
         return False
 
+
 @register.filter
 def peut_ajouter(user):
+    grp_ok = (groups.ADMINISTRATEURS,
+            groups.CORRESPONDANT_RH,
+            groups.DRH_NIVEAU_1,
+            groups.DRH_NIVEAU_2)
     for g in [g.name for g in user.groups.all()]:
-        if g in (groups.ADMINISTRATEURS,
-                groups.CORRESPONDANT_RH,
-                groups.DRH_NIVEAU_1,
-                groups.DRH_NIVEAU_2):
+        if g in grp_ok:
             return True
     return False
 
-@register.filter
-def peut_importer(user):
-    return groups.DRH_NIVEAU_1 in [g.name for g in user.groups.all()]
 
 @register.filter
 def est_editable(obj, user):
@@ -45,13 +46,18 @@ def est_editable(obj, user):
     else:
         return False
 
+
 @register.filter
 def basename(path):
     return os.path.basename(path)
 
+
 @register.inclusion_tag('dae/sort_header.html', takes_context=True)
 def sort_header(context, field, title):
-    """Génère une entête qu'on peut cliquer pour trier la colonne correspondante dans une table."""
+    """
+    Génère une entête qu'on peut cliquer pour trier
+    la colonne correspondante dans une table.
+    """
     qs = context['request'].GET.copy()
     current = qs.get('tri', None)
     if current == field:
@@ -65,6 +71,7 @@ def sort_header(context, field, title):
         qs['tri'] = field
     return {'title': title, 'qs': qs.urlencode(), 'cls': cls}
 
+
 @register.inclusion_tag('dae/pagination.html', takes_context=True)
 def pagination(context, page):
     """Génère la navigation permettant de se promener de page en page."""
@@ -73,4 +80,7 @@ def pagination(context, page):
     previous_qs['page'] = page.previous_page_number()
     next_qs = qs.copy()
     next_qs['page'] = page.next_page_number()
-    return {'page': page, 'previous_qs': previous_qs.urlencode(), 'next_qs': next_qs.urlencode()}
+    return {'page': page,
+            'previous_qs': previous_qs.urlencode(),
+            'next_qs': next_qs.urlencode()
+            }
index e71a8d2..8f593b8 100644 (file)
@@ -92,11 +92,12 @@ def poste_consulter(request, key):
         'poste': poste,
         'validationForm': validationForm,
         'comparaisons_internes': comparaisons_internes,
-        'importer': in_drh_or_admin(request.user)
+        'importer': request.user.is_superuser,
     })
 
 
 
+@user_passes_test(lambda u: u.is_superuser)
 @drh_or_admin_required
 def poste_importer(request, id):
     poste_dae = get_object_or_404(dae.Poste, id=id)
@@ -331,7 +332,7 @@ def embauche_consulter(request, dossier_id):
         'validationForm': validationForm,
         'comparaisons_internes': comparaisons_internes,
         'comparaisons': comparaisons,
-        'importer': in_drh_or_admin(request.user)
+        'importer': request.user.is_superuser,
     })
 
 @user_passes_test(lambda u: u.is_superuser)
index 3d79cc2..9b3bc1a 100644 (file)
@@ -266,6 +266,7 @@ class RhTest(TestCase):
             
             # on le porte dans le référentiel employé
             ref_e = ref.Employe(id=u.id,
+                    courriel=email,
                     nom=e.nom, prenom=e.prenom,
                     implantation=e.dossier_principal().poste.implantation,
                     implantation_physique=e.dossier_principal().poste.implantation,