55 ## tell the requested user that his request was rejected due to these reasons. |
55 ## tell the requested user that his request was rejected due to these reasons. |
56 create_notification(request_obj.role, requested_by, replied_by, False, task, request_obj.remarks, requested_by) |
56 create_notification(request_obj.role, requested_by, replied_by, False, task, request_obj.remarks, requested_by) |
57 |
57 |
58 elif request_obj.role == "DV": |
58 elif request_obj.role == "DV": |
59 if reply: |
59 if reply: |
60 ## tell only the user who made him a DV |
|
61 ## drop a welcome message to that fucker |
|
62 changeRole(role=request_obj.role, user=request_obj.replied_by) |
|
63 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
|
64 |
|
65 ## here we look for requests that are similar => requesting for DV and make them invalid |
60 ## here we look for requests that are similar => requesting for DV and make them invalid |
66 ## also we drop a notification to user who made request |
61 ## also we drop a notification to user who made request |
67 pending_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False,role="DV") |
62 pending_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False,role="DV") |
68 for req in pending_requests: |
63 for req in pending_requests: |
69 req.is_valid = False |
64 req.is_valid = False |
70 req.save() |
65 req.save() |
71 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
66 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
72 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
67 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
73 requested_by = req.sent_by ) |
68 requested_by = req.sent_by ) |
|
69 |
|
70 ## tell only the user who made him a DV |
|
71 ## drop a welcome message to that fucker |
|
72 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
|
73 create_notification("ND", request_obj.replied_by, requested_by=request_obj.sent_by) |
|
74 changeRole(role=request_obj.role, user=request_obj.replied_by) |
|
75 |
74 else: |
76 else: |
75 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
77 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
76 |
78 |
77 elif request_obj.role == "MG": |
79 elif request_obj.role == "MG": |
78 if reply: |
80 if reply: |
79 ## tell all the MG and AD |
81 ## tell all the MG and AD |
80 ## drop a welcome message to that fucker |
|
81 changeRole(role=request_obj.role, user=request_obj.replied_by) |
|
82 alerting_users = Profile.objects.filter(user__is_active=True).exclude(rights="CT").exclude(rights="DV") |
82 alerting_users = Profile.objects.filter(user__is_active=True).exclude(rights="CT").exclude(rights="DV") |
83 for a_profile in alerting_users: |
83 for a_profile in alerting_users: |
84 create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
84 create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
85 |
85 |
86 ## here we look for requests that less or similar => requesting for DV or MG and make them invalid |
86 ## here we look for requests that less or similar => requesting for DV or MG and make them invalid |
91 req.is_valid = False |
91 req.is_valid = False |
92 req.save() |
92 req.save() |
93 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
93 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
94 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
94 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
95 requested_by = req.sent_by ) |
95 requested_by = req.sent_by ) |
|
96 |
|
97 ## drop a welcome message to that fucker |
|
98 create_notification("NG", request_obj.replied_by, requested_by=request_obj.sent_by) |
|
99 changeRole(role=request_obj.role, user=request_obj.replied_by) |
|
100 |
96 else: |
101 else: |
97 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
102 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
98 |
103 |
99 elif request_obj.role == "AD": |
104 elif request_obj.role == "AD": |
100 if reply: |
105 if reply: |
101 ## tell all the AD |
|
102 ## drop a welcome message to that fucker |
|
103 changeRole(role=request_obj.role, user=request_obj.replied_by) |
|
104 alerting_users = Profile.objects.filter(user__is_active=True).filter(rights="AD") |
|
105 for a_profile in alerting_users: |
|
106 create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
|
107 |
106 |
108 ## here we look for requests that less or similar => requesting for DV or MG or AD and make them invalid |
107 ## here we look for requests that less or similar => requesting for DV or MG or AD and make them invalid |
109 ## also we drop a notification to user who made request |
108 ## also we drop a notification to user who made request |
110 active_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False) |
109 active_requests = request_obj.replied_by.request_sent_to.filter(is_valid=True,is_replied=False) |
111 pending_requests = active_requests.filter(role="DV") | active_requests.filter(role="MG") | active_requests.filter(role="AD") |
110 pending_requests = active_requests.filter(role="DV") | active_requests.filter(role="MG") | active_requests.filter(role="AD") |
113 req.is_valid = False |
112 req.is_valid = False |
114 req.save() |
113 req.save() |
115 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
114 create_notification(role = req.role, sent_to = req.sent_by, sent_from = replied_by, reply = False, \ |
116 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
115 remarks = "User has accepted a similar request and has rights same or higher privileged than the request", \ |
117 requested_by = req.sent_by ) |
116 requested_by = req.sent_by ) |
|
117 ## tell all the AD |
|
118 alerting_users = Profile.objects.filter(user__is_active=True).filter(rights="AD") |
|
119 for a_profile in alerting_users: |
|
120 create_notification(request_obj.role, a_profile.user, request_obj.replied_by, reply, requested_by=request_obj.sent_by) |
|
121 |
|
122 ## drop a welcome message to that fucker |
|
123 create_notification("NA", request_obj.replied_by, requested_by=request_obj.sent_by) |
|
124 changeRole(role=request_obj.role, user=request_obj.replied_by) |
|
125 |
118 else: |
126 else: |
119 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
127 create_notification(request_obj.role, request_obj.sent_by, request_obj.replied_by, reply, remarks=request_obj.remarks, requested_by=request_obj.sent_by) |
120 |
128 |
121 return True #Reply has been added successfully |
129 return True #Reply has been added successfully |
122 return False #Already replied |
130 return False #Already replied |