summaryrefslogtreecommitdiffstats
path: root/dashboard/src/api
diff options
context:
space:
mode:
authorSawyer Bergeron <sbergeron@iol.unh.edu>2017-12-15 14:35:40 -0500
committerSawyer Bergeron <sbergeron@iol.unh.edu>2018-01-02 22:29:22 +0000
commitaebb690bd07460a9f61db36e46d79d502e7fc247 (patch)
tree908774bba0d7d0297f512ce9cf5eef7c5f439e0b /dashboard/src/api
parentac0ae9e3069e582fcaeaff35f28a5b45343bae84 (diff)
Implement Notification Framework with Initial Email Support
JIRA: None Notification/notifier objects are now created with title, content, sender, associated resource, and recipient and there is now support for emails at the very least to be sent as notifications. Change-Id: I456cf0e901d9a1e2a1e7d187dcc03d28fca003fb Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
Diffstat (limited to 'dashboard/src/api')
-rw-r--r--dashboard/src/api/serializers.py6
-rw-r--r--dashboard/src/api/urls.py3
-rw-r--r--dashboard/src/api/views.py5
3 files changed, 12 insertions, 2 deletions
diff --git a/dashboard/src/api/serializers.py b/dashboard/src/api/serializers.py
index 4478175..dc79d9d 100644
--- a/dashboard/src/api/serializers.py
+++ b/dashboard/src/api/serializers.py
@@ -10,6 +10,7 @@
from rest_framework import serializers
+from notifier.models import Notifier
from booking.models import Booking
from dashboard.models import Server, Resource, ResourceStatus
@@ -37,3 +38,8 @@ class ResourceStatusSerializer(serializers.ModelSerializer):
class Meta:
model = ResourceStatus
fields = ('id', 'resource', 'timestamp','type', 'title', 'content')
+
+class NotifierSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Notifier
+ fields = ('id', 'title', 'content', 'user', 'sender', 'message_type', 'msg_sent')
diff --git a/dashboard/src/api/urls.py b/dashboard/src/api/urls.py
index a4a4b2f..71cd3ef 100644
--- a/dashboard/src/api/urls.py
+++ b/dashboard/src/api/urls.py
@@ -33,8 +33,9 @@ router.register(r'resources', ResourceViewSet)
router.register(r'servers', ServerViewSet)
router.register(r'bookings', BookingViewSet)
router.register(r'resource_status', ResourceStatusViewSet)
+router.register(r'notifier', NotifierViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^token$', GenerateTokenView.as_view(), name='generate_token'),
-] \ No newline at end of file
+]
diff --git a/dashboard/src/api/views.py b/dashboard/src/api/views.py
index 84fa1b5..c16d57d 100644
--- a/dashboard/src/api/views.py
+++ b/dashboard/src/api/views.py
@@ -8,7 +8,7 @@
##############################################################################
-from django.contrib.auth.decorators import login_required
+from django.contrib.auth.decorators import login_required, user_passes_test
from django.shortcuts import redirect
from django.utils.decorators import method_decorator
from django.views import View
@@ -41,6 +41,9 @@ class ResourceStatusViewSet(viewsets.ModelViewSet):
queryset = ResourceStatus.objects.all()
serializer_class = ResourceStatusSerializer
+class NotifierViewSet(viewsets.ModelViewSet):
+ queryset = Notifier.objects.none()
+ serializer_class = NotifierSerializer
@method_decorator(login_required, name='dispatch')
class GenerateTokenView(View):