Rapport: Premier jet
[auf_rh_dae.git] / project / rh / views.py
index d623ef6..2f05329 100644 (file)
@@ -52,3 +52,38 @@ def employe(request, id):
         'employe':employe,
         }
     return render_to_response('rh/employe.html', c, RequestContext(request))
+
+
+# Rapports
+
+@login_required
+def rapports_poste(request):
+
+    postes = rh.Poste.actifs.select_related('implantation').all()
+    poste_ids = set([p.pk for p in postes])
+
+    dossiers = rh.Dossier.objects.select_related('poste', 'employe').filter(poste__in=poste_ids)
+
+    employes = dict((d.poste.id, d.employe) for d in dossiers)
+
+    out = []
+
+    for p in postes:
+        line = {}
+        out.append(line)
+
+        line['id'] = p.id
+        line['nom'] = p.nom
+        line['implantation'] = p.implantation.nom
+        employe = employes.get(p.id)
+        if employe:
+            line['employe_id'] = employe.id
+            line['employe_nom'] = employe.nom
+            line['employe_prenom'] = employe.prenom
+
+    c = {
+        'title': 'Rapport des postes',
+        'postes': out,
+    }
+
+    return render_to_response('rh/rapports/postes.html', c, RequestContext(request))