Add user_story_extra_info to task serializer

remotes/origin/issue/4795/notification_even_they_are_disabled
David Barragán Merino 2016-08-16 17:45:31 +02:00
parent 4c6f49aaab
commit 7611785c3b
2 changed files with 13 additions and 0 deletions

View File

@ -79,6 +79,7 @@ class TaskViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin,
def get_queryset(self): def get_queryset(self):
qs = super().get_queryset() qs = super().get_queryset()
qs = qs.select_related("milestone", qs = qs.select_related("milestone",
"user_story",
"project", "project",
"status", "status",
"owner", "owner",

View File

@ -29,6 +29,17 @@ from taiga.projects.notifications.mixins import WatchedResourceSerializer
from taiga.projects.tagging.serializers import TaggedInProjectResourceSerializer from taiga.projects.tagging.serializers import TaggedInProjectResourceSerializer
from taiga.projects.votes.mixins.serializers import VoteResourceSerializerMixin 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, class TaskListSerializer(VoteResourceSerializerMixin, WatchedResourceSerializer,
OwnerExtraInfoSerializerMixin, AssignedToExtraInfoSerializerMixin, OwnerExtraInfoSerializerMixin, AssignedToExtraInfoSerializerMixin,
@ -54,6 +65,7 @@ class TaskListSerializer(VoteResourceSerializerMixin, WatchedResourceSerializer,
is_blocked = Field() is_blocked = Field()
blocked_note = Field() blocked_note = Field()
is_closed = MethodField() is_closed = MethodField()
user_story_extra_info = UserStoryExtraInfoSerializer(attr="user_story")
def get_milestone_slug(self, obj): def get_milestone_slug(self, obj):
return obj.milestone.slug if obj.milestone else None return obj.milestone.slug if obj.milestone else None