tweak UI
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 9 Jan 2012 19:39:00 +0000 (14:39 -0500)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 9 Jan 2012 19:39:00 +0000 (14:39 -0500)
project/rh/templates/admin/rh/employe/apercu.html
project/rh/templates/rh/include/dossier.html
project/rh/views.py

index da3ccc2..e6f9540 100644 (file)
 
 {% include "rh/include/employe.html" %}
 
-{% if dernier_dossier != None %}
-    {% with dernier_dossier as dossier %}
+{% for dossier in dossiers %}
         {% include "rh/include/dossier.html" %}
-    {% endwith %}
-{% endif %}
+        <hr />
+{% endfor %}
 
 {% endblock %}
index 6a3a4ac..68d6e6c 100644 (file)
@@ -1,4 +1,7 @@
-<h2>Dossier</h2>
+<h2>Dossier {{ dossier }}</h2>
+
+<h3>Implantation</h3>
+{{ dossier.poste.implantation }}
 
 <h3>Durée et régime</h3>
 <table>
index 97c9fde..973f481 100644 (file)
@@ -1,6 +1,7 @@
 # -*- encoding: utf-8 -*-
 from datetime import date
 
+from django.db.models import Q
 from django.contrib.auth.decorators import login_required
 from django.utils.encoding import smart_str
 from django.shortcuts import redirect, render_to_response, get_object_or_404
@@ -197,7 +198,6 @@ def rapports_remuneration(request):
 def region_protected(model):
     def wrapper(func):
         def wrapped(request, id):
-            from django.db.models import Q
             from dae.utils import get_employe_from_user
             from dae.decorators import redirect_interdiction
             from dae.workflow import grp_drh, grp_correspondants_rh
@@ -226,27 +226,37 @@ def dossier_apercu(request, dossier_id):
     }
     return render_to_response('admin/rh/dossier/apercu.html', c, RequestContext(request))
 
-@region_protected(rh.Employe)
+@region_protected(rh.Poste)
+def poste_apercu(request, poste_id):
+    c = {
+        'is_popup' : request.GET.get('_popup', False),
+        'poste' : get_object_or_404(rh.Poste, pk=poste_id)
+
+    }
+    return render_to_response('admin/rh/poste/apercu.html', c, RequestContext(request))
+
 def employe_apercu(request, employe_id):
+    from dae.workflow import grp_drh, grp_correspondants_rh
     employe = get_object_or_404(rh.Employe, pk=employe_id)
-    try:
-        dernier_dossier = rh.Dossier.objects.filter(employe=employe).order_by('-date_debut')[0]
-    except:
-        dernier_dossier = None
-        
+    user_groups = request.user.groups.all()
+
+    dernier_dossier = None
+    dossiers = None
+
+    if request.user.is_superuser or \
+       grp_drh in user_groups:
+        q = Q(employe=employe)
+    if grp_correspondants_rh in user_groups:
+        regions = [d.poste.implantation.region for d in employe.dossiers.all()]
+        q = Q(employe=employe) & Q(implantation__region__in=regions)
+     
+    dossiers = rh.Dossier.objects.filter(employe=employe).order_by('-date_debut')
+      
     c = {
         'is_popup' : request.GET.get('_popup', False),
         'employe' : employe,
-        'dernier_dossier' : dernier_dossier,
+        'dossiers' : dossiers,
     }
     return render_to_response('admin/rh/employe/apercu.html', c, RequestContext(request))
 
 
-@region_protected(rh.Poste)
-def poste_apercu(request, poste_id):
-    c = {
-        'is_popup' : request.GET.get('_popup', False),
-        'poste' : get_object_or_404(rh.Poste, pk=poste_id)
-
-    }
-    return render_to_response('admin/rh/poste/apercu.html', c, RequestContext(request))