summaryrefslogtreecommitdiffstats
path: root/dashboard/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'dashboard/src/api')
-rw-r--r--dashboard/src/api/serializers.py9
-rw-r--r--dashboard/src/api/urls.py3
-rw-r--r--dashboard/src/api/views.py5
3 files changed, 14 insertions, 3 deletions
diff --git a/dashboard/src/api/serializers.py b/dashboard/src/api/serializers.py
index 4478175..c371a92 100644
--- a/dashboard/src/api/serializers.py
+++ b/dashboard/src/api/serializers.py
@@ -10,16 +10,18 @@
from rest_framework import serializers
+from notifier.models import Notifier
from booking.models import Booking
from dashboard.models import Server, Resource, ResourceStatus
class BookingSerializer(serializers.ModelSerializer):
installer_name = serializers.CharField(source='installer.name')
scenario_name = serializers.CharField(source='scenario.name')
+ opsys_name = serializers.CharField(source='opsys.name')
class Meta:
model = Booking
- fields = ('id', 'resource_id', 'start', 'end', 'installer_name', 'scenario_name', 'purpose')
+ fields = ('id', 'resource_id', 'start', 'end', 'opsys_name', 'installer_name', 'scenario_name', 'purpose')
class ServerSerializer(serializers.ModelSerializer):
@@ -37,3 +39,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):