diff --git a/openduty/incidents.py b/openduty/incidents.py index c3e9917..d12baad 100644 --- a/openduty/incidents.py +++ b/openduty/incidents.py @@ -13,7 +13,8 @@ from .serializers import IncidentSerializer from rest_framework import status from rest_framework.response import Response -from django.http import HttpResponseRedirect +from django.core import serializers +from django.http import HttpResponseRedirect, HttpResponse from django.contrib.auth.decorators import login_required from django.template.response import TemplateResponse from django.core.exceptions import ValidationError @@ -295,6 +296,13 @@ def silence(request, incident_id): except Service.DoesNotExist: raise Http404 +@require_http_methods(['GET']) +def active_incidents(request): + incidents = Incident.objects.filter(event_type=Incident.TRIGGER) + serialized_incidents = serializers.serialize("json", incidents) + return HttpResponse(serialized_incidents, + content_type="application/json") + @login_required() @require_http_methods(["POST"]) def unsilence(request, incident_id): @@ -317,4 +325,4 @@ def unsilence(request, incident_id): pass return HttpResponseRedirect(url) except Service.DoesNotExist: - raise Http404 \ No newline at end of file + raise Http404 diff --git a/openduty/urls.py b/openduty/urls.py index 23f1b0d..25da1f8 100644 --- a/openduty/urls.py +++ b/openduty/urls.py @@ -89,6 +89,7 @@ url(r'^dashboard/service/(.*)$', 'openduty.event_log.get'), #INCIDENTS + url(r'^incidents/active/$', 'openduty.incidents.active_incidents'), url(r'^incidents/details/(.*)$', 'openduty.incidents.details'), url(r'^incidents/update_type/$', 'openduty.incidents.update_type'), url(r'^incidents/forward_incident', 'openduty.incidents.forward_incident'),