62 if reply: |
62 if reply: |
63 ## tell only the user who made him a DV |
63 ## tell only the user who made him a DV |
64 ## drop a welcome message to that fucker |
64 ## drop a welcome message to that fucker |
65 changeRole(role=request_obj.role, user=request_obj.replied_by) |
65 changeRole(role=request_obj.role, user=request_obj.replied_by) |
66 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
66 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
|
67 |
|
68 ## here we look for requests that are similar => requesting for DV and make them invalid |
|
69 ## also we drop a notification to user who made request |
|
70 pending_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False,role="DV") |
|
71 for req in pending_requests: |
|
72 req.is_valid = False |
|
73 req.save() |
|
74 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
|
75 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
|
76 requested_by = req.sent_by ) |
67 else: |
77 else: |
68 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
78 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
69 |
79 |
70 elif request_obj.role == "MG": |
80 elif request_obj.role == "MG": |
71 if reply: |
81 if reply: |
73 ## drop a welcome message to that fucker |
83 ## drop a welcome message to that fucker |
74 changeRole(role=request_obj.role, user=request_obj.replied_by) |
84 changeRole(role=request_obj.role, user=request_obj.replied_by) |
75 alerting_users = Profile.objects.filter(user__is_active=True).exclude(rights="CT").exclude(rights="DV") |
85 alerting_users = Profile.objects.filter(user__is_active=True).exclude(rights="CT").exclude(rights="DV") |
76 for a_profile in alerting_users: |
86 for a_profile in alerting_users: |
77 create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
87 create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
|
88 |
|
89 ## here we look for requests that less or similar => requesting for DV or MG and make them invalid |
|
90 ## also we drop a notification to user who made request |
|
91 active_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False) |
|
92 pending_requests = active_requests.filter(role="DV") | active_requests.filter(role="MG") |
|
93 for req in pending_requests: |
|
94 req.is_valid = False |
|
95 req.save() |
|
96 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
|
97 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
|
98 requested_by = req.sent_by ) |
78 else: |
99 else: |
79 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
100 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
80 |
101 |
81 elif request_obj.role == "AD": |
102 elif request_obj.role == "AD": |
82 if reply: |
103 if reply: |