Due date statuses admin page

stable
Daniel García 2018-05-25 15:06:21 +02:00 committed by Alex Hermida
parent f4a26000b7
commit b90f70d846
8 changed files with 158 additions and 1 deletions

View File

@ -385,6 +385,12 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
section: "admin" section: "admin"
} }
) )
$routeProvider.when("/project/:pslug/admin/project-values/due-dates",
{
templateUrl: "admin/admin-project-values-due-dates.html",
section: "admin"
}
)
$routeProvider.when("/project/:pslug/admin/memberships", $routeProvider.when("/project/:pslug/admin/memberships",
{ {
templateUrl: "admin/admin-memberships.html", templateUrl: "admin/admin-memberships.html",

View File

@ -109,6 +109,7 @@ urls = {
"project-admin-project-values-types": "/project/:project/admin/project-values/types" "project-admin-project-values-types": "/project/:project/admin/project-values/types"
"project-admin-project-values-custom-fields": "/project/:project/admin/project-values/custom-fields" "project-admin-project-values-custom-fields": "/project/:project/admin/project-values/custom-fields"
"project-admin-project-values-tags": "/project/:project/admin/project-values/tags" "project-admin-project-values-tags": "/project/:project/admin/project-values/tags"
"project-admin-project-values-due-dates": "/project/:project/admin/project-values/due-dates"
"project-admin-memberships": "/project/:project/admin/memberships" "project-admin-memberships": "/project/:project/admin/memberships"
"project-admin-roles": "/project/:project/admin/roles" "project-admin-roles": "/project/:project/admin/roles"

View File

@ -85,9 +85,12 @@ urls = {
# Project Values - Choises # Project Values - Choises
"epic-statuses": "/epic-statuses" "epic-statuses": "/epic-statuses"
"userstory-statuses": "/userstory-statuses" "userstory-statuses": "/userstory-statuses"
"userstory-due-date-statuses": "/userstory-duedates"
"points": "/points" "points": "/points"
"task-statuses": "/task-statuses" "task-statuses": "/task-statuses"
"task-due-date-statuses": "/task-due-date-statuses"
"issue-statuses": "/issue-statuses" "issue-statuses": "/issue-statuses"
"issue-due-date-statuses": "/issue-due-date-statuses"
"issue-types": "/issue-types" "issue-types": "/issue-types"
"priorities": "/priorities" "priorities": "/priorities"
"severities": "/severities" "severities": "/severities"

View File

@ -115,6 +115,7 @@ resourceProvider = ($repo, $http, $urls, $storage, $q) ->
service.listValues = (projectId, type) -> service.listValues = (projectId, type) ->
params = {"project": projectId} params = {"project": projectId}
service.storeQueryParams(projectId, params) service.storeQueryParams(projectId, params)
console.log type
return $repo.queryMany(type, params) return $repo.queryMany(type, params)
service.storeQueryParams = (projectId, params) -> service.storeQueryParams = (projectId, params) ->

View File

@ -619,6 +619,13 @@
"MIXING_MERGE": "Merge Tags", "MIXING_MERGE": "Merge Tags",
"SELECTED": "Selected" "SELECTED": "Selected"
}, },
"PROJECT_DUE_DATE_STATUS": {
"TITLE": "Due dates statuses",
"SUBTITLE": "Specify the due date statuses your user stories, tasks and issues will go through",
"US_TITLE": "User Story Due Date Statuses",
"TASK_TITLE": "Task Due Date Statuses",
"ISSUE_TITLE": "Issue Due Date Statuses"
},
"ROLES": { "ROLES": {
"PAGE_TITLE": "Roles - {{projectName}}", "PAGE_TITLE": "Roles - {{projectName}}",
"WARNING_NO_ROLE": "Be careful, no role in your project will be able to estimate the point value for user stories", "WARNING_NO_ROLE": "Be careful, no role in your project will be able to estimate the point value for user stories",
@ -745,7 +752,8 @@
"SEVERITIES": "Severities", "SEVERITIES": "Severities",
"TYPES": "Types", "TYPES": "Types",
"CUSTOM_FIELDS": "Custom fields", "CUSTOM_FIELDS": "Custom fields",
"TAGS": "Tags" "TAGS": "Tags",
"DUE_DATES": "Due dates"
}, },
"SUBMENU_ROLES": { "SUBMENU_ROLES": {
"TITLE": "Roles", "TITLE": "Roles",

View File

@ -0,0 +1,34 @@
doctype html
div.wrapper(ng-controller="ProjectValuesSectionController",
ng-init="sectionName='ADMIN.PROJECT_DUE_DATE_STATUS.TITLE'")
tg-project-menu
sidebar.menu-secondary.sidebar.settings-nav(tg-admin-navigation="project-values")
include ../includes/modules/admin-menu
sidebar.menu-tertiary.sidebar(tg-admin-navigation="values-due-dates")
include ../includes/modules/admin-submenu-project-values
section.main.admin-common.admin-attributes
include ../includes/components/mainTitle
p.admin-subtitle(translate="ADMIN.PROJECT_DUE_DATE_STATUS.SUBTITLE")
div.admin-attributes-section(tg-project-values, type="userstory-due-date-statuses",
ng-controller="ProjectValuesController as ctrl",
ng-init="section='admin'; resource='userstories'; type='userstory-due-date-statuses'; sectionName='ADMIN.PROJECT_DUE_DATE_STATUS.US_TITLE'",
objName="status")
include ../includes/modules/admin/project-due-date-status
div.admin-attributes-section(tg-project-values, type="task-due-date-statuses",
ng-controller="ProjectValuesController as ctrl",
ng-init="section='admin'; resource='tasks'; type='task-due-date-statuses'; sectionName='ADMIN.PROJECT_DUE_DATE_STATUS.TASK_TITLE'"
objName="status")
include ../includes/modules/admin/project-due-date-status
div.admin-attributes-section(tg-project-values, type="issue-due-date-statuses",
ng-controller="ProjectValuesController as ctrl",
ng-init="section='admin'; resource='issues'; type='issue-due-date-statuses'; sectionName='ADMIN.PROJECT_DUE_DATE_STATUS.ISSUE_TITLE'",
objName="status")
include ../includes/modules/admin/project-due-date-status

View File

@ -28,3 +28,7 @@ section.admin-submenu
li#adminmenu-values-tags li#adminmenu-values-tags
a(href="", tg-nav="project-admin-project-values-tags:project=project.slug") a(href="", tg-nav="project-admin-project-values-tags:project=project.slug")
span.title(translate="ADMIN.SUBMENU_PROJECT_VALUES.TAGS") span.title(translate="ADMIN.SUBMENU_PROJECT_VALUES.TAGS")
li#adminmenu-values-due-dates
a(href="", tg-nav="project-admin-project-values-due-dates:project=project.slug")
span.title(translate="ADMIN.SUBMENU_PROJECT_VALUES.DUE_DATES")

View File

@ -0,0 +1,100 @@
section.colors-table.admin-status-table
div.project-values-title
h2 {{ sectionName | translate }}
a.button.button-gray.show-add-new(href="", title="{{'ADMIN.US_STATUS.ACTION_ADD_STATUS' | translate}}")
span(translate="ADMIN.US_STATUS.ACTION_ADD_STATUS")
div.table-header
div.row
div.color-column(translate="COMMON.FIELDS.COLOR")
div.status-name(translate="COMMON.FIELDS.NAME")
div.status-slug(translate="COMMON.FIELDS.SLUG")
div.thresold-column(translate="COMMON.FIELDS.THRESHOLD")
div.options-column
div.table-main
div.sortable
div(ng-repeat="value in values", tg-bind-scope)
form(tg-bind-scope)
div.row.table-main.visualization
tg-svg(svg-icon="icon-drag")
div.color-column
div.current-color(ng-style="{background: value.color}")
div.status-name
span {{ value.name }}
div.status-slug
span {{ value.slug }}
div.is-closed-column
span {{ value.days_to_due }}
div.options-column
a.edit-value(href="")
tg-svg(
title="{{'ADMIN.COMMON.TITLE_ACTION_EDIT_VALUE' | translate}}",
svg-icon="icon-edit"
)
a.delete-value(href="")
tg-svg(
title="{{'ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE' | translate}}"
svg-icon="icon-trash"
)
div.row.table-main.edition.hidden
div.color-column(
tg-color-selection
ng-model="value"
)
div.current-color(ng-style="{background: value.color}")
include ../../components/select-color
div.status-name
input(
name="name"
type="text"
placeholder="{{'ADMIN.STATUS.PLACEHOLDER_WRITE_STATUS_NAME' | translate}}"
ng-model="value.name"
data-required="true"
data-maxlength="255"
)
div.thresold-column
input(type="number", name="days_to_due", ng-model="value.days_to_due")
div.options-column
a.save.e2e-save(href="", title="{{'COMMON.SAVE' | translate}}")
tg-svg(svg-icon="icon-save")
a.cancel(href="", title="{{'COMMON.CANCEL' | translate}}")
tg-svg.cancel(svg-icon="icon-close")
form
div.row.table-main.new-value.hidden
div.color-column(
tg-color-selection
ng-model="newValue"
)
div.current-color(ng-style="{background: newValue.color}")
include ../../components/select-color
div.status-name
input(
name="name"
type="text"
placeholder="{{'ADMIN.STATUS.PLACEHOLDER_WRITE_STATUS_NAME' | translate}}"
ng-model="newValue.name"
data-required="true"
data-maxlength="255"
)
div.thresold-column
input(type="number")
div.options-column
a.add-new.e2e-save(href="", title="{{'COMMON.ADD' | translate}}")
tg-svg(svg-icon="icon-save")
a.delete-new(href="", title="{{'COMMON.CANCEL' | translate}}")
tg-svg(svg-icon="icon-close")