diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index 9805f9bd..e980d456 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -63,6 +63,12 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide) -> $routeProvider.when("/project/:pslug/admin/project-values/us-status", {templateUrl: "/partials/admin-project-values-us-status.html"}) + $routeProvider.when("/project/:pslug/admin/project-values/task-status", + {templateUrl: "/partials/admin-project-values-task-status.html"}) + + $routeProvider.when("/project/:pslug/admin/project-values/issue-status", + {templateUrl: "/partials/admin-project-values-issue-status.html"}) + $routeProvider.when("/project/:pslug/admin/memberships", {templateUrl: "/partials/admin-memberships.html"}) # Auth diff --git a/app/coffee/modules/admin/project-values.coffee b/app/coffee/modules/admin/project-values.coffee index d4af9835..1e497c9d 100644 --- a/app/coffee/modules/admin/project-values.coffee +++ b/app/coffee/modules/admin/project-values.coffee @@ -47,7 +47,6 @@ class ProjectValuesStatusController extends mixOf(taiga.Controller, taiga.PageMi ] constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location) -> - @scope.sectionName = "Project Values" #i18n @scope.project = {} promise = @.loadInitialData() @@ -276,6 +275,10 @@ ColorSelectionDirective = () -> $model.$modelValue.color = target.data("color") $el.find(".select-color").hide() + $el.on "click", ".select-color .selected-color", (event) -> + event.preventDefault() + $el.find(".select-color").hide() + $scope.$on "$destroy", -> $el.off() diff --git a/app/coffee/modules/base.coffee b/app/coffee/modules/base.coffee index e30c4a2d..c54cfd1a 100644 --- a/app/coffee/modules/base.coffee +++ b/app/coffee/modules/base.coffee @@ -74,6 +74,8 @@ urls = { "project-admin-project-profile-default-values": "/project/:project/admin/project-profile/default-values", "project-admin-project-profile-features": "/project/:project/admin/project-profile/features", "project-admin-project-values-us-status": "/project/:project/admin/project-values/us-status", + "project-admin-project-values-task-status": "/project/:project/admin/project-values/task-status", + "project-admin-project-values-issue-status": "/project/:project/admin/project-values/issue-status", "project-admin-memberships": "/project/:project/admin/memberships" } diff --git a/app/coffee/modules/resources.coffee b/app/coffee/modules/resources.coffee index 716ebe5a..06fa6033 100644 --- a/app/coffee/modules/resources.coffee +++ b/app/coffee/modules/resources.coffee @@ -69,7 +69,9 @@ urls = { "resolver": "/api/v1/resolver" "wiki-attachment": "/media/attachment-files/%s/wikipage/%s" "userstory-statuses": "/api/v1/userstory-statuses" - + "task-statuses": "/api/v1/task-statuses" + "issue-statuses": "/api/v1/issue-statuses" + # History "history/userstory": "/api/v1/history/userstory" "history/issue": "/api/v1/history/issue" diff --git a/app/coffee/modules/resources/issues.coffee b/app/coffee/modules/resources/issues.coffee index f19d9c2c..dad48648 100644 --- a/app/coffee/modules/resources/issues.coffee +++ b/app/coffee/modules/resources/issues.coffee @@ -42,6 +42,10 @@ resourceProvider = ($repo) -> service.history = (issueId) -> return $repo.queryOneRaw("history/issue", issueId) + service.listStatuses = (projectId) -> + params = {"project": projectId} + return $repo.queryMany("issue-statuses", params) + return (instance) -> instance.issues = service diff --git a/app/coffee/modules/resources/tasks.coffee b/app/coffee/modules/resources/tasks.coffee index 6b0a705e..cd3bdb37 100644 --- a/app/coffee/modules/resources/tasks.coffee +++ b/app/coffee/modules/resources/tasks.coffee @@ -43,6 +43,10 @@ resourceProvider = ($repo, $http, $urls) -> service.history = (taskId) -> return $repo.queryOneRaw("history/task", taskId) + service.listStatuses = (projectId) -> + params = {"project": projectId} + return $repo.queryMany("task-statuses", params) + return (instance) -> instance.tasks = service diff --git a/app/partials/admin-project-values-issue-status.jade b/app/partials/admin-project-values-issue-status.jade new file mode 100644 index 00000000..627717ad --- /dev/null +++ b/app/partials/admin-project-values-issue-status.jade @@ -0,0 +1,24 @@ +extends layout + +block head + title Taiga Project management web application with scrum in mind! + +block content + div.wrapper(tg-project-status, ng-controller="ProjectValuesStatusController as ctrl", + ng-init="section='admin'; resource='issues'; sectionName='Issue Statuses'", + type="issue-statuses") + sidebar.menu-secondary.sidebar(tg-admin-navigation="project-values") + include views/modules/admin-menu + + sidebar.menu-tertiary.sidebar(tg-admin-navigation="values-issue-status") + include views/modules/admin-submenu-project-values + + section.main.admin-roles + header + include views/components/mainTitle + + div.project-values-options + a.button.button-green.show-add-new(href="", title="Add New") + span Add new status + + include views/modules/admin/project-status diff --git a/app/partials/admin-project-values-task-status.jade b/app/partials/admin-project-values-task-status.jade new file mode 100644 index 00000000..6b4e8601 --- /dev/null +++ b/app/partials/admin-project-values-task-status.jade @@ -0,0 +1,24 @@ +extends layout + +block head + title Taiga Project management web application with scrum in mind! + +block content + div.wrapper(tg-project-status, ng-controller="ProjectValuesStatusController as ctrl", + ng-init="section='admin'; resource='tasks'; sectionName='Task Statuses'", + type="task-statuses") + sidebar.menu-secondary.sidebar(tg-admin-navigation="project-values") + include views/modules/admin-menu + + sidebar.menu-tertiary.sidebar(tg-admin-navigation="values-task-status") + include views/modules/admin-submenu-project-values + + section.main.admin-roles + header + include views/components/mainTitle + + div.project-values-options + a.button.button-green.show-add-new(href="", title="Add New") + span Add new status + + include views/modules/admin/project-status diff --git a/app/partials/admin-project-values-us-status.jade b/app/partials/admin-project-values-us-status.jade index 105d8864..31d13ceb 100644 --- a/app/partials/admin-project-values-us-status.jade +++ b/app/partials/admin-project-values-us-status.jade @@ -5,7 +5,8 @@ block head block content div.wrapper(tg-project-status, ng-controller="ProjectValuesStatusController as ctrl", - ng-init="section='admin'; resource='userstories'", type="userstory-statuses") + ng-init="section='admin'; resource='userstories'; sectionName='Us Statuses'", + type="userstory-statuses") sidebar.menu-secondary.sidebar(tg-admin-navigation="project-values") include views/modules/admin-menu diff --git a/app/partials/views/modules/admin-submenu-project-values.jade b/app/partials/views/modules/admin-submenu-project-values.jade index 2e55256b..e4bdf70f 100644 --- a/app/partials/views/modules/admin-submenu-project-values.jade +++ b/app/partials/views/modules/admin-submenu-project-values.jade @@ -19,7 +19,6 @@ section.admin-submenu span.title Task statuses span.icon.icon-arrow-right - li#adminmenu-values-issue-status a(href="", tg-nav="project-admin-project-values-issue-status:project=project.slug") span.title Issue statuses