#set ($NA = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "BacklogTable", "backlogtable.na")))
#set ($TEMPLATE_TEXT = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "BacklogTable", "backlogtable.templatetext")))
#set ($SELECT_ALL = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.selectall")))
#set ($SAVE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.save")))
#set ($CANCEL = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.cancel")))
#set ($NAME = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.name")))
#set ($TARGET_END_DATE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.targetenddate")))
#set ($BLANK_ENTRY_ERROR = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.blankentryerror")))
#set ($XLINK_NAME_COL_TITLE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.xlinknamecoltitle")))
#set ($XLINK_DEF_COL_TITLE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.xlinkdefcoltitle")))
#set ($RELEASE_DLG_TITLE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.releasedlgtitle")))
#set ($ADD_TITLE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.addtitle")))
#set ($EDIT_TITLE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.edittitle")))
#set ($DESCRIPTION = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.description")))
#set ($PLANNED_CAPACITY = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.plannedcapacity")))
#set ($CAPACITY_UNIT = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.capacityunit")))
#set ($LOAD_ERROR = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.loaderror")))
#set ($ERROR_TITLE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.errortitle")))
#set ($RELEASE_SAVE_WAIT = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.releasesavewait")))
#set ($INVALID_TARGET_DATE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.invalidtargetdate")))
#set ($INVALID_ENTRIES = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.invalidentries")))
#set ($TARGET_START_DATE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.startdate")))
#set ($CAPACITY = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.capacity")))
#set ($UNIT = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.unit")))
#set ($NUMBER_OF_SPRINTS = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.numsprints")))
#set ($SPRINT_PREFIX = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.sprintprefix")))
#set ($ACTUAL_CAPACITY = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.actualcapaciy")))
#set ($CALCULATED = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.calculated")))
#set ($RESOURCES = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.resources")))
#set ($REPOSITORY_CONNECTION = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.repositoryconnection")))
#set ($CHOOSE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.choose")))
#set ($GRID_PERSON = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.gridperson")))
#set ($GRID_ALLOCATION = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.gridallocation")))
#set ($REMOVE_RESOURCE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.removeresource")))
#set ($SPRINT_DURATION = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.sprintduration")))
#set ($ENTER_USER = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.enteruser")))
#set ($ENTER_PLANNED = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.enterplanned")))
#set ($DAYS = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.days")))
#set ($WILL_CREATE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.willcreate")))
#set ($AUTO_NAME_SPRINTS = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.autonamesprints")))
#set ($REMAINING_VALUE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.remainingvalue")))
#set ($AUTO_CREATED = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.autocreated")))
#set ($NO_RESOURCE_MSG = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.noresourcemsg")))
#set ($NO_PLANNED_MSG = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.noplannedmsg")))
#set ($AUTO_CREATE_SPRINTS = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.autocreatesprints")))
#set ($AUTO_CREATE_SAVE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.autocreatesave")))
#set ($DELIVERED_VALUE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.deliveredcap")))
#set ($BAD_DATE_RANGE = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.baddaterange")))
#set ($MAX_AUTOSPRINTS = $CommonFunctions.encodeJavaScriptString($CommonFunctions.getTermFromResourceBundle($currentUserId, "GReleaseDialog", "greleasedialog.warn.maxautosprint")))
// ---------- release Dialog ---------
var RDLabels = {
SELECT_ALL: '$SELECT_ALL',
SAVE: '$SAVE',
CANCEL: '$CANCEL',
NAME: '$NAME',
TARGET_END_DATE: '$TARGET_END_DATE',
BLANK_ENTRY_ERROR: '$BLANK_ENTRY_ERROR',
XLINK_NAME_COL_TITLE: '$XLINK_NAME_COL_TITLE',
XLINK_DEF_COL_TITLE: '$XLINK_DEF_COL_TITLE',
RELEASE_DLG_TITLE: '$RELEASE_DLG_TITLE',
ADD_TITLE: '$ADD_TITLE',
EDIT_TITLE: '$EDIT_TITLE',
DESCRIPTION: '$DESCRIPTION',
PLANNED_CAPACITY: '$PLANNED_CAPACITY',
CAPACITY_UNIT: '$CAPACITY_UNIT',
LOAD_ERROR: '$LOAD_ERROR',
ERROR_TITLE: '$ERROR_TITLE',
RELEASE_SAVE_WAIT: '$RELEASE_SAVE_WAIT',
INVALID_TARGET_DATE: '$INVALID_TARGET_DATE',
INVALID_ENTRIES: '$INVALID_ENTRIES',
TARGET_START_DATE: '$TARGET_START_DATE',
CAPACITY: '$CAPACITY',
UNIT: '$UNIT',
NUMBER_OF_SPRINTS: '$NUMBER_OF_SPRINTS',
SPRINT_PREFIX: '$SPRINT_PREFIX',
ACTUAL_CAPACITY: '$ACTUAL_CAPACITY',
CALCULATED: '$CALCULATED',
RESOURCES: '$RESOURCES',
REPOSITORY_CONNECTION: '$REPOSITORY_CONNECTION',
CHOOSE: '$CHOOSE',
GRID_PERSON: '$GRID_PERSON',
GRID_ALLOCATION: '$GRID_ALLOCATION',
REMOVE_RESOURCE: '$REMOVE_RESOURCE',
REMOVE_RESOURCE_TT: '$REMOVE_RESOURCE',
SPRINT_DURATION: '$SPRINT_DURATION',
ENTER_USER: '<$ENTER_USER>',
ENTER_PLANNED: '<$ENTER_PLANNED>',
DAYS: '$DAYS',
WILL_CREATE: '$WILL_CREATE',
AUTO_NAME_SPRINTS: '$AUTO_NAME_SPRINTS',
REMAINING_VALUE: '$REMAINING_VALUE',
NO_RESOURCE_MSG: '$NO_RESOURCE_MSG',
NO_PLANNED_MSG: '$NO_PLANNED_MSG',
AUTO_CREATE_SPRINTS: '$AUTO_CREATE_SPRINTS',
AUTO_CREATE_SAVE: '$AUTO_CREATE_SAVE',
AUTO_CREATED: '$AUTO_CREATED',
DELIVERED_VALUE: '$DELIVERED_VALUE',
BAD_DATE_RANGE: '$BAD_DATE_RANGE'
};
var RDFieldId = {
RELEASEID: 'releaseId',
NAME: 'name',
DESCRIPTION: 'desc',
START_DATE: 'startdate',
END_DATE: 'targetdate',
CAPACITY: 'capacity',
UNIT: 'unit',
SPRINT_PREFIX: 'sprintprefix',
SPRINT_DURATION: 'sprintduration',
PLANNED_CAPACITY: 'plancap',
CREATE_SPRINT_CB: 'createSprintCB'
};
var releaseDialog = {
selectedProjectId: null,
selectedReleaseId: null,
xlinkGrid: null,
xlinkDS: null,
usersDS: null,
userArray: null,
totalDaysInt: 0,
totalSprintsInt: 0,
hasCreatedSprints: false,
maxAutoSprints: parseInt('$maxAutoSprints'),
totalSprints : 0,
init : function() {
releaseDialog.releaseIdField = new Ext.form.Hidden({
id: 'releaseDlgId',
name: 'releaseId'
});
// title
releaseDialog.dlgRelTitle = new Ext.form.TextField({
autoCreate: {tag: "input", type: "text", id: "releaseDlgName"},
fieldLabel: RDLabels.NAME,
name: 'name',
anchor:'96%',
allowBlank: false,
maxLength: 36,
validator : function(v) {
if(v!= null && v.trim() == '') {
return RDLabels.BLANK_ENTRY_ERROR;
}
return true;
}
});
releaseDialog.description = new Ext.form.TextArea({
autoCreate: {tag: "textarea", id: "releaseDlgDesc"},
fieldLabel: RDLabels.DESCRIPTION,
name: 'desc',
anchor: '96%',
height: 92,
maxLength : 2000
});
releaseDialog.startDate = new Ext.form.DateField({
autoCreate: {tag: "input", type: "text", id: "releaseDlgStartDate"},
fieldLabel: RDLabels.TARGET_START_DATE,
name: 'startdate',
anchor:'91%',
format: '$LocaleDateFormat',
listeners: {
change: function(field, newVal, oldVal) {
if (newVal != oldVal) {
releaseDialog.updateTotalDays();
releaseDialog.updateTotalSprints();
}
}
}
});
releaseDialog.targetDate = new Ext.form.DateField({
autoCreate: {tag: "input", type: "text", id: "releaseDlgDate"},
fieldLabel: RDLabels.TARGET_END_DATE,
name: 'targetdate',
anchor:'98%',
format: '$LocaleDateFormat',
listeners: {
change: function(field, newVal, oldVal) {
if (newVal != oldVal) {
releaseDialog.updateTotalDays();
releaseDialog.updateTotalSprints();
}
}
}
});
releaseDialog.unit = new Ext.form.TextField({
autoCreate: {tag: "input", type: "text", id: "releaseDlgCapUnit"},
fieldLabel: RDLabels.UNIT,
name: 'unit',
anchor:'85%',
maxLength : 20
});
releaseDialog.plannedcapacity = new Ext.form.NumberField({
autoCreate: {
tag: "input",
type: "text",
size: "20",
maxlength: 4,
id: "releaseDlgPlanned"
},
fieldLabel: RDLabels.PLANNED_CAPACITY,
allowDecimals: false,
allowBlank: true,
allowNegative: false,
name: 'plancap',
anchor:'98%',
maxValue: 9999
});
releaseDialog.sprintduration = new Ext.form.NumberField({
autoCreate: {
tag: "input",
type: "text",
size: "20",
maxlength: 3,
id: "releaseDlgSprintDuration"
},
fieldLabel: RDLabels.SPRINT_DURATION,
allowDecimals: false,
allowBlank: true,
allowNegative: false,
name: 'sprintduration',
anchor:'98%',
maxValue: 9999,
listeners: {
change: function(field, newVal, oldVal) {
if (newVal != oldVal) {
releaseDialog.updateTotalSprints();
}
}
}
});
releaseDialog.sprintprefix = new Ext.form.TextField({
autoCreate: {tag: "input", type: "text", id: "releaseDlgSprintPrefix"},
fieldLabel: RDLabels.SPRINT_PREFIX,
name: 'sprintprefix',
anchor:'98%',
maxLength : 36
});
releaseDialog.totalSprintsComp = new Ext.HTMLComponent({
region:'north',
html:'' + RDLabels.DAYS + '' +
'' +
''
});
releaseDialog.totalDaysComp = new Ext.HTMLComponent({
region:'north',
html:'= ' +
'' + releaseDialog.totalDaysInt + '' +
' ' + RDLabels.DAYS + ''
});
releaseDialog.createSprintsCB = new Ext.form.Checkbox({
autoCreate: {
tag: "input",
type: "checkbox",
id: "releaseCreateSprintsCB"
},
name: 'createSprintCB'
});
releaseDialog.createUsersDS();
releaseDialog.createResourceGrid();
releaseDialog.planningFS = new Ext.form.FieldSet({
title: RDLabels.AUTO_CREATE_SPRINTS,
id: 'autoCreateSprints',
autoHeight:true,
defaults: {width: 425},
collapsible: true,
items :[
{
layout: 'column',
height: 55,
cls: 'sprintFieldSet',
items: [
{
columnWidth:.5,
layout: 'form',
labelWidth: 120,
items: [
releaseDialog.sprintduration,
releaseDialog.sprintprefix
]
},
{
columnWidth:.5,
layout: 'form',
labelWidth: 60,
items: [
releaseDialog.totalSprintsComp,
new Ext.HTMLComponent({
region:'north',
html:'
' + RDLabels.AUTO_NAME_SPRINTS + ''
})
]
}
]
},
{
layout: 'column',
height: 135,
cls: 'fsGridColumn',
items: [
{
columnWidth:.26,
layout: 'form',
labelWidth: 150,
items: [
new Ext.HTMLComponent({
region:'north',
html:'' + RDLabels.RESOURCES + ':'
})
]
},
{
columnWidth:.74,
layout: 'form',
labelWidth: 0,
cls: 'gridFormColumn',
items: [
releaseDialog.gridpanel,
{
layout: 'column',
height: 25,
cls: 'checkboxSet',
items: [
releaseDialog.createSprintsCB,
new Ext.HTMLComponent({
region:'north',
html:'