# HG changeset patch # User nishanth # Date 1267348450 -19800 # Node ID 796ff9e279a8011ea0522dee902e7f6d1e14bb5b # Parent bd65e2c9a7b45e828683e70b56dc1d4c486108e1 now if a user accepts to be a mentor, all his pending reqs will be made invalid. diff -r bd65e2c9a7b4 -r 796ff9e279a8 taskapp/events/request.py --- a/taskapp/events/request.py Sun Feb 28 13:27:43 2010 +0530 +++ b/taskapp/events/request.py Sun Feb 28 14:44:10 2010 +0530 @@ -39,6 +39,14 @@ ## tell the replied user that he is mentor for this task and give him learn more link create_notification("NT", request_obj.replied_by, task=task) + ## now check if there are such similar requests and mark them as invalid + ## they cannot be of type PY and so we can use the replied_by to get requests + pending_requests = replied_by.request_sent_to.filter(is_valid=True, is_replied=False, role="MT",task=task) + for req in pending_requests: + create_notification("MT", req.sent_by, replied_by, False, task=req.task, remarks = "User has already accepted one such request and is a mentor.", requested_by = req.sent_by) + req.is_valid = False + req.save() + ## alert all the mentors including who made request and all assigned users for a_mentor in task.mentors.all(): create_notification(request_obj.role, a_mentor, replied_by, True, task, request_obj.remarks, requested_by) diff -r bd65e2c9a7b4 -r 796ff9e279a8 taskapp/utilities/user.py --- a/taskapp/utilities/user.py Sun Feb 28 13:27:43 2010 +0530 +++ b/taskapp/utilities/user.py Sun Feb 28 14:44:10 2010 +0530 @@ -6,8 +6,8 @@ """ get the no of unread requests and notifications and add them as properties for user. """ - unread_notifications = user.notification_sent_to.filter(is_read=False,is_deleted=False).count - unread_requests = user.request_sent_to.filter(is_valid=True,is_replied=False).count + unread_notifications = user.notification_sent_to.filter(is_read=False,is_deleted=False) + unread_requests = user.request_sent_to.filter(is_valid=True,is_replied=False) user.unread_notifications = unread_notifications user.unread_requests = unread_requests diff -r bd65e2c9a7b4 -r 796ff9e279a8 taskapp/views/user.py --- a/taskapp/views/user.py Sun Feb 28 13:27:43 2010 +0530 +++ b/taskapp/views/user.py Sun Feb 28 14:44:10 2010 +0530 @@ -13,7 +13,7 @@ from pytask.taskapp.forms.user import UserProfileEditForm, UserChoiceForm from pytask.taskapp.utilities.request import get_request, create_request -from pytask.taskapp.utilities.notification import get_notification +from pytask.taskapp.utilities.notification import get_notification, create_notification from pytask.taskapp.utilities.user import get_user about = { @@ -51,16 +51,12 @@ user_profile = user.get_profile() is_mentor = True if user.task_mentors.all() else False can_create_task = False if user_profile.rights == u"CT" else True - notifications = user.notification_sent_to.filter(is_deleted=False,is_read=False) - requests = user.request_sent_to.filter(is_replied=False) context = {'user':user, 'is_guest':is_guest, 'is_mentor':is_mentor, 'task_list':task_list, 'can_create_task':can_create_task, - 'notifications':notifications, - 'requests':requests, } context["unpublished_tasks"] = user.task_mentors.filter(status="UP") @@ -150,6 +146,7 @@ """ user = get_user(request.user) + user_rights = user.get_profile().rights newest, newer, user_request, older, oldest = get_request(rid, user) if not user_request: raise Http404 @@ -167,6 +164,15 @@ 'oldest':oldest, } + ## see if user has already accepted such request and is a high previleged user + ## made_invalid = if ( user_request.role == "DV" and user_rights in ["DV", "MG", "AD"] ) or \ + ## ( user_request.role == "MG" and user_rights in ["MG", "AD"] ) or \ + ## ( user_request.role == "AD" and user_rights == "AD" ) or \ + ## ( user_request.role == "MT" and user.task_mentors.filter(task=request.task) else False + + ## create_notification(user_request.role, user_request.sent_by, user, False, remarks = "User has accepted a similar request and is same or higher privileged than the request", requested_by = user_request.sent_by ) +##def create_notification(role, sent_to, sent_from=None, reply=None, task=None, remarks=None, requested_by=None, receiving_user=None, pynts=None): + return render_to_response('user/view_request.html', context) @login_required @@ -189,10 +195,6 @@ reply_to_request(req_obj, reply, user) - if older: - return redirect('/user/requests/rid=%s'%older.id) - else: - return redirect(browse_request_url) return show_msg(user, "Your reply has been processed", browse_request_url, "view other requests") else: return show_msg(user, "You are not authorised to do this", browse_request_url, "view other requests") diff -r bd65e2c9a7b4 -r 796ff9e279a8 templates/base.html --- a/templates/base.html Sun Feb 28 13:27:43 2010 +0530 +++ b/templates/base.html Sun Feb 28 14:44:10 2010 +0530 @@ -132,15 +132,15 @@ {% if user.is_authenticated %}
  • tasks
  • - {% if user.unread_notifications %} - notifications({{user.unread_notifications}}) + {% if user.unread_notifications.count %} + notifications({{user.unread_notifications.count}}) {% else %} notifications {% endif %}
  • - {% if user.unread_requests %} - requests({{user.unread_requests}}) + {% if user.unread_requests.count %} + requests({{user.unread_requests.count}}) {% else %} requests {% endif %} diff -r bd65e2c9a7b4 -r 796ff9e279a8 templates/index.html --- a/templates/index.html Sun Feb 28 13:27:43 2010 +0530 +++ b/templates/index.html Sun Feb 28 14:44:10 2010 +0530 @@ -12,18 +12,18 @@ Logged in as {{ user.username }}
    {% endif %} - {% if notifications.count %} - You have {{ notifications.count }}
    unread - {% ifnotequal notifications.count 1 %} + {% if user.unread_notifications.count %} + You have {{ user.unread_notifications.count }} unread + {% ifnotequal user.unread_notifications.count 1 %} notifications {% else %} notification {% endifnotequal %}
    {% endif %} - {% if requests.count %} - You have {{ requests.count }} unreplied - {% ifnotequal requests.count 1 %} + {% if user.unread_requests.count %} + You have {{ user.unread_requests.count }} unreplied + {% ifnotequal user.unread_requests.count 1 %} requests {% else %} request