taskapp/events/request.py
changeset 161 74ef330c9185
parent 153 925af1b4ee65
child 218 59107ce0a618
equal deleted inserted replaced
160:05157d35d66f 161:74ef330c9185
    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