diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee
index 76af3789..1a5794c5 100644
--- a/app/coffee/app.coffee
+++ b/app/coffee/app.coffee
@@ -63,6 +63,10 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
$routeProvider.when("/project/:pslug/wiki/:slug",
{templateUrl: "/partials/wiki.html", resolve: {loader: tgLoaderProvider.add()}})
+ # Team
+ $routeProvider.when("/project/:pslug/team",
+ {templateUrl: "/partials/views/team/team.html", resolve: {loader: tgLoaderProvider.add()}})
+
# Issues
$routeProvider.when("/project/:pslug/issues",
{templateUrl: "/partials/issues.html", resolve: {loader: tgLoaderProvider.add()}})
@@ -214,6 +218,7 @@ modules = [
"taigaIssues",
"taigaUserStories",
"taigaTasks",
+ "taigaTeam",
"taigaWiki",
"taigaSearch",
"taigaAdmin",
diff --git a/app/coffee/modules/base.coffee b/app/coffee/modules/base.coffee
index 3aeb6e99..877bc907 100644
--- a/app/coffee/modules/base.coffee
+++ b/app/coffee/modules/base.coffee
@@ -72,8 +72,11 @@ urls = {
"project-issues-detail": "/project/:project/issue/:ref"
- "project-wiki": "/project/:project/wiki",
- "project-wiki-page": "/project/:project/wiki/:slug",
+ "project-wiki": "/project/:project/wiki"
+ "project-wiki-page": "/project/:project/wiki/:slug"
+
+ # Team
+ "project-team": "/project/:project/team"
# Admin
"project-admin-home": "/project/:project/admin/project-profile/details"
diff --git a/app/coffee/modules/nav.coffee b/app/coffee/modules/nav.coffee
index adc7e401..d76497c0 100644
--- a/app/coffee/modules/nav.coffee
+++ b/app/coffee/modules/nav.coffee
@@ -243,6 +243,12 @@ ProjectMenuDirective = ($log, $compile, $auth, $rootscope, $tgAuth, $location, $
<% } %>
+
+
+
+ Team
+
+
<% if (project.videoconferences) { %>
diff --git a/app/coffee/modules/team.coffee b/app/coffee/modules/team.coffee
new file mode 100644
index 00000000..5e23d3bc
--- /dev/null
+++ b/app/coffee/modules/team.coffee
@@ -0,0 +1,22 @@
+###
+# Copyright (C) 2014 Andrey Antukh
+# Copyright (C) 2014 Jesús Espino Garcia
+# Copyright (C) 2014 David Barragán Merino
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+# File: modules/team.coffee
+###
+
+module = angular.module("taigaTeam", [])
diff --git a/app/coffee/modules/team/main.coffee b/app/coffee/modules/team/main.coffee
new file mode 100644
index 00000000..3f1819d8
--- /dev/null
+++ b/app/coffee/modules/team/main.coffee
@@ -0,0 +1,80 @@
+###
+# Copyright (C) 2014 Andrey Antukh
+# Copyright (C) 2014 Jesús Espino Garcia
+# Copyright (C) 2014 David Barragán Merino
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+# File: modules/team/main.coffee
+###
+
+taiga = @.taiga
+mixOf = @.taiga.mixOf
+groupBy = @.taiga.groupBy
+
+module = angular.module("taigaTeam")
+
+#############################################################################
+## Task Detail Controller
+#############################################################################
+
+class TeamController extends mixOf(taiga.Controller, taiga.PageMixin)
+ @.$inject = [
+ "$scope",
+ "$rootScope",
+ "$tgRepo",
+ "$tgConfirm",
+ "$tgResources",
+ "$routeParams",
+ "$q",
+ "$tgLocation",
+ "$log",
+ "$appTitle",
+ "$tgNavUrls",
+ "$tgAnalytics",
+ "tgLoader"
+ ]
+
+ constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,
+ @log, @appTitle, @navUrls, @analytics, tgLoader) ->
+ @scope.taskRef = @params.taskref
+ @scope.sectionName = "Team"
+
+ promise = @.loadInitialData()
+
+ promise.then () =>
+ @appTitle.set(@scope.project.name + " - Team")
+ tgLoader.pageLoaded()
+
+ loadProject: ->
+ return @rs.projects.get(@scope.projectId).then (project) =>
+ @scope.project = project
+ @scope.$emit('project:loaded', project)
+ @scope.statusList = project.task_statuses
+ @scope.statusById = groupBy(project.task_statuses, (x) -> x.id)
+ @scope.membersById = groupBy(project.memberships, (x) -> x.user)
+ return project
+
+ loadInitialData: ->
+ params = {
+ pslug: @params.pslug
+ }
+
+ promise = @repo.resolve(params).then (data) =>
+ @scope.projectId = data.project
+ return data
+
+ return promise.then(=> @.loadProject())
+
+module.controller("TeamController", TeamController)
diff --git a/app/partials/views/team/team.jade b/app/partials/views/team/team.jade
new file mode 100644
index 00000000..ee552348
--- /dev/null
+++ b/app/partials/views/team/team.jade
@@ -0,0 +1,8 @@
+extends ../../dummy-layout
+
+block head
+ title Taiga Your agile, free, and open source project management tool
+
+block content
+ div.wrapper(ng-controller="TeamController as ctrl", ng-init="section='team'")
+ div Team
diff --git a/gulpfile.coffee b/gulpfile.coffee
index fb125940..f00c0f73 100644
--- a/gulpfile.coffee
+++ b/gulpfile.coffee
@@ -66,6 +66,7 @@ paths.coffee = [
paths.app + "coffee/modules/issues/*.coffee",
paths.app + "coffee/modules/userstories/*.coffee",
paths.app + "coffee/modules/tasks/*.coffee",
+ paths.app + "coffee/modules/team/*.coffee",
paths.app + "coffee/modules/wiki/*.coffee",
paths.app + "coffee/modules/admin/*.coffee",
paths.app + "coffee/modules/projects/*.coffee",