예제 #1
0
 def reject(self, request, pk = None):
     incident = self.get_object()
     incident.status = 'rejected'
     incident.save()
     self.push(request)
     create_syslog(name = "A Crisis Report <" + incident.name + "> Rejected", generator = request.user, request = request)
     self.queryset = Incident.objects.filter(id = pk)
     return viewsets.ModelViewSet.retrieve(self, request)
예제 #2
0
 def reject(self, request, inci_id, pk = None):
     dispatch = self.get_object()
     dispatch.delete()
     # self.push(request)
     from .notifiers import DispatchMgr
     DispatchMgr().notify(object=dispatch, message="reject")
     create_syslog(name = "A Dispatch for <" + dispatch.incident.name + "> Rejected and Deleted", generator = request.user, request = request)
     serializer = DispatchSerializer(dispatch)
     return Response(serializer.data)
예제 #3
0
 def reject(self, request, inci_id, pk = None):
     inci_update = self.get_object()
     inci_update.delete()
     # self.push(request)
     from .notifiers import InciUpdateMgr
     InciUpdateMgr().notify(inci_update, message="reject")
     create_syslog(name = "A Crisis Update for <" + inci_update.incident.name + "> Rejected and Deleted", generator = request.user, request = request)
     serializer = InciUpdateSerializer(inci_update)
     return Response(serializer.data)
예제 #4
0
 def approve(self, request, inci_id, pk = None):
     dispatch = self.get_object()
     dispatch.is_approved = True
     dispatch.save()
     # self.push(request)
     create_syslog(name = "A Crisis Update for <" + dispatch.incident.name + "> Approved", generator = request.user, request = request)
     from .notifiers import DispatchMgr
     DispatchMgr().notify(object=dispatch, message="approve")
     self.queryset = InciUpdate.objects.all().filter(id = pk)
     return Response("Message successfully sent to {} at {}".format(dispatch.agency.name, dispatch.agency.contact))#viewsets.ModelViewSet.retrieve(self, request)
예제 #5
0
 def approve(self, request, pk = None):
     incident = self.get_object()
     incident.status = 'approved'
     incident.save()
     # self.push(request)
     create_syslog(name = "A Crisis Report <" + incident.name + "> Approved", generator = request.user, request = request)
     self.queryset = Incident.objects.all().filter(id = pk)
     from .notifiers import IncidentMgr, DispatchMgr
     IncidentMgr().notify(incident,"approve")
     DispatchMgr().propose_dispatch(incident)
     return viewsets.ModelViewSet.retrieve(self, request)
예제 #6
0
 def create(self, request, *args, **kwargs):
     request.data['status'] = 'initiated'
     incident, created = Incident.objects.get_or_create(**(request.data))
     if created:
         create_syslog(name = "A Crisis Report<" + incident.name + "> Created", generator = request.user, request = request)
         from .notifiers import IncidentMgr
         IncidentMgr().notify(incident,message="create")
         #retrieve from database again to ensure data format are consistent
         incident = Incident.objects.get(id=incident.id)
         serializer = IncidentRetrieveSerializer(incident)
         return Response(serializer.data)
     else:
         return Response("incident creation failed")
예제 #7
0
    def create(self, request, *args, **kwargs):
        print request.data.__class__
        
        request.data['incident'] = kwargs['inci_id']
        request.data['is_approved'] = False
        self.serializer_class = InciUpdateWriteSerializer
        response = viewsets.ModelViewSet.create(self, request, *args, **kwargs)
        incident = Incident.objects.get(pk = kwargs['inci_id'])
        inci_update = InciUpdate.objects.get(pk = response.data['id'])

        from .notifiers import InciUpdateMgr
        InciUpdateMgr().notify(inci_update, "create")
        create_syslog(name = "A Crisis Update for <" + incident.name + "> Created", generator = request.user, request = request)
        serializer = InciUpdateSerializer(inci_update)
        return Response(serializer.data)
예제 #8
0
    def approve(self, request, inci_id, pk = None):
        inci_update = self.get_object()
        inci_update.is_approved = True
        
        incident = Incident.objects.get(pk = inci_id)
#         incident.severity = inci_update.updated_severity
#         incident.save()
#         publish_incident(request)
        inci_update.save()

        create_syslog(name = "A Crisis Update for <" + inci_update.incident.name + "> Approved", generator = request.user, request = request)
        create_syslog(name = "A Crisis <" + incident.name + "> Updated", generator = request.user, request = request)

        from .notifiers import InciUpdateMgr
        InciUpdateMgr().notify(object=inci_update, message="approve")

        self.queryset = InciUpdate.objects.all().filter(id = pk)
        return Response("Message successfully sent to {} at {}".format(inci_update.agency.name, inci_update.agency.contact))#viewsets.ModelViewSet.retrieve(self, request)