Add total points method to user story model.

remotes/origin/enhancement/email-actions
Andrey Antukh 2013-10-09 15:30:08 +02:00
parent 5ca3bad10f
commit 789984307b
2 changed files with 12 additions and 0 deletions

View File

@ -142,6 +142,14 @@ class UserStory(WatchedMixin, models.Model):
def get_role_points(self):
return self.role_points
def get_total_points(self):
total = 0.0
for rp in self.role_points.select_related("points"):
if rp.points.value:
total += rp.points.value
return total
def _get_watchers_by_role(self):
return {
"owner": self.owner,

View File

@ -32,6 +32,7 @@ class UserStorySerializer(serializers.ModelSerializer):
tags = PickleField(blank=True, default=[])
is_closed = serializers.Field(source="is_closed")
points = RolePointsField(source="role_points")
total_points = serializers.SerializerMethodField("get_total_points")
comment = serializers.SerializerMethodField("get_comment")
history = serializers.SerializerMethodField("get_history")
@ -51,6 +52,9 @@ class UserStorySerializer(serializers.ModelSerializer):
order=points_order)
role_points.save()
def get_total_points(self, obj):
return obj.get_total_points()
def get_comment(self, obj):
# TODO
return ""