diff options
author | nishanth | 2010-02-28 15:59:47 +0530 |
---|---|---|
committer | nishanth | 2010-02-28 15:59:47 +0530 |
commit | 11fecdb92d1bb571f8a40629c08a4ddeda7779d0 (patch) | |
tree | 44b4eedf2caf90486af89e9beb04086918e16151 /taskapp/events | |
parent | d8877baf7c620852935f52d6779a8598caf5ec0d (diff) | |
download | pytask-11fecdb92d1bb571f8a40629c08a4ddeda7779d0.tar.gz pytask-11fecdb92d1bb571f8a40629c08a4ddeda7779d0.tar.bz2 pytask-11fecdb92d1bb571f8a40629c08a4ddeda7779d0.zip |
now accepting to be a MG deleted pending DV and MG reqs.
Diffstat (limited to 'taskapp/events')
-rw-r--r-- | taskapp/events/request.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/taskapp/events/request.py b/taskapp/events/request.py index 2ad066b..747626a 100644 --- a/taskapp/events/request.py +++ b/taskapp/events/request.py @@ -64,6 +64,16 @@ def reply_to_request(request_obj, reply, replied_by): ## drop a welcome message to that fucker changeRole(role=request_obj.role, user=request_obj.replied_by) create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) + + ## here we look for requests that are similar => requesting for DV and make them invalid + ## also we drop a notification to user who made request + pending_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False,role="DV") + for req in pending_requests: + req.is_valid = False + req.save() + create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ + remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ + requested_by = req.sent_by ) else: create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) @@ -75,6 +85,17 @@ def reply_to_request(request_obj, reply, replied_by): alerting_users = Profile.objects.filter(user__is_active=True).exclude(rights="CT").exclude(rights="DV") for a_profile in alerting_users: create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) + + ## here we look for requests that less or similar => requesting for DV or MG and make them invalid + ## also we drop a notification to user who made request + active_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False) + pending_requests = active_requests.filter(role="DV") | active_requests.filter(role="MG") + for req in pending_requests: + req.is_valid = False + req.save() + create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ + remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ + requested_by = req.sent_by ) else: create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |