diff --git a/app/coffee/modules/backlog/main.coffee b/app/coffee/modules/backlog/main.coffee
index a66313c2..9baa9d7e 100644
--- a/app/coffee/modules/backlog/main.coffee
+++ b/app/coffee/modules/backlog/main.coffee
@@ -31,6 +31,22 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin)
@rootscope.$on("usform:bulk:success", @.loadUserstories)
+ initializeProjectStats: ->
+ @scope.stats = {
+ total_points: "--"
+ defined_points: "--"
+ assigned_points: "--"
+ closed_points: "--"
+ completedPercentage: "--%"
+ }
+
+ loadProjectStats: ->
+ return @rs.projects.stats(@scope.projectId).then (stats) =>
+ @scope.stats = stats
+ completedPercentage = Math.round(100 * stats.closed_points / stats.total_points)
+ @scope.stats.completedPercentage = "#{completedPercentage}%"
+ return stats
+
loadSprints: ->
return @rs.sprints.list(@scope.projectId).then (sprints) =>
@scope.sprints = sprints
@@ -46,6 +62,7 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin)
loadBacklog: ->
return @q.all([
+ @.loadProjectStats(),
@.loadSprints(),
@.loadUserstories()
])
@@ -58,6 +75,9 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin)
return project
loadInitialData: ->
+ # Set stats initial values
+ @.initializeProjectStats()
+
# Resolve project slug
promise = @repo.resolve({pslug: @params.pslug}).then (data) =>
@scope.projectId = data.project
diff --git a/app/coffee/modules/resources/projects.coffee b/app/coffee/modules/resources/projects.coffee
index fb536a9a..e09ff8e8 100644
--- a/app/coffee/modules/resources/projects.coffee
+++ b/app/coffee/modules/resources/projects.coffee
@@ -39,10 +39,12 @@ resourceProvider = ($repo) ->
params = {"project": projectId}
return $repo.queryMany("roles", params)
+ service.stats = (projectId) ->
+ return $repo.queryOneRaw("projects", "#{projectId}/stats")
+
return (instance) ->
instance.projects = service
module = angular.module("taigaResources")
module.factory("$tgProjectsResourcesProvider", ["$tgRepo", resourceProvider])
-
diff --git a/app/partials/views/components/summary.jade b/app/partials/views/components/summary.jade
index 50650191..aa77ed0d 100644
--- a/app/partials/views/components/summary.jade
+++ b/app/partials/views/components/summary.jade
@@ -2,18 +2,18 @@ div.summary(tg-backlog-summary)
div.summary-progress-bar
div.current-progress
div.data
- span.number 30%
+ span.number(ng-bind="stats.completedPercentage")
span.description completed
ul
li
- span.number 12
+ span.number(ng-bind="stats.total_points")
span.description project
points
li
- span.number 23
+ span.number(ng-bind="stats.defined_points")
span.description defined
points
li
- span.number 12
+ span.number(ng-bind="stats.assigned_points")
span.description assigned
points
li
- span.number 23
+ span.number(ng-bind="stats.closed_points")
span.description closed
points