taskapp/views/user.py
changeset 122 daee11bdfbaa
parent 111 c272d4c601cd
child 123 a6b4234388c8
equal deleted inserted replaced
121:0c568378a4bc 122:daee11bdfbaa
     7 
     7 
     8 from pytask.taskapp.models import Task, Profile, Request
     8 from pytask.taskapp.models import Task, Profile, Request
     9 from pytask.taskapp.events.user import createUser, updateProfile
     9 from pytask.taskapp.events.user import createUser, updateProfile
    10 from pytask.taskapp.forms.user import UserProfileEditForm
    10 from pytask.taskapp.forms.user import UserProfileEditForm
    11 from pytask.taskapp.events.request import reply_to_request
    11 from pytask.taskapp.events.request import reply_to_request
       
    12 from pytask.taskapp.utilities.request import get_request
    12 
    13 
    13 def show_msg(user, message, redirect_url=None, url_desc=None):
    14 def show_msg(user, message, redirect_url=None, url_desc=None):
    14     """ simply redirect to homepage """
    15     """ simply redirect to homepage """
    15     
    16     
    16     return render_to_response('show_msg.html',{'user':user, 'message':message, 'redirect_url':redirect_url, 'url_desc':url_desc})
    17     return render_to_response('show_msg.html',{'user':user, 'message':message, 'redirect_url':redirect_url, 'url_desc':url_desc})
   102 
   103 
   103 @login_required
   104 @login_required
   104 def browse_requests(request):
   105 def browse_requests(request):
   105     
   106     
   106     user = request.user
   107     user = request.user
   107     active_reqs = user.request_sent_to.filter(is_replied=False)
   108     active_reqs = user.request_sent_to.filter(is_replied=False).exclude(is_valid=False)
   108     reqs = active_reqs.order_by('creation_date').reverse()
   109     reqs = active_reqs.order_by('creation_date').reverse()
   109     for pos, req in enumerate(reversed(reqs)):
   110 
   110         req.pos = pos
       
   111     context = {
   111     context = {
   112         'user':user,
   112         'user':user,
   113         'reqs':reqs,
   113         'reqs':reqs,
   114     }
   114     }
   115 
   115 
   120     """ please note that request variable in this method is that of django.
   120     """ please note that request variable in this method is that of django.
   121     our app request is called user_request.
   121     our app request is called user_request.
   122     """
   122     """
   123 
   123 
   124     user = request.user
   124     user = request.user
   125     reqs = user.request_sent_to.filter(is_replied=False).order_by('creation_date')
   125     user_request = get_request(rid, user)
   126     user_request = reqs[int(rid)]
   126     if not user_request:
       
   127         raise Http404
       
   128 
   127     user_request.is_read = True
   129     user_request.is_read = True
   128     user_request.save()
   130     user_request.save()
   129 
   131 
   130     context = {
   132     context = {
   131         'user':user,
   133         'user':user,
   140     """ check if the method is post and then update the request.
   142     """ check if the method is post and then update the request.
   141     if it is get, display a 404 error.
   143     if it is get, display a 404 error.
   142     """
   144     """
   143 
   145 
   144     user = request.user
   146     user = request.user
       
   147     browse_request_url= '/user/requests'
       
   148     req_obj = get_request(rid, user)
       
   149 
       
   150     if not req_obj:
       
   151         return show_msg(user, "Your reply has been processed", browse_request_url, "view other requests")
   145 
   152 
   146     if request.method=="POST":
   153     if request.method=="POST":
   147         browse_request_url= '/user/requests'
       
   148         reqs = user.request_sent_to.filter(is_replied=False).order_by('creation_date')
       
   149         req_obj = reqs[int(rid)]
       
   150         reply = True if reply == "yes" else False
   154         reply = True if reply == "yes" else False
   151         req_obj.remarks = request.POST.get('remarks', "")
   155         req_obj.remarks = request.POST.get('remarks', "")
   152         req_obj.save()
   156         req_obj.save()
   153 
   157 
   154         reply_to_request(req_obj, reply, user)
   158         reply_to_request(req_obj, reply, user)