Project

General

Profile

« Previous | Next » 

Revision 61861b9b

Added by Jérôme Schneider about 12 years ago

dossiers: improve ajaxlookup PatientRecord

View differences:

calebasse/dossiers/lookups.py
1
# -*- coding: utf-8 -*-
1 2

  
2 3
from ajax_select import LookupChannel
3 4
from calebasse.dossiers.models import PatientRecord, PatientAddress
......
6 7
class PatientRecordLookup(LookupChannel):
7 8
    model = PatientRecord
8 9
    search_field = 'display_name'
10
    homonym = False
9 11

  
10 12
    def get_query(self,q,request):
11 13
        qs = super(PatientRecordLookup, self).get_query(q, request)
12 14
        if request.COOKIES.has_key('home-service'):
13 15
            service = request.COOKIES['home-service'].upper().replace('-', ' ')
14 16
            qs = qs.filter(service__name=service)
17
        #nb = qs.count()
18
        #nb_distinct = qs.distinct('display_name').count()
19
        #if nb != nb_distinct:
20
        #    self.homonym = True
21
        qs.prefetch_related('last_state__status')
15 22
        return qs
16 23

  
17
    def get_result(self,obj):
24
    def format_match(self,obj):
25
        texte = obj.display_name
18 26
        if obj.paper_id:
19
            return obj.display_name + u' (' + obj.paper_id + u')'
20
        else:
21
            return obj.display_name
27
            texte += u' (N° : ' + obj.paper_id + u')'
28
        if obj.last_state:
29
            texte += u' (Statut : %s)' % obj.last_state.status.name
30
        return self.format_item_display(texte)
22 31

  
23 32
    def check_auth(self, request):
24 33
        if not request.user.is_authenticated():

Also available in: Unified diff