fix: user profile issues (#3409)

This commit is contained in:
Bavisetti Narayan 2024-01-19 15:17:49 +05:30 committed by GitHub
parent 67414983da
commit f68e6023c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 31 deletions

View File

@ -41,7 +41,7 @@ from plane.app.serializers import (
ProjectMemberSerializer, ProjectMemberSerializer,
WorkspaceThemeSerializer, WorkspaceThemeSerializer,
IssueActivitySerializer, IssueActivitySerializer,
IssueLiteSerializer, IssueSerializer,
WorkspaceMemberAdminSerializer, WorkspaceMemberAdminSerializer,
WorkspaceMemberMeSerializer, WorkspaceMemberMeSerializer,
ProjectMemberRoleSerializer, ProjectMemberRoleSerializer,
@ -1339,23 +1339,10 @@ class WorkspaceUserProfileIssuesEndpoint(BaseAPIView):
project__project_projectmember__member=request.user, project__project_projectmember__member=request.user,
) )
.filter(**filters) .filter(**filters)
.annotate( .select_related("workspace", "project", "state", "parent")
sub_issues_count=Issue.issue_objects.filter(
parent=OuterRef("id")
)
.order_by()
.annotate(count=Func(F("id"), function="Count"))
.values("count")
)
.select_related("project", "workspace", "state", "parent")
.prefetch_related("assignees", "labels") .prefetch_related("assignees", "labels")
.prefetch_related( .annotate(cycle_id=F("issue_cycle__cycle_id"))
Prefetch( .annotate(module_id=F("issue_module__module_id"))
"issue_reactions",
queryset=IssueReaction.objects.select_related("actor"),
)
)
.order_by("-created_at")
.annotate( .annotate(
link_count=IssueLink.objects.filter(issue=OuterRef("id")) link_count=IssueLink.objects.filter(issue=OuterRef("id"))
.order_by() .order_by()
@ -1370,6 +1357,13 @@ class WorkspaceUserProfileIssuesEndpoint(BaseAPIView):
.annotate(count=Func(F("id"), function="Count")) .annotate(count=Func(F("id"), function="Count"))
.values("count") .values("count")
) )
.annotate(
sub_issues_count=Issue.issue_objects.filter(parent=OuterRef("id"))
.order_by()
.annotate(count=Func(F("id"), function="Count"))
.values("count")
)
.order_by("created_at")
).distinct() ).distinct()
# Priority Ordering # Priority Ordering
@ -1432,7 +1426,7 @@ class WorkspaceUserProfileIssuesEndpoint(BaseAPIView):
else: else:
issue_queryset = issue_queryset.order_by(order_by_param) issue_queryset = issue_queryset.order_by(order_by_param)
issues = IssueLiteSerializer( issues = IssueSerializer(
issue_queryset, many=True, fields=fields if fields else None issue_queryset, many=True, fields=fields if fields else None
).data ).data
return Response(issues, status=status.HTTP_200_OK) return Response(issues, status=status.HTTP_200_OK)

View File

@ -7,19 +7,17 @@ from . import ProjectBaseModel
def get_default_filters(): def get_default_filters():
return ( return {
{ "priority": None,
"priority": None, "state": None,
"state": None, "state_group": None,
"state_group": None, "assignees": None,
"assignees": None, "created_by": None,
"created_by": None, "labels": None,
"labels": None, "start_date": None,
"start_date": None, "target_date": None,
"target_date": None, "subscriber": None,
"subscriber": None, }
},
)
def get_default_display_filters(): def get_default_display_filters():