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") |