taskapp/views/user.py
changeset 138 c452c699a8af
parent 137 e56b95298254
child 141 2489392ffb56
equal deleted inserted replaced
137:e56b95298254 138:c452c699a8af
    69 @login_required
    69 @login_required
    70 def learn_more(request, what):
    70 def learn_more(request, what):
    71     """ depending on what was asked for, we render different pages.
    71     """ depending on what was asked for, we render different pages.
    72     """
    72     """
    73 
    73 
       
    74     user = get_user(request.user)
    74     disp_template = about.get(what, None)
    75     disp_template = about.get(what, None)
    75     if not disp_template:
    76     if not disp_template:
    76         raise Http404
    77         raise Http404
    77     else:
    78     else:
    78         return render_to_response(disp_template)
    79         return render_to_response(disp_template, {'user':user})
    79 
    80 
    80 @login_required
    81 @login_required
    81 def view_my_profile(request,uid=None):
    82 def view_my_profile(request,uid=None):
    82     """ allows the user to view the profiles of users """
    83     """ allows the user to view the profiles of users """
       
    84     user = get_user(request.user)
    83     if uid == None:
    85     if uid == None:
    84         edit_profile = True
    86         edit_profile = True
    85         profile = Profile.objects.get(user = request.user)
    87         profile = Profile.objects.get(user = request.user)
    86         return render_to_response('user/my_profile.html', {'edit_profile':edit_profile,'profile':profile, 'user':request.user})
    88         return render_to_response('user/my_profile.html', {'edit_profile':edit_profile,'profile':profile, 'user':user})
    87     edit_profile = True if request.user == User.objects.get(pk=uid) else False
    89     edit_profile = True if request.user == User.objects.get(pk=uid) else False
    88     try:
    90     try:
    89         profile = Profile.objects.get(user = User.objects.get(pk=uid))
    91         profile = Profile.objects.get(user = User.objects.get(pk=uid))
    90     except Profile.DoesNotExist:
    92     except Profile.DoesNotExist:
    91         raise Http404
    93         raise Http404
    92     return render_to_response('user/my_profile.html', {'edit_profile':edit_profile,'profile':profile, 'user':request.user})
    94     return render_to_response('user/my_profile.html', {'edit_profile':edit_profile,'profile':profile, 'user':user})
    93 
    95 
    94 @login_required
    96 @login_required
    95 def edit_my_profile(request):
    97 def edit_my_profile(request):
    96     """ enables the user to edit his/her user profile """
    98     """ enables the user to edit his/her user profile """
       
    99 
       
   100     user = get_user(request.user)
    97     if request.method == 'POST':
   101     if request.method == 'POST':
    98         form = UserProfileEditForm(request.POST)
   102         form = UserProfileEditForm(request.POST)
    99 #        if not form.is_valid():
   103 #        if not form.is_valid():
   100 #            edit_profile_form = UserProfileEditForm(instance = form)
   104 #            edit_profile_form = UserProfileEditForm(instance = form)
   101 #            return render_to_response('user/edit_profile.html',{'edit_profile_form' : edit_profile_form})
   105 #            return render_to_response('user/edit_profile.html',{'edit_profile_form' : edit_profile_form})
   120             updateProfile(profile,properties)
   124             updateProfile(profile,properties)
   121             return redirect('/user/view/uid='+str(profile.user_id))
   125             return redirect('/user/view/uid='+str(profile.user_id))
   122     else:
   126     else:
   123         profile = Profile.objects.get(user = request.user)
   127         profile = Profile.objects.get(user = request.user)
   124         edit_profile_form = UserProfileEditForm(instance = profile)
   128         edit_profile_form = UserProfileEditForm(instance = profile)
   125         return render_to_response('user/edit_profile.html',{'edit_profile_form' : edit_profile_form, 'user':request.user})
   129         return render_to_response('user/edit_profile.html',{'edit_profile_form' : edit_profile_form, 'user':user})
   126 
   130 
   127 @login_required
   131 @login_required
   128 def browse_requests(request):
   132 def browse_requests(request):
   129     
   133     
   130     user = request.user
   134     user = get_user(request.user)
   131     active_reqs = user.request_sent_to.filter(is_replied=False).exclude(is_valid=False)
   135     active_reqs = user.request_sent_to.filter(is_replied=False).exclude(is_valid=False)
   132     reqs = active_reqs.order_by('creation_date').reverse()
   136     reqs = active_reqs.order_by('creation_date').reverse()
   133 
   137 
   134     context = {
   138     context = {
   135         'user':user,
   139         'user':user,
   142 def view_request(request, rid):
   146 def view_request(request, rid):
   143     """ please note that request variable in this method is that of django.
   147     """ please note that request variable in this method is that of django.
   144     our app request is called user_request.
   148     our app request is called user_request.
   145     """
   149     """
   146 
   150 
   147     user = request.user
   151     user = get_user(request.user)
   148     newest, newer, user_request, older, oldest = get_request(rid, user)
   152     newest, newer, user_request, older, oldest = get_request(rid, user)
   149     if not user_request:
   153     if not user_request:
   150         raise Http404
   154         raise Http404
   151 
   155 
   152     user_request.is_read = True
   156     user_request.is_read = True
   168 def process_request(request, rid, reply):
   172 def process_request(request, rid, reply):
   169     """ check if the method is post and then update the request.
   173     """ check if the method is post and then update the request.
   170     if it is get, display a 404 error.
   174     if it is get, display a 404 error.
   171     """
   175     """
   172 
   176 
   173     user = request.user
   177     user = get_user(request.user)
   174     browse_request_url= '/user/requests'
   178     browse_request_url= '/user/requests'
   175     newest, newer, req_obj, older, oldest = get_request(rid, user)
   179     newest, newer, req_obj, older, oldest = get_request(rid, user)
   176 
   180 
   177     if not req_obj:
   181     if not req_obj:
   178         return show_msg(user, "Your reply has been processed", browse_request_url, "view other requests")
   182         return show_msg(user, "Your reply has been processed", browse_request_url, "view other requests")
   195 @login_required
   199 @login_required
   196 def browse_notifications(request):
   200 def browse_notifications(request):
   197     """ get the list of notifications that are not deleted and display in datetime order.
   201     """ get the list of notifications that are not deleted and display in datetime order.
   198     """
   202     """
   199 
   203 
   200     user = request.user
   204     user = get_user(request.user)
   201 
   205 
   202     active_notifications = user.notification_sent_to.filter(is_deleted=False).order_by('sent_date').reverse()
   206     active_notifications = user.notification_sent_to.filter(is_deleted=False).order_by('sent_date').reverse()
   203 
   207 
   204     context = {
   208     context = {
   205         'user':user,
   209         'user':user,
   212 def view_notification(request, nid):
   216 def view_notification(request, nid):
   213     """ get the notification depending on nid.
   217     """ get the notification depending on nid.
   214     Display it.
   218     Display it.
   215     """
   219     """
   216 
   220 
   217     user = request.user
   221     user = get_user(request.user)
   218     newest, newer, notification, older, oldest = get_notification(nid, user)
   222     newest, newer, notification, older, oldest = get_notification(nid, user)
   219     if not notification:
   223     if not notification:
   220         raise Http404
   224         raise Http404
   221 
   225 
   222     notification.is_read = True
   226     notification.is_read = True
   238     """ if action is delete, set is_deleted.
   242     """ if action is delete, set is_deleted.
   239     if it is unread, unset is_read.
   243     if it is unread, unset is_read.
   240     save the notification and redirect to browse_notifications.
   244     save the notification and redirect to browse_notifications.
   241     """
   245     """
   242 
   246 
   243     user = request.user
   247     user = get_user(request.user)
   244     newest, newer, notification, older, oldest = get_notification(nid, user)
   248     newest, newer, notification, older, oldest = get_notification(nid, user)
   245 
   249 
   246     if not notification:
   250     if not notification:
   247         raise Http404
   251         raise Http404
   248 
   252