Moved list_of_milestones method from the model to the serializer
parent
3df7eea9e9
commit
6b5aad4bef
|
@ -110,16 +110,6 @@ class Project(models.Model):
|
||||||
|
|
||||||
super(Project, self).save(*args, **kwargs)
|
super(Project, self).save(*args, **kwargs)
|
||||||
|
|
||||||
@property
|
|
||||||
def list_of_milestones(self):
|
|
||||||
return [{
|
|
||||||
"id": milestone.id,
|
|
||||||
"name": milestone.name,
|
|
||||||
"finish_date": milestone.estimated_finish,
|
|
||||||
"closed_points": milestone.closed_points,
|
|
||||||
"client_increment_points": milestone.client_increment_points,
|
|
||||||
"team_increment_points": milestone.team_increment_points
|
|
||||||
} for milestone in self.milestones.all().order_by("estimated_start")]
|
|
||||||
|
|
||||||
def get_roles(self):
|
def get_roles(self):
|
||||||
role_model = get_model("users", "Role")
|
role_model = get_model("users", "Role")
|
||||||
|
|
|
@ -71,7 +71,7 @@ class QuestionStatusSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class ProjectSerializer(serializers.ModelSerializer):
|
class ProjectSerializer(serializers.ModelSerializer):
|
||||||
tags = PickleField(required=False)
|
tags = PickleField(required=False)
|
||||||
list_of_milestones = serializers.Field(source="list_of_milestones")
|
list_of_milestones = serializers.SerializerMethodField("get_list_of_milestones")
|
||||||
us_statuses = UserStoryStatusSerializer(many=True, required=False) # User Stories
|
us_statuses = UserStoryStatusSerializer(many=True, required=False) # User Stories
|
||||||
points = PointsSerializer(many=True, required=False)
|
points = PointsSerializer(many=True, required=False)
|
||||||
task_statuses = TaskStatusSerializer(many=True, required=False) # Tasks
|
task_statuses = TaskStatusSerializer(many=True, required=False) # Tasks
|
||||||
|
@ -84,3 +84,18 @@ class ProjectSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.Project
|
model = models.Project
|
||||||
read_only_fields = ("owner",)
|
read_only_fields = ("owner",)
|
||||||
|
|
||||||
|
def get_list_of_milestones(self, obj):
|
||||||
|
milestones_list = []
|
||||||
|
|
||||||
|
if obj and obj.memberships:
|
||||||
|
milestones_list = [{
|
||||||
|
"id": milestone.id,
|
||||||
|
"name": milestone.name,
|
||||||
|
"finish_date": milestone.estimated_finish,
|
||||||
|
"closed_points": milestone.closed_points,
|
||||||
|
"client_increment_points": milestone.client_increment_points,
|
||||||
|
"team_increment_points": milestone.team_increment_points
|
||||||
|
} for milestone in obj.milestones.all().order_by("estimated_start")]
|
||||||
|
|
||||||
|
return milestones_list
|
||||||
|
|
Loading…
Reference in New Issue