From 7611785c3b0407d38c36033a95cd67305afc2890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Tue, 16 Aug 2016 17:45:31 +0200 Subject: [PATCH] Add user_story_extra_info to task serializer --- taiga/projects/tasks/api.py | 1 + taiga/projects/tasks/serializers.py | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/taiga/projects/tasks/api.py b/taiga/projects/tasks/api.py index 9584a17b..5f9a06ae 100644 --- a/taiga/projects/tasks/api.py +++ b/taiga/projects/tasks/api.py @@ -79,6 +79,7 @@ class TaskViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin, def get_queryset(self): qs = super().get_queryset() qs = qs.select_related("milestone", + "user_story", "project", "status", "owner", diff --git a/taiga/projects/tasks/serializers.py b/taiga/projects/tasks/serializers.py index b7232cf8..358b88ee 100644 --- a/taiga/projects/tasks/serializers.py +++ b/taiga/projects/tasks/serializers.py @@ -29,6 +29,17 @@ from taiga.projects.notifications.mixins import WatchedResourceSerializer from taiga.projects.tagging.serializers import TaggedInProjectResourceSerializer from taiga.projects.votes.mixins.serializers import VoteResourceSerializerMixin +class UserStoryExtraInfoSerializer(serializers.LightSerializer): + id = Field() + ref = Field() + subject = Field() + + def to_value(self, instance): + if instance is None: + return None + + return super().to_value(instance) + class TaskListSerializer(VoteResourceSerializerMixin, WatchedResourceSerializer, OwnerExtraInfoSerializerMixin, AssignedToExtraInfoSerializerMixin, @@ -54,6 +65,7 @@ class TaskListSerializer(VoteResourceSerializerMixin, WatchedResourceSerializer, is_blocked = Field() blocked_note = Field() is_closed = MethodField() + user_story_extra_info = UserStoryExtraInfoSerializer(attr="user_story") def get_milestone_slug(self, obj): return obj.milestone.slug if obj.milestone else None