fix responsable ajax, le poste qui match, on retrouve le dossier de la personne si...
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 22 Aug 2011 19:04:05 +0000 (15:04 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 22 Aug 2011 19:04:05 +0000 (15:04 -0400)
project/dae/catalogues.py

index 48a7a22..82621d0 100644 (file)
@@ -6,8 +6,9 @@ from utils import get_employe_from_user, is_user_dans_services_centraux
 from workflow import grp_drh
 
 class Responsable(object):
-
+    q = ""
     def get_query(self,q,request):
+        self.q = q
         return rh.Poste.objects.filter(
             Q(poste1__complement1__icontains=q) |
             Q(type_poste__nom__icontains=q) |
@@ -16,13 +17,13 @@ class Responsable(object):
             ).distinct()
 
     def format_result(self, poste):
-        dossiers = poste.poste1.all().order_by("-id")
-        complement1 = ""
-        employe = ""
-        if len(dossiers) > 0:
-            complement1 = dossiers[0].complement1
-            employe = unicode(dossiers[0].employe)
-        return "[%s] %s %s (%s) (%s)" % (poste.implantation.id, poste.type_poste.nom, complement1, poste.id, employe)
+        q = self.q
+        filtre = Q(poste1=poste) & (Q(complement1__icontains=q) | Q(employe__nom__icontains=q) | Q(employe__prenom__icontains=q))
+        dossiers = rh.Dossier.objects.filter(filtre)
+        if len(dossiers) == 1:
+            dossier = dossiers[0]
+            return "[%s] %s %s (%s) (%s)" % (poste.implantation.id, poste.type_poste.nom, dossier.complement1, poste.id, dossier.employe)
+        return "[%s] %s %s" % (poste.implantation.id, poste.type_poste.nom, poste.id)
 
     def format_item(self, poste):
         """ the display of a currently selected object in the area below the search box. html is OK """