From 02d3008180fe9ccbeb787088fc7dde0aed433908 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 1 Oct 2014 12:47:33 +0200 Subject: [PATCH 1/3] Adding extra info for stats --- taiga/projects/services/stats.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/taiga/projects/services/stats.py b/taiga/projects/services/stats.py index e06a84e4..512d5de4 100644 --- a/taiga/projects/services/stats.py +++ b/taiga/projects/services/stats.py @@ -192,16 +192,19 @@ def get_stats_for_project_issues(project): def get_stats_for_project(project): + closed_points = sum(project.closed_points.values()) + speed = closed_points / project.milestones.count() project_stats = { 'name': project.name, 'total_milestones': project.total_milestones, 'total_points': project.total_story_points, - 'closed_points': sum(project.closed_points.values()), + 'closed_points': closed_points, 'closed_points_per_role': project.closed_points, 'defined_points': sum(project.defined_points.values()), 'defined_points_per_role': project.defined_points, 'assigned_points': sum(project.assigned_points.values()), 'assigned_points_per_role': project.assigned_points, - 'milestones': _get_milestones_stats_for_backlog(project) + 'milestones': _get_milestones_stats_for_backlog(project), + 'speed': speed, } return project_stats From 2adc1f3fe35e935a9807a56996c427e035007f06 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 1 Oct 2014 17:06:46 +0200 Subject: [PATCH 2/3] Considering only closed sprints for calculating average speed --- taiga/projects/services/stats.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taiga/projects/services/stats.py b/taiga/projects/services/stats.py index 512d5de4..d446be31 100644 --- a/taiga/projects/services/stats.py +++ b/taiga/projects/services/stats.py @@ -193,7 +193,7 @@ def get_stats_for_project_issues(project): def get_stats_for_project(project): closed_points = sum(project.closed_points.values()) - speed = closed_points / project.milestones.count() + speed = closed_points / project.milestones.filter(closed=True).count() project_stats = { 'name': project.name, 'total_milestones': project.total_milestones, From db812101b0c63438bdb525d27046639a62b04d3c Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Thu, 2 Oct 2014 00:11:41 +0200 Subject: [PATCH 3/3] Fixing speed calculation when there are no sprints --- taiga/projects/services/stats.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/taiga/projects/services/stats.py b/taiga/projects/services/stats.py index d446be31..9782879f 100644 --- a/taiga/projects/services/stats.py +++ b/taiga/projects/services/stats.py @@ -193,7 +193,11 @@ def get_stats_for_project_issues(project): def get_stats_for_project(project): closed_points = sum(project.closed_points.values()) - speed = closed_points / project.milestones.filter(closed=True).count() + closed_milestones = project.milestones.filter(closed=True).count() + speed = 0 + if closed_milestones != 0: + speed = closed_points / closed_milestones + project_stats = { 'name': project.name, 'total_milestones': project.total_milestones,