1 |
4376fbf4
|
Jérôme Schneider
|
|
2 |
|
|
from ajax_select import LookupChannel
|
3 |
677c2c8d
|
Jérôme Schneider
|
from calebasse.dossiers.models import PatientRecord, PatientAddress
|
4 |
533ce0c8
|
Benjamin Dauvergne
|
from django.core.exceptions import PermissionDenied
|
5 |
4376fbf4
|
Jérôme Schneider
|
|
6 |
|
|
class PatientRecordLookup(LookupChannel):
|
7 |
|
|
model = PatientRecord
|
8 |
|
|
search_field = 'display_name'
|
9 |
|
|
|
10 |
|
|
def get_query(self,q,request):
|
11 |
|
|
qs = super(PatientRecordLookup, self).get_query(q, request)
|
12 |
|
|
if request.COOKIES.has_key('home-service'):
|
13 |
8f89c608
|
Jérôme Schneider
|
service = request.COOKIES['home-service'].upper().replace('-', ' ')
|
14 |
4376fbf4
|
Jérôme Schneider
|
qs = qs.filter(service__name=service)
|
15 |
|
|
return qs
|
16 |
|
|
|
17 |
cffbd8a2
|
Jérôme Schneider
|
def get_result(self,obj):
|
18 |
|
|
if obj.paper_id:
|
19 |
|
|
return obj.display_name + u' (' + obj.paper_id + u')'
|
20 |
|
|
else:
|
21 |
|
|
return obj.display_name
|
22 |
|
|
|
23 |
533ce0c8
|
Benjamin Dauvergne
|
def check_auth(self, request):
|
24 |
|
|
if not request.user.is_authenticated():
|
25 |
|
|
raise PermissionDenied
|
26 |
677c2c8d
|
Jérôme Schneider
|
|
27 |
|
|
class PatientAddressLookup(LookupChannel):
|
28 |
|
|
model = PatientAddress
|
29 |
|
|
search_field = 'display_name'
|
30 |
|
|
|
31 |
|
|
def get_query(self, q, request):
|
32 |
|
|
qs = super(PatientAddressLookup, self).get_query(q, request)
|
33 |
|
|
if request.session.has_key('patientrecord_id'):
|
34 |
|
|
qs = qs.filter(patientcontact__id=request.session['patientrecord_id'])
|
35 |
|
|
return qs
|
36 |
533ce0c8
|
Benjamin Dauvergne
|
|
37 |
|
|
def check_auth(self, request):
|
38 |
|
|
if not request.user.is_authenticated():
|
39 |
|
|
raise PermissionDenied
|