From a88783f90b16536b2629de7e5ab54ab92fe5e15e Mon Sep 17 00:00:00 2001 From: Jean-Philippe Caissy Date: Wed, 14 Mar 2012 10:08:37 -0500 Subject: [PATCH] =?utf8?q?Organigramme:=20afficher=20toutes=20les=20employ=C3?= =?utf8?q?=A9s=20qui=20occupent=20un=20m=C3=AAme=20poste?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/rh/graph.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/project/rh/graph.py b/project/rh/graph.py index 2337aa2..3bd52c6 100644 --- a/project/rh/graph.py +++ b/project/rh/graph.py @@ -10,17 +10,22 @@ from rh import models as rh def bind_poste_to_graph(graph, postes_by_id): for n in graph.nodes(): - try: - d = rh.Dossier.objects.select_related('employe').filter( - (Q(date_fin__gt=date.today()) | Q(date_fin=None)) & - (Q(date_debut__lt=date.today()) | Q(date_debut=None)) & - Q(poste__id=n) - ).exclude(supprime=True).all()[0] - - label = u"%s\\n[%s] %s\\n%s" % (d.poste.nom, d.employe_id, "%s %s" % - (d.employe.nom.upper(), d.employe.prenom), - d.poste.implantation) - except IndexError: + dossiers = rh.Dossier.objects.select_related('employe').filter( + (Q(date_fin__gt=date.today()) | Q(date_fin=None)) & + (Q(date_debut__lt=date.today()) | Q(date_debut=None)) & + Q(poste__id=n) + ).exclude(supprime=True).all() + + + if dossiers: + employes = "\\n".join( + ["[%s] %s %s" % + (d.employe_id, d.employe.nom.upper(), + d.employe.prenom + ) for d in dossiers] + ) + label = u"%s\\n%s\\n%s" % (d.poste.nom, employes, d.poste.implantation) + else: label = u"%s\\n---\\n%s" % (d.poste.nom, d.poste.implantation) n.attr['fillcolor'] = 'azure4' n.attr['style'] = 'filled' -- 1.7.10.4