UI - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: трехсекционная шкала прогресса чекеров
This commit is contained in:
@@ -48,6 +48,7 @@ from plane.utils.content_validator import (
|
||||
validate_binary_data,
|
||||
)
|
||||
from plane.utils.date_utils import set_default_issue_start_date
|
||||
from plane.utils.issue_checker_progress import build_issue_checker_progress
|
||||
|
||||
|
||||
class IssueFlatSerializer(BaseSerializer):
|
||||
@@ -773,6 +774,9 @@ class IssueSerializer(DynamicBaseSerializer):
|
||||
|
||||
# Count items
|
||||
sub_issues_count = serializers.IntegerField(read_only=True)
|
||||
checker_blocks_count = serializers.SerializerMethodField()
|
||||
checker_items_count = serializers.SerializerMethodField()
|
||||
checker_items_completed_count = serializers.SerializerMethodField()
|
||||
attachment_count = serializers.IntegerField(read_only=True)
|
||||
link_count = serializers.IntegerField(read_only=True)
|
||||
|
||||
@@ -796,6 +800,9 @@ class IssueSerializer(DynamicBaseSerializer):
|
||||
"label_ids",
|
||||
"assignee_ids",
|
||||
"sub_issues_count",
|
||||
"checker_blocks_count",
|
||||
"checker_items_count",
|
||||
"checker_items_completed_count",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"created_by",
|
||||
@@ -809,6 +816,15 @@ class IssueSerializer(DynamicBaseSerializer):
|
||||
]
|
||||
read_only_fields = fields
|
||||
|
||||
def get_checker_blocks_count(self, obj):
|
||||
return build_issue_checker_progress(obj.detail_layout).get("checker_blocks_count", 0)
|
||||
|
||||
def get_checker_items_count(self, obj):
|
||||
return build_issue_checker_progress(obj.detail_layout).get("checker_items_count", 0)
|
||||
|
||||
def get_checker_items_completed_count(self, obj):
|
||||
return build_issue_checker_progress(obj.detail_layout).get("checker_items_completed_count", 0)
|
||||
|
||||
def validate(self, data):
|
||||
if (
|
||||
data.get("state_id")
|
||||
@@ -868,6 +884,7 @@ class IssueListDetailSerializer(serializers.Serializer):
|
||||
"label_ids": self.get_label_ids(instance),
|
||||
"assignee_ids": self.get_assignee_ids(instance),
|
||||
"sub_issues_count": instance.sub_issues_count,
|
||||
**build_issue_checker_progress(instance.detail_layout),
|
||||
"attachment_count": instance.attachment_count,
|
||||
"link_count": instance.link_count,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user