Due date statuses admin page
parent
f4a26000b7
commit
b90f70d846
|
@ -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",
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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) ->
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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
|
|
@ -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")
|
|
@ -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")
|
Loading…
Reference in New Issue