Project

General

Profile

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

calebasse / calebasse / dossiers / lookups.py @ bb269b6a

1

    
2
from ajax_select import LookupChannel
3
from calebasse.dossiers.models import PatientRecord, PatientAddress
4
from django.core.exceptions import PermissionDenied
5

    
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
            service = request.COOKIES['home-service'].upper().replace('-', ' ')
14
            qs = qs.filter(service__name=service)
15
        return qs
16

    
17
    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
    def check_auth(self, request):
24
        if not request.user.is_authenticated():
25
            raise PermissionDenied
26

    
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

    
37
    def check_auth(self, request):
38
        if not request.user.is_authenticated():
39
            raise PermissionDenied
(4-4/9)