class Responsable(object):
q = ""
def get_query(self,q,request):
+ if len(q) < 4:
+ return rh.Poste.objects.none()
+
self.q = q
- return rh.Poste.objects.filter(
+ postes = rh.Poste.objects.filter(
Q(poste1__complement1__icontains=q) |
Q(type_poste__nom__icontains=q) |
Q(poste1__employe__nom__icontains=q) |
Q(poste1__employe__prenom__icontains=q)
).distinct()
+ return postes
def format_result(self, poste):
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)
+
+ # certains postes ont un id de type de poste qui n'existe pas
+ try:
+ nom_poste = poste.type_poste.nom
+ except:
+ nom_poste = ""
+
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 (%s) (%s)" % (poste.implantation.id, nom_poste, dossier.complement1, poste.id, dossier.employe)
else:
dossiers = poste.poste1.all().order_by("-id")
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)
+ return "[%s] %s %s (%s) (%s)" % (poste.implantation.id, nom_poste, complement1, poste.id, employe)
def format_item(self, poste):
""" the display of a currently selected object in the area below the search box. html is OK """