UI - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: трехсекционная шкала прогресса чекеров

This commit is contained in:
DCCONSTRUCTIONS
2026-04-29 18:19:00 +03:00
parent 5f9d9c418e
commit aa348d5d64
9 changed files with 189 additions and 6 deletions
@@ -71,6 +71,7 @@ from plane.utils.grouper import (
)
from plane.utils.host import base_host
from plane.utils.issue_filters import issue_filters
from plane.utils.issue_checker_progress import attach_issue_checker_progress
from plane.utils.order_queryset import order_issue_queryset
from plane.utils.paginator import GroupedOffsetPaginator, SubGroupedOffsetPaginator
from plane.utils.timezone_converter import user_timezone_converter
@@ -190,6 +191,7 @@ class IssueListEndpoint(BaseAPIView):
"label_ids",
"assignee_ids",
"sub_issues_count",
"detail_layout",
"created_at",
"updated_at",
"created_by",
@@ -205,6 +207,7 @@ class IssueListEndpoint(BaseAPIView):
)
datetime_fields = ["created_at", "updated_at"]
issues = user_timezone_converter(issues, datetime_fields, request.user.user_timezone)
issues = attach_issue_checker_progress(issues)
return Response(issues, status=status.HTTP_200_OK)
@@ -470,6 +473,7 @@ class IssueViewSet(BaseViewSet):
"label_ids",
"assignee_ids",
"sub_issues_count",
"detail_layout",
"created_at",
"updated_at",
"created_by",
@@ -486,6 +490,7 @@ class IssueViewSet(BaseViewSet):
)
datetime_fields = ["created_at", "updated_at"]
issue = user_timezone_converter(issue, datetime_fields, request.user.user_timezone)
issue = attach_issue_checker_progress([issue])[0] if issue else issue
# Send the model activity
model_activity.delay(
model_name="issue",
@@ -893,6 +898,7 @@ class IssuePaginatedViewSet(BaseViewSet):
# converting the datetime fields in paginated data
datetime_fields = ["created_at", "updated_at"]
paginated_data = user_timezone_converter(paginated_data, datetime_fields, timezone)
paginated_data = attach_issue_checker_progress(paginated_data)
return paginated_data
@@ -930,6 +936,7 @@ class IssuePaginatedViewSet(BaseViewSet):
"link_count",
"attachment_count",
"sub_issues_count",
"detail_layout",
]
if str(is_description_required).lower() == "true":