Project

General

Profile

Download (1.31 KB) Statistics
| Branch: | Tag: | Revision:

calebasse / calebasse / dossiers / lookups.py @ bb269b6a

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