diff options
author | xando <sebastian.pawlus@gmail.com> | 2014-07-10 13:54:45 +0200 |
---|---|---|
committer | xando <sebastian.pawlus@gmail.com> | 2014-07-10 13:54:45 +0200 |
commit | 87d504ff8960e39b0d84ca1ee34dfc0e7cd1ba42 (patch) | |
tree | 7e8695a74dae3fc396db94491a78e77ed0099d11 | |
parent | e64a93a08a6748ad9296102748544d7145d98a48 (diff) |
moving serializers around
-rw-r--r-- | testmanager/testmanualrunner/views.py | 8 | ||||
-rw-r--r-- | testmanager/testreporter/views.py | 19 | ||||
-rw-r--r-- | testmanager/testrunner/serializers.py | 48 | ||||
-rw-r--r-- | testmanager/testrunner/views.py | 25 |
4 files changed, 61 insertions, 39 deletions
diff --git a/testmanager/testmanualrunner/views.py b/testmanager/testmanualrunner/views.py index 921ef86..d6d1230 100644 --- a/testmanager/testmanualrunner/views.py +++ b/testmanager/testmanualrunner/views.py @@ -6,16 +6,14 @@ from rest_framework import serializers from rest_framework.views import APIView from rest_framework.response import Response - from testmanager.testmanualrunner import models from testmanager.testrunner import models as testrunner_models -from testmanager.testrunner import views as testrunner_views - from testmanager.views import LoginRequiredMixin +from testmanager.testrunner.serializers import BugSerializer class TestRunResultSerializer(serializers.ModelSerializer): - bugs = testrunner_views.BugSerializer(many=True, read_only=True) + bugs = BugSerializer(many=True, read_only=True) class Meta: model = models.TestRunResult @@ -89,7 +87,7 @@ class TestRunResultBug(LoginRequiredMixin, APIView): action = request.DATA.pop('action') test_run_result = models.TestRunResult.objects.get(pk=pk) bug, _ = testrunner_models.Bug.objects.get_or_create(**request.DATA) - data = testrunner_views.BugSerializer(bug).data + data = BugSerializer(bug).data if action == "add": test_run_result.bugs.add(bug) diff --git a/testmanager/testreporter/views.py b/testmanager/testreporter/views.py index 5082100..10dba6f 100644 --- a/testmanager/testreporter/views.py +++ b/testmanager/testreporter/views.py @@ -16,21 +16,18 @@ # You should have received a copy of the GNU Affero General Public License # along with Testmanager. If not, see <http://www.gnu.org/licenses/>. -# Create your views here. from django.views.generic import TemplateView -from rest_framework import serializers from rest_framework.views import APIView from rest_framework.response import Response -from testmanager.testrunner.models import JenkinsBuild, LavaJob, LavaJobResult, Tag -from testmanager.testrunner import views as testrunner_views from testmanager.views import LoginRequiredMixin - - -class BuildSerializer(serializers.ModelSerializer): - class Meta: - model = JenkinsBuild +from testmanager.testrunner.models import ( + JenkinsBuild, LavaJob, LavaJobResult, Tag +) +from testmanager.testrunner.serializers import ( + BuildSerializer, TagSerializer, LavaJobSerializer +) class Base(LoginRequiredMixin, TemplateView): @@ -56,7 +53,7 @@ class Report_View(LoginRequiredMixin, APIView): return Response({ "builds": BuildSerializer(builds).data, - "tag": testrunner_views.TagSerializer(tag).data, - "lava_jobs": testrunner_views.LavaJobSerializer(lava_jobs).data, + "tag": TagSerializer(tag).data, + "lava_jobs": LavaJobSerializer(lava_jobs).data, "lava_results": automatic_tests_results }) diff --git a/testmanager/testrunner/serializers.py b/testmanager/testrunner/serializers.py new file mode 100644 index 0000000..f7877d6 --- /dev/null +++ b/testmanager/testrunner/serializers.py @@ -0,0 +1,48 @@ +# Copyright (C) 2014 Linaro Limited +# +# Author: Milosz Wasilewski <milosz.wasilewski@linaro.org> +# +# This file is part of Testmanager. +# +# Testmanager is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License version 3 +# as published by the Free Software Foundation +# +# Testmanager is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Testmanager. If not, see <http://www.gnu.org/licenses/>. + + +from rest_framework import serializers +from testmanager.testrunner import models + + +class BuildSerializer(serializers.ModelSerializer): + class Meta: + model = models.JenkinsBuild + + +class TagSerializer(serializers.ModelSerializer): + builds = serializers.PrimaryKeyRelatedField(many=True, read_only=True) + + class Meta: + model = models.Tag + + +class LavaJobSerializer(serializers.ModelSerializer): + class Meta: + model = models.LavaJob + + +class BugSerializer(serializers.ModelSerializer): + data = serializers.SerializerMethodField('get_data') + + class Meta: + model = models.Bug + + def get_data(self, obj): + return obj.get_bug() diff --git a/testmanager/testrunner/views.py b/testmanager/testrunner/views.py index 0d725d8..29363c2 100644 --- a/testmanager/testrunner/views.py +++ b/testmanager/testrunner/views.py @@ -35,6 +35,7 @@ from testmanager.testrunner.models import ( Bug ) from testmanager.testrunner.forms import ResultComparisonForm +from testmanager.testrunner.serializers import TagSerializer from testmanager.testmanualrunner.models import TestStatus from testmanager.views import LoginRequiredMixin @@ -122,33 +123,11 @@ def compare_results(request): return HttpResponseRedirect(request.META['HTTP_REFERER']) -from rest_framework import generics, serializers +from rest_framework import generics from rest_framework.views import APIView from rest_framework.response import Response -class TagSerializer(serializers.ModelSerializer): - builds = serializers.PrimaryKeyRelatedField(many=True, read_only=True) - - class Meta: - model = Tag - - -class BugSerializer(serializers.ModelSerializer): - data = serializers.SerializerMethodField('get_data') - - class Meta: - model = Bug - - def get_data(self, obj): - return obj.get_bug() - - -class LavaJobSerializer(serializers.ModelSerializer): - class Meta: - model = LavaJob - - class Tag_ListCreate_View(LoginRequiredMixin, generics.ListCreateAPIView): serializer_class = TagSerializer model = Tag |