File tree 2 files changed +11
-0
lines changed
2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change 7
7
8
8
import uuid
9
9
import functools
10
+
11
+ from django .db .models import Prefetch
10
12
from easy_thumbnails .source_generators import pil_image
11
13
from dateutil .relativedelta import relativedelta
12
14
@@ -101,6 +103,8 @@ def _get_order_by_field_name(self):
101
103
def get_queryset (self ):
102
104
qs = super ().get_queryset ()
103
105
qs = qs .select_related ("owner" )
106
+ user_stories_qs = UserStory .objects .all ().select_related ("status" , "assigned_to" )
107
+ qs = qs .prefetch_related (Prefetch ("user_stories" , queryset = user_stories_qs ))
104
108
if self .request .QUERY_PARAMS .get ('discover_mode' , False ):
105
109
qs = project_utils .attach_members (qs )
106
110
qs = project_utils .attach_notify_policies (qs )
Original file line number Diff line number Diff line change 20
20
21
21
from . import services
22
22
from .notifications .choices import NotifyLevel
23
+ from .userstories .serializers import UserStoryLightSerializer , UserStoryListSerializer
23
24
24
25
25
26
######################################################
@@ -441,6 +442,9 @@ class ProjectDetailSerializer(ProjectSerializer):
441
442
transfer_token = Field ()
442
443
milestones = MethodField ()
443
444
445
+ # User stories related to the project
446
+ user_stories = MethodField ()
447
+
444
448
def get_milestones (self , obj ):
445
449
assert hasattr (obj , "milestones_attr" ), "instance must have a milestones_attr attribute"
446
450
if obj .milestones_attr is None :
@@ -509,6 +513,9 @@ def get_is_private_extra_info(self, obj):
509
513
def get_max_memberships (self , obj ):
510
514
return services .get_max_memberships_for_project (obj )
511
515
516
+ def get_user_stories (self , obj ):
517
+ return UserStoryLightSerializer (obj .user_stories .all (), many = True ).data
518
+
512
519
513
520
class ProjectLightSerializer (serializers .LightSerializer ):
514
521
id = Field ()
You can’t perform that action at this time.
0 commit comments