Revision 61861b9b
Added by Jérôme Schneider about 12 years ago
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
dossiers: improve ajaxlookup PatientRecord