taskapp/utilities/request.py
changeset 133 34187a80d279
parent 132 ca88bf4ad362
equal deleted inserted replaced
132:ca88bf4ad362 133:34187a80d279
    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