From 1160a5df77fa57516f376ad1e769b497d562612e Mon Sep 17 00:00:00 2001 From: Salim Elliye Date: Thu, 28 Aug 2025 09:09:52 +0300 Subject: [PATCH] new --- osinaweb/osinacore/api/serializers.py | 64 +++++++++++++-------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/osinaweb/osinacore/api/serializers.py b/osinaweb/osinacore/api/serializers.py index 0030a55e..d0c32791 100644 --- a/osinaweb/osinacore/api/serializers.py +++ b/osinaweb/osinacore/api/serializers.py @@ -67,26 +67,26 @@ class ProjectStatusSerializer(serializers.ModelSerializer): fields = "__all__" class ProjectSerializer(serializers.ModelSerializer): - #types = ProjectTypeSerializer(read_only=True, many=True, source="project_type") - #members = StaffProfileSerializer(read_only=True, many=True) - #manager = StaffProfileSerializer(read_only=True, many=False) - #statuses = ProjectStatusSerializer(read_only=True, many=True, source="projectstatus_set") + types = ProjectTypeSerializer(read_only=True, many=True, source="project_type") + members = StaffProfileSerializer(read_only=True, many=True) + manager = StaffProfileSerializer(read_only=True, many=False) + statuses = ProjectStatusSerializer(read_only=True, many=True, source="projectstatus_set") class Meta: model = Project fields = "__all__" - #def to_representation(self, instance): - #representation = super().to_representation(instance) + def to_representation(self, instance): + representation = super().to_representation(instance) # Exclude manager from members list - #manager_id = representation.get("manager", {}).get("id") - #if manager_id: - #representation["members"] = [ - #member for member in representation["members"] - #if member.get("id") != manager_id - #] - #return representation + manager_id = representation.get("manager", {}).get("id") + if manager_id: + representation["members"] = [ + member for member in representation["members"] + if member.get("id") != manager_id + ] + return representation class EpicSerializer(serializers.ModelSerializer): @@ -117,30 +117,30 @@ class UserSerializer(serializers.ModelSerializer): class UserStorySerializer(serializers.ModelSerializer): - #added_by = UserSerializer(read_only=True) - #milestone = MileStoneSerializer(read_only=True) - #confirmed_date = serializers.SerializerMethodField() - #completed_date = serializers.SerializerMethodField() + added_by = UserSerializer(read_only=True) + milestone = MileStoneSerializer(read_only=True) + confirmed_date = serializers.SerializerMethodField() + completed_date = serializers.SerializerMethodField() class Meta: model = UserStory fields = "__all__" - #def get_confirmed_date(self, obj): - #last_task = Task.objects.filter(userstory=obj).order_by("-id").first() - #if last_task: - #last_point = PointActivity.objects.filter(point__task=last_task).order_by("-start_time").first() - #if last_point: # or "Confirmed" if that's your label - #return last_point.start_time - #return None - - #def get_completed_date(self, obj): - #last_task = Task.objects.filter(userstory=obj).order_by("-id").first() - #if last_task: - #last_point = PointActivity.objects.filter(point__task=last_task).order_by("-start_time").first() - #if last_point: # completed means Closed - #return last_point.end_time or last_point.start_time - #return None + def get_confirmed_date(self, obj): + last_task = Task.objects.filter(userstory=obj).order_by("-id").first() + if last_task: + last_point = PointActivity.objects.filter(point__task=last_task).order_by("-start_time").first() + if last_point: # or "Confirmed" if that's your label + return last_point.start_time + return None + + def get_completed_date(self, obj): + last_task = Task.objects.filter(userstory=obj).order_by("-id").first() + if last_task: + last_point = PointActivity.objects.filter(point__task=last_task).order_by("-start_time").first() + if last_point: # completed means Closed + return last_point.end_time or last_point.start_time + return None class PointActivitySerializer(serializers.ModelSerializer):