From 223571fbcb516a0624a8aee3154833436be3ea46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Tue, 5 Nov 2013 16:56:47 +0100 Subject: [PATCH] Fixed #62 issue --- greenmine/projects/api.py | 2 ++ greenmine/projects/models.py | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/greenmine/projects/api.py b/greenmine/projects/api.py index f68a326a..0138072c 100644 --- a/greenmine/projects/api.py +++ b/greenmine/projects/api.py @@ -29,6 +29,8 @@ class ProjectViewSet(ModelCrudViewSet): 'name': project.name, 'total_milestones': project.total_milestones, 'total_points': project.total_story_points, + 'closed_points': sum(project.closed_points.values()), + 'defined_points': sum(project.defined_points.values()), 'milestones': self._milestones_stats(project) } return Response(project_stats) diff --git a/greenmine/projects/models.py b/greenmine/projects/models.py index d8702efa..91dfc602 100644 --- a/greenmine/projects/models.py +++ b/greenmine/projects/models.py @@ -18,6 +18,7 @@ from . import choices import reversion import itertools +import collections def get_attachment_file_path(instance, filename): @@ -234,6 +235,17 @@ class Project(models.Model): def future_shared_increment(self): return self._get_points_increment(True, True) + @property + def closed_points(self): + closed_points = 0 + for ml in self.milestones.all(): + closed_points = ml.closed_points + return closed_points + + @property + def defined_points(self): + return self._get_user_stories_points(self.user_stories.all()) + # User Stories common Models class UserStoryStatus(models.Model):