taskapp/views/user.py
changeset 83 fd2e1bd7af82
parent 69 49532a0f5071
child 86 fcbdf372857c
equal deleted inserted replaced
80:8917b190c4c4 83:fd2e1bd7af82
     1 import os
     1 import os
       
     2 
     2 from django.http import HttpResponse, Http404
     3 from django.http import HttpResponse, Http404
     3 from django.shortcuts import redirect, render_to_response
     4 from django.shortcuts import redirect, render_to_response
     4 from pytask.taskapp.models import Task
       
     5 from pytask.taskapp.forms.user import UserProfileEditForm
       
     6 from pytask.taskapp.events.user import createUser, updateProfile
       
     7 from django.contrib.auth.models import User
     5 from django.contrib.auth.models import User
     8 from pytask.taskapp.models import Profile
       
     9 from django.contrib.auth.decorators import login_required
     6 from django.contrib.auth.decorators import login_required
    10 
     7 
       
     8 from pytask.taskapp.models import Task, Profile, Request
       
     9 from pytask.taskapp.events.user import createUser, updateProfile
       
    10 from pytask.taskapp.forms.user import UserProfileEditForm
    11 
    11 
    12 def show_msg(message, redirect_url=None, url_desc=None):
    12 def show_msg(message, redirect_url=None, url_desc=None):
    13     """ simply redirect to homepage """
    13     """ simply redirect to homepage """
    14     
    14     
    15     return render_to_response('show_msg.html',{'message':message, 'redirect_url':redirect_url, 'url_desc':url_desc})
    15     return render_to_response('show_msg.html',{'message':message, 'redirect_url':redirect_url, 'url_desc':url_desc})
    93     else:
    93     else:
    94         profile = Profile.objects.get(user = request.user)
    94         profile = Profile.objects.get(user = request.user)
    95         edit_profile_form = UserProfileEditForm(instance = profile)
    95         edit_profile_form = UserProfileEditForm(instance = profile)
    96         return render_to_response('user/edit_profile.html',{'edit_profile_form' : edit_profile_form, 'user':request.user})
    96         return render_to_response('user/edit_profile.html',{'edit_profile_form' : edit_profile_form, 'user':request.user})
    97 
    97 
       
    98 @login_required
       
    99 def browse_requests(request):
       
   100     
       
   101     user = request.user
       
   102     active_reqs = user.request_to.filter(replied=False)
       
   103     reqs = active_reqs.order_by('creation_date').reverse()
       
   104     for pos, req in enumerate(reversed(reqs)):
       
   105         req.pos = pos
       
   106     context = {
       
   107         'user':user,
       
   108         'reqs':reqs,
       
   109     }
       
   110 
       
   111     return render_to_response('user/browse_requests.html', context)
       
   112 
       
   113 @login_required
       
   114 def view_request(request, rid):
       
   115     """ please note that request variable in this method is that of django.
       
   116     our app request is called user_request.
       
   117     """
       
   118 
       
   119     user = request.user
       
   120     reqs = user.request_to.filter(replied=False).order_by('creation_date')
       
   121     user_request = reqs[int(rid)]
       
   122 
       
   123     context = {
       
   124         'user':user,
       
   125         'req':user_request,
       
   126         'sent_users':user_request.to.all()
       
   127     }
       
   128 
       
   129     return render_to_response('user/view_request.html', context)
       
   130 
       
   131 @login_required
       
   132 def process_request(request, rid, reply):
       
   133     """ check if the method is post and then update the request.
       
   134     if it is get, display a 404 error.
       
   135     """
       
   136 
       
   137     if request.method=="POST":
       
   138         user = request.user
       
   139         browse_request_url= '/user/requests'
       
   140         reqs = user.request_to.filter(replied=False).order_by('creation_date')
       
   141         user_request = reqs[int(rid)]
       
   142 
       
   143         return show_msg("Your reply has been processed", browse_request_url, "view other requests")
       
   144     else:
       
   145         return show_msg("You are not authorised to do this", browse_request_url, "view other requests")