taskapp/events/request.py
changeset 145 0c97a02b9bdb
parent 143 796ff9e279a8
child 146 047473d49b25
equal deleted inserted replaced
144:581ad20b8c39 145:0c97a02b9bdb
    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: