Task #360 - Include neighbors in tasks response

remotes/origin/enhancement/email-actions
Anler Hp 2014-07-23 14:42:44 +02:00
parent d2de2d44a4
commit 62ddce18e7
2 changed files with 16 additions and 2 deletions

View File

@ -42,7 +42,8 @@ from . import services
class TaskViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin, ModelCrudViewSet): class TaskViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin, ModelCrudViewSet):
model = models.Task model = models.Task
serializer_class = serializers.TaskSerializer serializer_class = serializers.TaskNeighborsSerializer
list_serializer_class = serializers.TaskSerializer
permission_classes = (IsAuthenticated, permissions.TaskPermission) permission_classes = (IsAuthenticated, permissions.TaskPermission)
filter_backends = (filters.IsProjectMemberFilterBackend,) filter_backends = (filters.IsProjectMemberFilterBackend,)
filter_fields = ["user_story", "milestone", "project"] filter_fields = ["user_story", "milestone", "project"]

View File

@ -16,7 +16,7 @@
from rest_framework import serializers from rest_framework import serializers
from taiga.base.serializers import PickleField from taiga.base.serializers import PickleField, NeighborsSerializerMixin
from taiga.mdrender.service import render as mdrender from taiga.mdrender.service import render as mdrender
from . import models from . import models
@ -46,3 +46,16 @@ class TaskSerializer(serializers.ModelSerializer):
def get_description_html(self, obj): def get_description_html(self, obj):
return mdrender(obj.project, obj.description) return mdrender(obj.project, obj.description)
class TaskNeighborsSerializer(NeighborsSerializerMixin, TaskSerializer):
def serialize_neighbor(self, neighbor):
return NeighborTaskSerializer(neighbor).data
class NeighborTaskSerializer(serializers.ModelSerializer):
class Meta:
model = models.Task
fields = ("id", "ref", "subject")
depth = 0