taskapp/events/request.py
changeset 146 047473d49b25
parent 145 0c97a02b9bdb
child 153 925af1b4ee65
--- a/taskapp/events/request.py	Sun Feb 28 15:59:47 2010 +0530
+++ b/taskapp/events/request.py	Sun Feb 28 16:09:42 2010 +0530
@@ -107,6 +107,17 @@
                 alerting_users = Profile.objects.filter(user__is_active=True).filter(rights="AD")
                 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 or AD 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") | active_requests.filter(role="AD")
+                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)