33 def get_request(rid, user): |
33 def get_request(rid, user): |
34 """ see if the request is replied or if he can not view the request, |
34 """ see if the request is replied or if he can not view the request, |
35 raise 404 error. else return request. |
35 raise 404 error. else return request. |
36 """ |
36 """ |
37 |
37 |
38 try: |
38 active_requests = user.request_sent_to.filter(is_valid=True, is_replied=False).order_by('creation_date') |
39 request_obj = Request.objects.get(id=rid) |
39 current_requests = active_requests.filter(id=rid) |
40 except Request.DoesNotExist: |
40 if current_requests: |
41 return None |
41 current_request = current_requests[0] |
42 |
42 |
43 if request_obj.is_replied == True: |
43 try: |
44 return None |
44 newer_request = current_request.get_next_by_creation_date(sent_to=user, is_replied=False, is_valid=True) |
|
45 newest_request = active_requests.reverse()[0] |
|
46 if newer_request == newest_request: |
|
47 newest_request = None |
|
48 except Request.DoesNotExist: |
|
49 newer_request, newest_request = None, None |
|
50 |
|
51 try: |
|
52 older_request = current_request.get_previous_by_creation_date(sent_to=user, is_replied=False, is_valid=True) |
|
53 oldest_request = active_requests[0] |
|
54 if oldest_request == older_request: |
|
55 oldest_request = None |
|
56 except Request.DoesNotExist: |
|
57 older_request, oldest_request = None, None |
|
58 |
|
59 return newest_request, newer_request, current_request, older_request, oldest_request |
|
60 |
45 else: |
61 else: |
46 try: |
62 return None, None, None, None, None |
47 request_obj.sent_to.get(id=user.id) |
|
48 except User.DoesNotExist: |
|
49 return None |
|
50 return request_obj |
|