| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> |
| |
| <form name="sprintList" type="list" use-row-submit="true" list-name="listIt" target="DeleteSprint" paginate-target="SprintList" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <set field="input.noConditionFind" value="N"/> |
| <set field="input.workEffortParentId" from-field="parameters.projectId"/> |
| <set field="input.workEffortTypeId" value="SCRUM_SPRINT"/> |
| <set field="input.currentStatusId" value="SPRINT_ACTIVE"/> |
| <service service-name="performFind" result-map="result" result-map-list="listIt"> |
| <field-map field-name="inputFields" from-field="input"/> |
| <field-map field-name="entityName" value="WorkEffort"/> |
| <field-map field-name="viewIndex" from-field="viewIndex"/> |
| <field-map field-name="viewSize" from-field="viewSize"/> |
| <field-map field-name="orderBy" value="estimatedStartDate"/> |
| </service> |
| </actions> |
| <row-actions> |
| <set field="estimatedHours" value="${estimatedMilliSeconds/1000/60/60}" type="Long"/> |
| </row-actions> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="workEffortId"><hidden value="${workEffortId}"/></field> |
| <field name="workEffortName" title="Sprint Name"> |
| <hyperlink target="ViewSprint" description="${workEffortName}"> |
| <parameter param-name="sprintId" from-field="workEffortId"/> |
| <parameter param-name="projectId" from-field="projectWorkEffort.workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="currentStatusId" title="Current Status"><display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"></display-entity></field> |
| <field name="actualStartDate" title="Start Date"><display></display></field> |
| <field name="actualCompletionDate" title="End Date"><display></display></field> |
| <field name="estimatedHours" title="Sprint Length (hours)"><display></display></field> |
| </form> |
| |
| <form name="sprintListClosed" extends="sprintList"> |
| <actions> |
| <set field="input.noConditionFind" value="N"/> |
| <set field="input.workEffortParentId" from-field="parameters.projectId"/> |
| <set field="input.workEffortTypeId" value="SCRUM_SPRINT"/> |
| <set field="input.currentStatusId" value="SPRINT_CLOSED"/> |
| <service service-name="performFind" result-map="result" result-map-list="listIt"> |
| <field-map field-name="inputFields" from-field="input"/> |
| <field-map field-name="entityName" value="WorkEffort"/> |
| <field-map field-name="viewIndex" from-field="viewIndex"/> |
| <field-map field-name="viewSize" from-field="viewSize"/> |
| <field-map field-name="orderBy" value="estimatedStartDate"/> |
| </service> |
| </actions> |
| </form> |
| |
| <form name="sprintBacklogList" type="list" use-row-submit="true" list-name="custRequestAndCustRequestItem" paginate-target="sprintBacklogListTarget" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <entity-and entity-name="WorkEffortAndProduct" list="projectList"> |
| <field-map field-name="workEffortId" from-field="parameters.projectId"/> |
| </entity-and> |
| <set field="productId" from-field="projectList[0].productId"/> |
| <entity-condition list="custRequestAndCustRequestItem" entity-name="CustRequestAndCustRequestItem"> |
| <condition-list combine="and"> |
| <condition-expr field-name="custRequestTypeId" value="RF_PROD_BACKLOG" /> |
| <condition-expr field-name="statusId" value="CRQ_ACCEPTED" /> |
| <condition-expr field-name="productId" from-field="productId"/> |
| </condition-list> |
| <order-by field-name="custSequenceNum"/> |
| </entity-condition> |
| </actions> |
| <field name="custRequestId"><hidden/></field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogName}"> |
| <hyperlink target="ViewProdBacklogItem" description="${context.description} - [${custRequestId}]"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="custRequestId"><hidden/></field> |
| </form> |
| |
| <form name="sprintBacklogListItems" type="list" use-row-submit="true" list-name="listIt" target="UpdateHours" paginate-target="ViewSprint" separate-columns="true" |
| odd-row-style="alternate-row" default-table-style="hover-bar basic-table"> |
| <row-actions> |
| <!-- get total backlog item's plan hours --> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="backlogPlanHourOutMap"> |
| <field-map field-name="custRequestId"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| <field-map field-name="projectId" from-field="nullField"/> |
| </service> |
| <set field="backlogPlanHours" from-field="backlogPlanHourOutMap.planHours"/> |
| <!-- get task's plan hours --> |
| <service service-name="getScrumPlanHour" result-map="taskPlanHourOutMap"> |
| <field-map field-name="taskId"/> |
| <field-map field-name="custRequestId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| <field-map field-name="projectId" from-field="nullField"/> |
| </service> |
| <set field="planHours" from-field="taskPlanHourOutMap.planHours"/> |
| <!-- condition --> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("custRequestId");return new Boolean(!(prev!=null&&prev.equals(custRequestId)));}" type="Boolean"/> |
| <!-- Get list of task for each sprint backlog --> |
| <entity-and entity-name="WorkEffortPartyAssignView" list="sprintMember"> |
| <field-map field-name="workEffortId" from-field="sprintId"/> |
| <field-map field-name="roleTypeId" value="SCRUM_TEAM"/> |
| </entity-and> |
| <entity-and entity-name="WorkEffortPartyAssignView" list="assignedTos"> |
| <field-map field-name="workEffortId" from-field="taskId"/> |
| </entity-and> |
| <set field="partyId" value="${assignedTos[0].partyId}"/> |
| <service service-name="getScrumActualHour" result-map="result"> |
| <field-map field-name="taskId" from-field="taskId"/> |
| <field-map field-name="partyId" from-field="partyId"/> |
| </service> |
| <set field="taskActualHours" from-field="result.actualHours"/> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="defaultBacklogPlanHours" value="${custRequest.custEstimatedMilliSeconds/3600000}"/> |
| <set field="initialPlannedHours" from-field="defaultBacklogPlanHours"/> |
| <entity-and entity-name="CustRequestItem" list="custRequestItems"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </entity-and> |
| <entity-condition entity-name="CustRequestItem" list="custRequestItems"> |
| <condition-list combine="and"> |
| <condition-expr field-name="custRequestId" from-field="custRequestId"/> |
| <condition-expr field-name="productId" operator="not-equals" from-field="nullValue"/> |
| </condition-list> |
| </entity-condition> |
| <set field="productId" from-field="custRequestItems[0].productId"/> |
| </row-actions> |
| <field name="projectId" position="2"><hidden/></field> |
| <field name="sprintId" position="2"><hidden/></field> |
| <field name="taskId" position="2"><hidden/></field> |
| <field name="VIEW_SIZE_2" position="2"><hidden value="${parameters.VIEW_SIZE_2}"/></field> |
| <field name="VIEW_INDEX_2" position="2"><hidden value="${parameters.VIEW_INDEX_2}"/></field> |
| <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" position="1" use-when="showPosition1&&"${custRequestTypeId}"!="RF_SCRUM_MEETINGS""> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description=" "> |
| <sub-hyperlink target="ViewProdBacklogItem" description="${context.description} - [${custRequestId}]" link-type="hidden-form" target-window="_BLANK" link-style="buttontext"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" position="1" use-when="showPosition1&&"${custRequestTypeId}"=="RF_SCRUM_MEETINGS"" widget-style="disabled"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${context.description} - [${custRequestId}]"> |
| </display-entity> |
| </field> |
| <field name="custRequest.statusId" title="${uiLabelMap.ScrumStatusBacklog}" position="1" use-when="showPosition1&&"Any".equals(paraBacklogStatusId)"> |
| <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/> |
| </field> |
| <field name="taskId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTask}" position="2" parameter-name="workEffortId" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"> |
| <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description=" "> |
| <sub-hyperlink target="taskView" description="${uiLabelMap.ScrumTab} ${taskName} - [${taskId}]" link-type="hidden-form" target-window="_BLANK"> |
| <parameter param-name="projectId"/> |
| <parameter param-name="taskId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="taskTypeId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTaskType}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"> |
| <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${uiLabelMap.ScrumTab} ${description}"/> |
| </field> |
| <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/></field> |
| <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when=""STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="alert"><display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/></field> |
| <field name="dummy1" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy2" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy3" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="initialPlannedHours" title="Initial Plan / Total Plan" position="1" use-when="showPosition1"><display description="${initialPlannedHours} / ${backlogPlanHours}"/></field> |
| <field name="dummy4" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy5" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="taskActualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display></display> |
| </field> |
| <field name="deleteButton" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> |
| <hyperlink target="DeleteSprintBackLogs" description="Delete" confirmation-message="Are you sure to delete this sprint backlog ?" link-type="hidden-form"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="sprintId"/> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="newTask" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> |
| <hyperlink target="NewSprintBacklogTask" description="Add Task" link-type="hidden-form"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="sprintId"/> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="dummy6" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display description=" "/></field> |
| <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" position="2" parameter-name="partyId" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"> |
| <display-entity entity-name="PartyNameView" description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"/> |
| </field> |
| <field name="editTaskParty" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="buttontext"> |
| <hyperlink target="EditTask" description="${uiLabelMap.CommonEdit}" link-type="hidden-form" target-window="_BLANK"> |
| <parameter param-name="taskId"/> |
| <parameter param-name="sprintId"></parameter> |
| </hyperlink> |
| </field> |
| <field name="deleteTaskButton" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="buttontext"> |
| <hyperlink target="DeleteTaskFromSprintOverview" description="Delete" confirmation-message="Are you sure to delete this task ?" link-type="hidden-form"> |
| <parameter param-name="workEffortId" from-field="taskId"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="sprintId"/> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="setCompleteButton" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" |
| position="2"> |
| <hyperlink target="setCompleteTask" description="${uiLabelMap.ScrumSetComplete}" link-type="hidden-form"> |
| <parameter param-name="workEffortId" from-field="taskId"/> |
| <parameter param-name="sprintId"></parameter> |
| </hyperlink> |
| </field> |
| <field name="dummy7" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display description=" "/></field> |
| </form> |
| |
| <form name="sprintBacklogListItemsHideDelete" extends="sprintBacklogListItems"> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display/></field> |
| <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field> |
| <field name="deleteTaskButton" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><hidden/></field> |
| <sort-order> |
| <sort-field name="custRequestId"/> |
| <sort-field name="taskId"/> |
| <sort-field name="custRequest.statusId"/> |
| <sort-field name="dummy1"/> |
| <sort-field name="dummy2"/> |
| <sort-field name="dummy4"/> |
| <sort-field name="dummy5"/> |
| <sort-field name="taskTypeId"/> |
| <sort-field name="taskCurrentStatusId"/> |
| <sort-field name="initialPlannedHours"/> |
| <sort-field name="planHours"/> |
| <sort-field name="newTask"/> |
| <sort-field name="dummy3"/> |
| </sort-order> |
| </form> |
| |
| <form name="ViewSprintItem" type="single" default-entity-name="WorkEffort" target="EditSprintItem?projectId=${parameters.projectId}"> |
| <actions> |
| <entity-and entity-name="WorkEffortCustRequestItemView" list="custRequestItems"> |
| <field-map field-name="workEffortId" from-field="parameters.workEffortId"/> |
| </entity-and> |
| <entity-and entity-name="CustRequestItem" list="custRequestItems"> |
| <field-map field-name="custRequestId" from-field="custRequestItems[0].custRequestId"/> |
| <field-map field-name="custRequestItemSeqId" from-field="custRequestItems[0].custRequestItemSeqId"/> |
| </entity-and> |
| <entity-one entity-name="WorkEffort"> |
| <field-map field-name="workEffortId" from-field="parameters.workEffortId"/> |
| </entity-one> |
| </actions> |
| <field name="workEffortName" title="Sprint Item Name"><display></display></field> |
| <field name="description" title="${uiLabelMap.CommonDescription}" use-when="description!=null"><display></display></field> |
| <field name="custRequestItemName" title="${uiLabelMap.ScrumCustomerRequestItemName}"><display description="${custRequestItems[0].description}"></display></field> |
| <field name="custRequestId"><hidden value="${custRequestItems[0].custRequestId}"/></field> |
| <field name="custRequestItemSeqId"><hidden value="${custRequestItems[0].custRequestItemSeqId}"/></field> |
| <field name="sprintItemId"><hidden value="${parameters.workEffortId}"/></field> |
| <field name="estimatedMilliSeconds" title="${uiLabelMap.ScrumEstimatedHours}"><display></display></field> |
| <field name="submitButton" title="${uiLabelMap.CommonEdit}"><submit button-type="button"/></field> |
| </form> |
| |
| <form name="showSprintInfo" type="single" default-entity-name="WorkEffort" target="EditSprint" > |
| <actions> |
| <entity-one entity-name="WorkEffort" value-field="sprint"> |
| <field-map field-name="workEffortId" from-field="parameters.sprintId"/> |
| </entity-one> |
| <entity-one entity-name="StatusItem" value-field="status"> |
| <field-map field-name="statusId" from-field="sprint.currentStatusId"/> |
| </entity-one> |
| |
| <set field="estimatedHrs" value="${sprint.estimatedMilliSeconds/1000/60/60/40}" type="Integer"/> |
| <entity-and entity-name="WorkEffortCustRequestView" list="custRequests"> |
| <field-map field-name="workEffortId" from-field="parameters.sprintId"/> |
| </entity-and> |
| <entity-and entity-name="WorkEffortAndProduct" list="workeffAndProList"> |
| <field-map field-name="workEffortId" from-field="sprint.workEffortParentId"/> |
| </entity-and> |
| <entity-one entity-name="Product" value-field="resultProduct"> |
| <field-map field-name="productId" from-field="workeffAndProList[0].productId"/> |
| </entity-one> |
| <set field="maxHours" value="${groovy: |
| def memberSize = delegator.findByAnd("WorkEffortPartyAssignment", ["workEffortId": parameters.sprintId]); |
| maxHours = memberSize.size() * context.estimatedHrs * 40; |
| }"/> |
| <service service-name="getScrumPlanHour" result-map="planHourOutMap"> |
| <field-map field-name="sprintId" from-field="parameters.sprintId"/> |
| </service> |
| <set field="planHours" from-field="planHourOutMap.planHours"/> |
| <set field="actualStartDate" from-field="sprint.actualStartDate" type="Timestamp"/> |
| <set field="actualCompletionDate" from-field="sprint.actualCompletionDate" type="Timestamp"/> |
| </actions> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}"> |
| <hyperlink target="ViewProduct" description="${resultProduct.internalName} [${resultProduct.productId}]"> |
| <parameter param-name="productId" from-field="resultProduct.productId"/> |
| </hyperlink> |
| </field> |
| <field name="projectId" title="${uiLabelMap.ScrumProjectName}"> |
| <hyperlink target="viewScrumProject" description="${project.workEffortName} [${project.workEffortId}]"> |
| <parameter param-name="projectId" from-field="parameters.projectId"/> |
| </hyperlink> |
| </field> |
| <field name="workEffortName" title="${uiLabelMap.ScrumSprintName}"><display description="${sprint.workEffortName}"/></field> |
| <field name="description" title="${uiLabelMap.ScrumSprintGoal}" use-when="description!=null"><display description="${sprint.description}"/></field> |
| <field name="currentStatusId"><hidden/></field> |
| <field name="workEffortId"><hidden/></field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}"> |
| <display description="${status.description}"/> |
| </field> |
| <field name="actualStartDate" title="${uiLabelMap.CommonStartDate}"><display type="date"/></field> |
| <field name="actualCompletionDate" title="${uiLabelMap.CommonEndDate}"><display type="date"/></field> |
| <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}"><display description="${estimatedHrs} week(s)"/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}"><display description="${planHours} hours"/></field> |
| <field name="totalBacklogs" title="${uiLabelMap.PageTitleTotalBacklog}"><display description="reviewed:${reviewedBacklog} completed:${completedBacklog} total:${totalbacklog}"></display></field> |
| <field name="totalTasks" title="${uiLabelMap.PageTitleTotalTask}"><display description="created:${createdTask} completed:${completedTask} total:${totalTask}"></display></field> |
| <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="sprintDuration"><hidden value="${estimatedMilliSeconds/144000000}"/></field> |
| </form> |
| |
| <form name="EditSprint" type="single" extends="showSprintInfo" target="UpdateSprint"> |
| <field name="workEffortParentId" entry-name="projectId" title="${uiLabelMap.ScrumSprintMoveToProject}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${workEffortName} [${workEffortId}]" entity-name="WorkEffortAndProduct" key-field-name="workEffortId"> |
| <entity-constraint name="workEffortTypeId" operator="equals" value="SCRUM_PROJECT"/> |
| <entity-constraint name="currentStatusId" operator="equals" value="SPJ_ACTIVE"/> |
| <entity-constraint name="productId" operator="equals" value="${resultProduct.productId}"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="workEffortName" title="${uiLabelMap.ScrumSprintName}"><text default-value="${sprint.workEffortName}"></text></field> |
| <field name="description" title="${uiLabelMap.ScrumSprintGoal}"><textarea default-value="${sprint.description}"/></field> |
| <field name="currentStatusId"><hidden value="${sprint.currentStatusId}"/></field> |
| <field name="actualStartDate"><date-time type="date" default-value="${sprint.actualStartDate}"/></field> |
| <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLength}"><hidden/></field> |
| <field name="sprintDuration" title="${uiLabelMap.ScrumSprintLengthWeeks}" > |
| <drop-down current-description="${estimatedHrs}" no-current-selected-key="${estimatedHrs}"> |
| <option key="1" description="1"/> |
| <option key="2" description="2"/> |
| <option key="3" description="3"/> |
| <option key="4" description="4"/> |
| </drop-down> |
| </field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="sprintId"> <hidden value="${parameters.sprintId}"/></field> |
| <field name="workEffortId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="workEffortTypeId"><hidden value="SCRUM_SPRINT"/></field> |
| <field name="statusName"><hidden/></field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}"> |
| <drop-down> |
| <entity-options description="${description}" entity-name="StatusItem"> |
| <entity-constraint name="statusTypeId" value="SPRINT_STATUS" operator="equals"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="totalBacklogs" ><ignored/> </field> |
| <field name="totalTasks"><ignored/> </field> |
| <field name="deleteButton"><hidden/></field> |
| <field name="actualDate" title="${uiLabelMap.CommonEndDate}"><hidden/></field> |
| <field name="maxHours" title="${uiLabelMap.ScrumMaximumHours}"><hidden/></field> |
| <field name="updateButton" title="${uiLabelMap.CommonUpdate}"><submit/></field> |
| <sort-order> |
| <sort-field name="productId"/> |
| <sort-field name="workEffortParentId"/> |
| <sort-field name="workEffortName"/> |
| <sort-field name="description"/> |
| <sort-field name="statusId"/> |
| <sort-field name="actualStartDate"/> |
| <sort-field name="actualCompletionDate"/> |
| <sort-field name="planHours"/> |
| <sort-field name="sprintDuration"/> |
| <sort-field name="updateButton"/> |
| </sort-order> |
| </form> |
| |
| <form name="addSprint" skip-end="true" type="single" target="createSprint" default-entity-name="WorkEffort" default-map-name="projectWorkEffort"> |
| <field name="sprintName" title="${uiLabelMap.ScrumSprintName}"><text size="60"></text></field> |
| <field name="sprintDescription" title="${uiLabelMap.ScrumSprintGoal}"><textarea/></field> |
| <field name="workEffortTypeId"><hidden value="SCRUM_SPRINT"/></field> |
| <field name="currentStatusId"><hidden value="CRQ_DRAFT"/></field> |
| <field name="sprintEstimatedStart" title="${uiLabelMap.CommonStartDate}"><date-time type="date"/></field> |
| <field name="sprintDuration" title="${uiLabelMap.ScrumSprintLengthWeeks}"> |
| <drop-down current-description="2" no-current-selected-key="2"> |
| <option key="1" description="1"/> |
| <option key="2" description="2"/> |
| <option key="3" description="3"/> |
| <option key="4" description="4"/> |
| </drop-down> |
| </field> |
| </form> |
| |
| <form name="addSprintMember" type="single" target="addSprintMember" default-map-name="projectMembers"> |
| <actions> |
| <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" distinct="true" list="listPerson"> |
| <condition-list combine="and"> |
| <condition-expr field-name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> |
| <condition-expr field-name="thruDate" value="" operator="equals" ignore-if-empty="true"/> |
| <condition-expr field-name="groupId" value="SCRUM_TEAM" operator="equals"/> |
| </condition-list> |
| <select-field field-name="lastName"/> |
| <select-field field-name="firstName"/> |
| <select-field field-name="middleName"/> |
| <select-field field-name="partyId"/> |
| <order-by field-name="lastName"/> |
| </entity-condition> |
| <entity-and entity-name="WorkEffortAndProduct" list="projectList"> |
| <field-map field-name="workEffortId" from-field="parameters.projectId"/> |
| </entity-and> |
| <set field="productId" from-field="projectList[0].productId"/> |
| <set field="sprintId" from-field="parameters.sprintId"/> |
| </actions> |
| <field name="productId"><hidden/></field> |
| <field name="partyId" title="${uiLabelMap.Person}" tooltip="${uiLabelMap.CommonPerson}" use-when="parameters.get("partyId")!=null" parameter-name="partyId"> |
| <display-entity entity-name="PartyNameView" description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"> |
| <sub-hyperlink target="SprintMember?sprintId=${parameters.sprintId}" description="[${uiLabelMap.CommonChange}]"/> |
| </display-entity> |
| </field> |
| <field name="partyId" title="${uiLabelMap.Person}" tooltip="${uiLabelMap.CommonPerson}" event="onchange" action="javascript:document.addSprintMember.action='SprintMember';document.addSprintMember.submit();" use-when="parameters.get("partyId")==null" parameter-name="partyId"> |
| <drop-down allow-empty="false"> |
| <option key="" description="- ${uiLabelMap.CommonSelectOne} -"/> |
| <list-options key-name="partyId" list-name="listPerson" description="${lastName} ${firstName} ${middleName}"/> |
| </drop-down> |
| </field> |
| <field name="roleTypeId"> |
| <drop-down current="selected" allow-empty="false"> |
| <entity-options entity-name="PartyRoleDetailAndPartyDetail" description="${description}"> |
| <entity-constraint name="partyId" operator="equals" value="${parameters.partyId}"/> |
| <entity-constraint name="parentTypeId" operator="equals" value="SCRUM_MEMBER"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="fromDate"><date-time/></field> |
| <field name="thruDate"><date-time/></field> |
| <field name="statusId"><hidden value="PRTYASGN_ASSIGNED"/></field> |
| <field name="workEffortId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="submitButton" title="${uiLabelMap.ScrumAssign}"><submit button-type="button"/></field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> |
| </form> |
| <form name="listSprintMember" type="list" target="delSprintMember" list-name="listIt" use-row-submit="true" paginate-target="ViewSprint" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <set field="input.noConditionFind" from-field="parameters.noConditionFind" default-value="Y"/> |
| <set field="input.workEffortId" from-field="parameters.sprintId"/> |
| <service service-name="performFind" result-map="result" result-map-list="listIt"> |
| <field-map field-name="inputFields" from-field="input"/> |
| <field-map field-name="entityName" value="WorkEffortPartyAssignView"/> |
| <field-map field-name="orderBy" value="firstName"/> |
| <field-map field-name="viewIndex" from-field="viewIndex"/> |
| <field-map field-name="viewSize" from-field="viewSize"/> |
| </service> |
| </actions> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="sprintId"> <hidden value="${parameters.sprintId}"/></field> |
| <field name="partyId"><hidden/></field> |
| <field name="workEffortId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="memberName" title="${uiLabelMap.ScrumMembersName}"><hyperlink target="viewprofile" description="${lastName}, ${firstName} ${middleName} [${partyId}]"><parameter param-name="partyId"/></hyperlink></field> |
| <field name="roleTypeId"> |
| <display-entity entity-name="RoleType" description="${description}"/> |
| </field> |
| <field name="fromDate"><display type="date"/></field> |
| <field name="thruDate"><display type="date"/></field> |
| <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> |
| <field name="submitButton" title="${uiLabelMap.CommonRemove}"><submit confirmation-message="Are you sure to delete selected member ?"/></field> |
| </form> |
| <form name="listSprintMemberNoAction" extends="listSprintMember"> |
| <field name="submitButton"><hidden/></field> |
| </form> |
| <form name="listSprintMemberForStakeholder" extends="listSprintMember"> |
| <field name="memberName" title="${uiLabelMap.ScrumMembersName}"> |
| <display description="${lastName}, ${firstName} ${middleName} [${partyId}]"></display> |
| </field> |
| <field name="submitButton"><hidden/></field> |
| </form> |
| |
| <form name="editScrumProject" default-map-name="workEffort" target="updateScrumProject" title="" type="single"> |
| <actions> |
| <entity-one value-field="workEffortAttMap" entity-name="WorkEffortAttribute"> |
| <field-map field-name="workEffortId" from-field="workEffortId"/> |
| <field-map field-name="attrName" value="PROJECT_BILLED"/> |
| </entity-one> |
| <set field="workEffAttMap.billed" from-field="workEffortAttMap.attrValue"/> |
| </actions> |
| <alt-target use-when="workEffort==null" target="createScrumProject"/> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}" use-when="workEffort==null"> |
| <drop-down> |
| <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> |
| <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/> |
| <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <entity-order-by field-name="groupName"/> |
| <entity-order-by field-name="internalName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="productId" title="${uiLabelMap.ScrumProjectMoveToProduct}" use-when="workEffort!=null"> |
| <drop-down> |
| <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> |
| <entity-constraint name="partyId" operator="equals" value="${productAndRoleMap.partyId}"/> |
| <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/> |
| <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <entity-order-by field-name="groupName"/> |
| <entity-order-by field-name="internalName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="productName" entry-name="productId" title="${uiLabelMap.ScrumProductName}" use-when="workEffort!=null" parameter-name="productName"> |
| <display-entity entity-name="Product" key-field-name="productId" description="${internalName}"/> |
| </field> |
| <field name="workEffortId"><hidden/></field> |
| <field name="workEffortTypeId"><hidden value="SCRUM_PROJECT"/></field> |
| <field name="partyId"><hidden value="${userLogin.partyId}"/></field> |
| <field name="productOwnerId"><hidden value="${parameters.partyId}"/></field> |
| <field name="workEffortName" title="${uiLabelMap.ScrumProjectName}"><text/></field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" map-name="workEffAttMap"> |
| <drop-down allow-empty="true"> |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="currentStatusId" use-when="workEffortId==null"><hidden value="SPJ_ACTIVE"/></field> |
| <field name="description" title="${uiLabelMap.ScrumProjectGoal}"><textarea/></field> |
| <field name="currentStatusId" use-when="workEffortId!=null" title="${uiLabelMap.CommonStatus}"> |
| <drop-down current="first-in-list" current-description="${currentStatus.description}"> |
| <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}"> |
| <entity-constraint name="statusTypeId" value="SCRUM_PROJECT_STATUS"/> |
| <entity-order-by field-name="description"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="smallSubmit"><submit/></field> |
| </form> |
| <form name="newScrumProject" extends="editScrumProject"> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}"><display-entity entity-name="Product" description="${internalName} [${productId}]"/> </field> |
| </form> |
| |
| <form name="ScrumProject" type="single" target="viewScrumProject" default-map-name="project"> |
| <actions> |
| <entity-one entity-name="ProjectSprintBacklogAndTask" value-field="showDate"> |
| <field-map field-name="projectId" from-field="project.workEffortId"/> |
| </entity-one> |
| <service service-name="getScrumActualHour" result-map="results"> |
| <field-map field-name="projectId" from-field="project.workEffortId"/> |
| </service> |
| <entity-and entity-name="WorkEffort" list="sprintList"> |
| <field-map field-name="workEffortParentId" from-field="parameters.projectId"/> |
| <field-map field-name="workEffortTypeId" value="SCRUM_SPRINT"/> |
| <order-by field-name="actualStartDate"/> |
| </entity-and> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="project.productId"/> |
| </entity-one> |
| <entity-and entity-name="ProductRole" list="productRoleList"> |
| <field-map field-name="productId" from-field="product.productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| </entity-and> |
| <set field="partyMap.productOwnerId" from-field="productRoleList[0].partyId"/> |
| <entity-one value-field="workEffortAttMap" entity-name="WorkEffortAttribute"> |
| <field-map field-name="workEffortId" from-field="parameters.projectId"/> |
| <field-map field-name="attrName" value="PROJECT_BILLED"/> |
| </entity-one> |
| <set field="actualStartDate" from-field="sprintList[0].actualStartDate" type="Date"/> |
| </actions> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}" entity-name="Product" parameter-name="productId"> |
| <display-entity entity-name="Product" key-field-name="productId" description=" "> |
| <sub-hyperlink target="ViewProduct" description="${product.internalName} [${project.productId}]"> |
| <parameter param-name="productId" from-field="project.productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="workEffortName" title="${uiLabelMap.ScrumProjectName}"><display/></field> |
| <field name="productOwnerId" title="${uiLabelMap.ScrumProductOwner}" map-name="partyMap"> |
| <display-entity entity-name="Person" key-field-name="partyId" description="${firstName} ${lastName} ${middleName} [${partyId}]"/> |
| </field> |
| <field name="description" title="${uiLabelMap.ScrumProjectGoal}"><display/></field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}"><display description="${workEffortAttMap.attrValue}"/></field> |
| <field name="currentStatusId" title="${uiLabelMap.CommonStatus}"> |
| <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> |
| </field> |
| <field name="actualStartDate"><display description="${actualStartDate}"/></field> |
| <field name="actualCompletionDate"><display type="date"/></field> |
| <field name="actualHours"><display description="${results.actualHours}"/></field> |
| </form> |
| |
| <form name="EditProdBacklog" type="single" target="createProductBacklog" default-map-name="custRequest"> |
| <actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="nullField" type="Timestamp"/> |
| <set field="custRequestName" from-field="custRequest.custRequestName"/> |
| <set field="openDateTime" from-field="custRequest.openDateTime"/> |
| <set field="closedDateTime" from-field="custRequest.closedDateTime"/> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| </entity-one> |
| <entity-and entity-name="CustRequestNoteView" list="custRequestNotes"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| <field-map field-name="noteName" value="How to test"/> |
| </entity-and> |
| <entity-condition entity-name="ProductBacklog" list="workEffortlist"> |
| <condition-list> |
| <condition-expr field-name="custRequestId" from-field="custRequestId"/> |
| <condition-expr field-name="workEffortTypeId" value="SCRUM_SPRINT"/> |
| </condition-list> |
| </entity-condition> |
| <entity-one entity-name="WorkEffort" value-field="workEffort"> |
| <field-map field-name="workEffortId" from-field="workEffortlist[0].workEffortId"/> |
| </entity-one> |
| <set field="sprintName" from-field="workEffort.workEffortName"/> |
| <set field="projectId" from-field="workEffort.workEffortParentId"/> |
| <set field="noteInfo" from-field="custRequestNotes[0].noteInfo"/> |
| <entity-one value-field="workEffortAttMap" entity-name="WorkEffortAttribute"> |
| <field-map field-name="workEffortId" from-field="projectId"/> |
| <field-map field-name="attrName" value="PROJECT_BILLED"/> |
| </entity-one> |
| <set field="projectBilled" from-field="workEffortAttMap.attrValue"/> |
| <entity-and entity-name="ProductRole" list="productRole"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="thruDate" from-field="nullField"/> |
| <order-by field-name="roleTypeId"/> |
| </entity-and> |
| <entity-one entity-name="ProductAndRole" value-field="Owner"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="partyId" from-field="productRole[0].partyId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| <field-map field-name="fromDate" from-field="productRole[0].fromDate"/> |
| </entity-one> |
| <entity-one entity-name="ProductAndRole" value-field="Company"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="partyId" from-field="productRole[1].partyId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <field-map field-name="fromDate" from-field="productRole[1].fromDate"/> |
| </entity-one> |
| <entity-and entity-name="PartyRelationshipAndPartyDetail" list="party"> |
| <field-map field-name="partyIdFrom" from-field="Company.partyId"/> |
| <field-map field-name="roleTypeIdFrom" value="ACCOUNT"/> |
| <field-map field-name="roleTypeIdTo" value="CONTACT"/> |
| <field-map field-name="thruDate" from-field="nullField"/> |
| </entity-and> |
| <entity-condition entity-name="PartyRelationshipAndDetail" list="request"> |
| <condition-expr field-name="partyId" from-field="custRequest.fromPartyId"/> |
| </entity-condition> |
| <entity-and entity-name="CustRequestItem" list="custRequestItems"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </entity-and> |
| <set field="story" from-field="custRequestItems[0].story"/> |
| </actions> |
| <alt-target use-when="custRequestId!=null" target="updateProductBacklog?custRequestId=${parameters.custRequestId}"/> |
| <field name="sequence"><hidden value="${sequence}"/></field> |
| <field name="backStatusId" use-when="custRequest==null"><hidden value="CRQ_ACCEPTED"/> </field> |
| <field name="noteId"><hidden value="${custRequestNotes[0].noteId}"/></field> |
| <field name="productId"><hidden value="${parameters.productId}"/></field> |
| <field name="partyId"><hidden value="userLogin.partyId"/></field> |
| <field name="custRequestTypeId" use-when="custRequest==null"><hidden/></field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.ScrumMax255Chars}" use-when="custRequest==null"> |
| <text size="63" maxlength="255"/> |
| </field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.ScrumMax255Chars}" use-when="custRequest!=null&&isTeamMember==false"><text size="63" maxlength="255"/></field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.CommonRequired}" use-when="custRequest!=null&&isTeamMember==true"><display/></field> |
| <field name="productId" map-name="product" title="${uiLabelMap.ScrumProjectMoveToProduct}" use-when="custRequest!=null&&isTeamMember==false"> |
| <drop-down> |
| <entity-options description="${groupName} ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> |
| <entity-constraint name="partyId" operator="equals" value="${Company.partyId}"/> |
| <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/> |
| <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <entity-order-by field-name="groupName"/> |
| <entity-order-by field-name="internalName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="productId" map-name="product" title="${uiLabelMap.ScrumProjectMoveToProduct}" use-when="custRequest!=null&&isTeamMember==true"> |
| <display-entity entity-name="Product" description="${internalName} [${productId}]" key-field-name="productId"/> |
| </field> |
| <field name="groupName" title="${uiLabelMap.ScrumCompany}" parameter-name="partyIdFrom" use-when="custRequest!=null"> |
| <display description="${Company.groupName}"/> |
| </field> |
| <field name="productOwerId" title="${uiLabelMap.ScrumProductOwner}" use-when="custRequest!=null"> |
| <display description="${Owner.lastName} ${Owner.firstName} ${Owner.middleName}"/> |
| </field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="custRequest==null"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" env-name="productId"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| <entity-order-by field-name="custRequestName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="custRequest!=null&&isTeamMember==false"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" env-name="productId"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="custRequest!=null&&isTeamMember==true"> |
| <display-entity entity-name="CustRequest" description="${custRequestName}" key-field-name="custRequestId"/> |
| </field> |
| <field name="planedTime" parameter-name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest==null"> |
| <text size="3"/> |
| </field> |
| <field name="planedTime" parameter-name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest!=null&&isTeamMember==false"><text size="3" default-value="${custRequest.custEstimatedMilliSeconds/3600000}"/></field> |
| <field name="planedTime" parameter-name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest!=null&&isTeamMember==true"><display description="${custRequest.custEstimatedMilliSeconds/3600000}"/></field> |
| <field name="custSequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest==null"> |
| <text size="3"></text> |
| </field> |
| <field name="custSequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest!=null&&isTeamMember==false"><text size="3"></text></field> |
| <field name="custSequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest!=null&&isTeamMember==true"><display/></field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest==null"> |
| <drop-down allow-empty="false" no-current-selected-key="Y"> |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&&isTeamMember==false&&projectBilled==null"> |
| <drop-down allow-empty="false" no-current-selected-key="Y"> |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&&isTeamMember==false&&projectBilled!=null" tooltip="${uiLabelMap.ScrumSetOnProjectLevel}"> |
| <display/> |
| </field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&&isTeamMember==true"><display/></field> |
| <field name="custRequestTypeId" title="${uiLabelMap.ScrumUnplanBacklog}" use-when="isTeamMember==false"> |
| <drop-down allow-empty="false" no-current-selected-key="N"> |
| <option key="RF_UNPLAN_BACKLOG" description="${uiLabelMap.CommonY}"/> |
| <option key="RF_PROD_BACKLOG" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="custRequestTypeId" title="${uiLabelMap.ScrumUnplanBacklog}" use-when="custRequest!=null&&isTeamMember==true"> |
| <display-entity entity-name="CustRequestType" description="${description}" key-field-name="custRequestTypeId"/> |
| </field> |
| <field name="unplannedFlag" title="${uiLabelMap.ScrumUnplanBacklog}" use-when="custRequest==null"> |
| <drop-down allow-empty="false" no-current-selected-key="N"> |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" use-when="custRequest!=null"> |
| <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"></display-entity> |
| </field> |
| <field name="partyIdTo" title="${uiLabelMap.ScrumRequestName}" parameter-name="partyIdTo" use-when="custRequest!=null&&isTeamMember==false"> |
| <drop-down no-current-selected-key="${custRequest.fromPartyId}" allow-empty="false"> |
| <list-options list-name="party" description="${toLastName} ${toFirstName} ${toMiddleName}" key-name="partyIdTo"/> |
| </drop-down> |
| </field> |
| <field name="partyIdTo" title="${uiLabelMap.ScrumRequestName}" parameter-name="partyIdTo" use-when="custRequest!=null&&isTeamMember==true"> |
| <display description="${request[0].lastName} ${request[0].firstName} ${request[0].middleName}"/> |
| </field> |
| <field name="Sprint" title="${uiLabelMap.ScrumSprintName}" use-when="sprintName!=null"> |
| <hyperlink target="ViewSprint" description="${sprintName} [${workEffortlist[0].workEffortId}]"> |
| <parameter param-name="prjectId" from-field="projectId"/> |
| <parameter param-name="sprintId" from-field="workEffortlist[0].workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest==null"> |
| <textarea rows="4" cols="60" default-value="${story}" /> |
| </field> |
| <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest!=null&&isTeamMember==false"><textarea rows="4" cols="60" default-value="${story}" /></field> |
| <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest!=null&&isTeamMember==true"><display description="${story}"/></field> |
| <field name="noteInfo" title="${uiLabelMap.ScrumHowToTest}"><textarea rows="4" cols="60" default-value="${noteInfo}" /></field> |
| <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| <sort-order> |
| <sort-field name="description"/> |
| <sort-field name="productId"/> |
| <sort-field name="partyId"/> |
| <sort-field name="groupName"/> |
| <sort-field name="productOwerId"/> |
| <sort-field name="parentCustRequestId"/> |
| <sort-field name="Sprint"/> |
| <sort-field name="planedTime"/> |
| <sort-field name="custSequenceNum"/> |
| <sort-field name="billed"/> |
| <sort-field name="unplannedFlag"/> |
| <sort-field name="custRequestTypeId"/> |
| <sort-field name="statusId"/> |
| <sort-field name="partyIdTo"/> |
| <sort-field name="productId"/> |
| <sort-field name="story"/> |
| <sort-field name="noteId"/> |
| <sort-field name="noteInfo"/> |
| <sort-field name="custRequestTypeId"/> |
| <sort-field name="submitButton"/> |
| </sort-order> |
| </form> |
| |
| <form name="FindProdBacklog" type="single" target="ViewTotalBacklog"> |
| <actions> |
| <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="requesterList"> |
| <condition-list combine="or" > |
| <condition-expr field-name="groupId" value="SCRUM_MASTER"/> |
| <condition-expr field-name="groupId" value="SCRUM_PRODUCT_OWNER"/> |
| </condition-list> |
| </entity-condition> |
| </actions> |
| <field name="sequence"><hidden value="${sequence}"/></field> |
| <field name="productId"><hidden value="${parameters.productId}"/></field> |
| <field name="custRequestId" title="${uiLabelMap.ScrumProductBacklogId}"><text-find/></field> |
| <field name="fromPartyId" title="${uiLabelMap.ScrumRequesterName}" position="2"> |
| <drop-down allow-empty="true"> |
| <option key=""/> |
| <list-options key-name="partyId" list-name="requesterList" description="${lastName} ${firstName} ${middleName}"/> |
| </drop-down> |
| </field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogName}"><text-find/></field> |
| <field name="custRequestDate" title="${uiLabelMap.ScrumRequestDate}" position="2"> |
| <date-time type="date"/> |
| </field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" value="${parameters.productId}"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| <entity-order-by field-name="custRequestName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" position="2"> |
| <drop-down allow-empty="true" current-description="" > |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="custRequestTypeId" title="${uiLabelMap.ScrumPlanned}"> |
| <drop-down allow-empty="false"> |
| <option key="${uiLabelMap.CommonAny}" description=" "/> |
| <option key="RF_PROD_BACKLOG" description="${uiLabelMap.CommonY}"/> |
| <option key="RF_UNPLAN_BACKLOG" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"> |
| <drop-down allow-empty="false"> |
| <option key="${uiLabelMap.CommonAny}" description=" "/> |
| <entity-options entity-name="StatusItem" description="${description}" key-field-name="statusId"> |
| <entity-constraint name="statusTypeId" value="CUSTREQ_STTS"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_PENDING"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_REJECTED"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_DRAFT"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_SUBMITTED"/> |
| <entity-order-by field-name="sequenceId"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> |
| <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="FindTotalBacklog" type="single" target="FindTotalBacklog"> |
| <actions> |
| <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="requesterList"> |
| <condition-list combine="or" > |
| <condition-expr field-name="groupId" value="SCRUM_MASTER"/> |
| <condition-expr field-name="groupId" value="SCRUM_PRODUCT_OWNER"/> |
| </condition-list> |
| </entity-condition> |
| </actions> |
| <field name="custRequestId" title="${uiLabelMap.ScrumProductBacklogId}"><text/></field> |
| <field name="productId" position="2"><text/></field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogName}"><text/></field> |
| <field name="fromPartyId" title="${uiLabelMap.ScrumRequesterName}" position="2"> |
| <drop-down allow-empty="true"> |
| <option key=""/> |
| <list-options key-name="partyId" list-name="requesterList" description="${lastName} ${firstName} ${middleName}"/> |
| </drop-down> |
| </field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" value="${parameters.productId}"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| <entity-order-by field-name="custRequestName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="custRequestDate" title="${uiLabelMap.ScrumRequestDate}" position="2"> |
| <date-time type="date"/> |
| </field> |
| <field name="custRequestTypeId" title="${uiLabelMap.ScrumPlanned}"> |
| <drop-down allow-empty="false"> |
| <option key="${uiLabelMap.CommonAny}" description=" "/> |
| <option key="RF_PROD_BACKLOG" description="${uiLabelMap.CommonY}"/> |
| <option key="RF_UNPLAN_BACKLOG" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}" position="2"> |
| <drop-down allow-empty="true" current-description="" > |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}"> |
| <drop-down allow-empty="false"> |
| <option key="${uiLabelMap.CommonAny}" description=" "/> |
| <entity-options entity-name="StatusItem" description="${description}" key-field-name="statusId"> |
| <entity-constraint name="statusTypeId" value="CUSTREQ_STTS"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_PENDING"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_REJECTED"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_DRAFT"/> |
| <entity-constraint name="statusId" operator="not-equals" value="CRQ_SUBMITTED"/> |
| <entity-order-by field-name="sequenceId"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| |
| <form name="ListProdBacklog" type="multi" use-row-submit="true" list-name="custRequestAndCustRequestItems" target="updateProductBacklogItemRow?productId=${productId}&sequence=${sequence}&" paginate-target="AddProdBacklog" separate-columns="true" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate="true"> |
| <actions> |
| <set field="parentCustRequestId" from-field="parameters.parentCustRequestId" default-value=""/> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="description" from-field="custRequest.description"/> |
| <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/> |
| <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("parentCustRequestId");return new Boolean(!(prev!=null&&prev.equals(parentCustRequestId)));}" type="Boolean"/> |
| </row-actions> |
| <field name="postWorkHours"><hidden value="1"/></field> |
| <field name="priority"><hidden/></field> |
| <field name="custRequestCategoryGroupId" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumCategory}"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"/> |
| </field> |
| <!-- order button --> |
| <field name="top" position="2" title="${uiLabelMap.CommonEmptyHeader}"> |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-up-green.png"> |
| <parameter param-name="mode" value="TOP"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="orderBy" from-field="orderBy"/> |
| <parameter param-name="sequence" value="N"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="bot" position="2" title="${uiLabelMap.CommonEmptyHeader}"> |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-down-green.png"> |
| <parameter param-name="mode" value="BOT"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="orderBy" from-field="orderBy"/> |
| <parameter param-name="sequence" value="N"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="up" position="2" title="${uiLabelMap.CommonEmptyHeader}" > |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-up-green.png"> |
| <parameter param-name="mode" value="UP"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="orderBy" from-field="orderBy"/> |
| <parameter param-name="sequence" value="N"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="dwn" position="2" title="${uiLabelMap.CommonEmptyHeader}"> |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-down-green.png"> |
| <parameter param-name="mode" value="DWN"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="orderBy" from-field="orderBy"/> |
| <parameter param-name="sequence" value="N"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="custSequenceNum" position="2" title="${uiLabelMap.ScrumSeq}"><display/></field> |
| <field name="custRequestId" position="2" title="${uiLabelMap.ScrumProductBacklogItem}"> |
| <hyperlink target="ViewProdBacklogItem" description="${description} [${custRequestId}]"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><text size="3"/></field> |
| <field name="parentCustRequestId" position="2" title="${uiLabelMap.ScrumCategory}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" env-name="productId"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="deleteFlag" position="2" title="${uiLabelMap.CommonDelete}"><check/></field> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| </form> |
| <form name="ListProdBacklogForOwner" extends="ListProdBacklog"> |
| <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><display/></field> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| </form> |
| <form name="ListProdBacklogBySeq" type="multi" use-row-submit="false" list-name="custRequestAndCustRequestItems" target="updateProductBacklogItemRow?productId=${productId}&sequence=${sequence}&backStatusId=CRQ_ACCEPTED" |
| paginate-target="AddProdBacklog" separate-columns="true" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate="true"> |
| <row-actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="product" from-field="custRequest.description"/> |
| <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/> |
| </row-actions> |
| <field name="sequence"><hidden value="Y"/></field> |
| <field name="custRequestCategoryGroupId"><hidden/></field> |
| <!-- order button --> |
| <field name="top" position="1" title="${uiLabelMap.CommonEmptyHeader}"> |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-up-green.png"> |
| <parameter param-name="mode" value="TOP"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="sequence" value="Y"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="bot" position="1" title="${uiLabelMap.CommonEmptyHeader}"> |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-down-green.png"> |
| <parameter param-name="mode" value="BOT"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="sequence" value="Y"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="up" position="1" title="${uiLabelMap.CommonEmptyHeader}" > |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-up-green.png"> |
| <parameter param-name="mode" value="UP"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="sequence" value="Y"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="dwn" position="1" title="${uiLabelMap.CommonEmptyHeader}"> |
| <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-down-green.png"> |
| <parameter param-name="mode" value="DWN"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestItemSeqId"/> |
| <parameter param-name="statusId" value="${parameters.statusId}"/> |
| <parameter param-name="sequence" value="Y"/> |
| <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> |
| <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> |
| <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> |
| <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> |
| <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> |
| <parameter param-name="searchOption_description" value="${parameters.description}"/> |
| <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> |
| <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> |
| <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> |
| <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> |
| </hyperlink> |
| </field> |
| <field name="custSequenceNum" position="1" title="${uiLabelMap.ScrumSeq}"><display/></field> |
| <field name="realSequenceNum"><hidden/></field> |
| <field name="custRequestId"><hidden/></field> |
| <field name="backlogId" position="1" title="${uiLabelMap.ScrumBacklogId}"> |
| <hyperlink target="ViewProdBacklogItem" description="${custRequestId}"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="description" position="1" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="tabletext"> |
| <display description="${product}"> |
| <in-place-editor url="updateCustRequest" cancel-control="button" saving-text="Updating..." text-between-controls=" "> |
| <simple-editor/> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </in-place-editor> |
| </display> |
| </field> |
| <field name="newSequenceNum" title="${uiLabelMap.ScrumNewSequence}"><text size="3"/></field> |
| <field name="estimatedHours" position="1" title="${uiLabelMap.ScrumPlanedHours}"><text size="3"/></field> |
| <field name="parentCustRequestId" position="1" title="${uiLabelMap.ScrumCategory}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" env-name="productId"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="setToReview" widget-style="buttontext" title="${uiLabelMap.ScrumMoveToUnplannedSprint}"><hidden/></field> |
| <field name="deleteFlag" position="1" title="${uiLabelMap.CommonDelete}" widget-style="buttontext"> |
| <hyperlink target="DeleteProductBacklogItem" description="${uiLabelMap.CommonDelete}"> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| <parameter param-name="custRequestId" from-field="custRequestId"/> |
| <parameter param-name="statusId" from-field="parameters.statusId"/> |
| </hyperlink> |
| </field> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| </form> |
| <form name="ListProdBacklogBySeqForOwner" extends="ListProdBacklogBySeq"> |
| <field name="estimatedHours"><display/></field> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| </form> |
| <form name="projectList" type="list" target="main" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="Sprints" list-name="sprints"> |
| <actions> |
| <set field="isCurrentProject" value="${groovy: request.setAttribute("isCurrentProject", false);}" type="Boolean"/> |
| <set field="currentProject" value="${groovy: request.setAttribute("currentProject", ' ');}" type="String"/> |
| </actions> |
| <row-actions> |
| <set field="isCurrentProject" value="${groovy: |
| if (request.getAttribute("currentProject") != context.projectId) |
| request.setAttribute("isCurrentProject", false); |
| else |
| request.setAttribute("isCurrentProject", true); |
| if (request.getAttribute("currentProject") != context.projectId) |
| request.setAttribute("currentProject", context.projectId); |
| return (boolean)request.getAttribute("isCurrentProject"); |
| }" |
| type="Boolean"/> |
| <set field="isCurrentCompany" value="${groovy: |
| if (request.getAttribute("currentCompany") != context.companyId) |
| request.setAttribute("isCurrentCompany", false); |
| else |
| request.setAttribute("isCurrentCompany", true); |
| if (request.getAttribute("currentCompany") != context.companyId) |
| request.setAttribute("currentCompany", context.companyId); |
| return (boolean)request.getAttribute("isCurrentCompany"); |
| }" |
| type="Boolean"/> |
| <set field="estimatedHrs" value="${sprintEstimatedMilliSeconds/1000/60/60/40}" type="Integer"/> |
| <entity-and entity-name="WorkEffortCustRequestView" list="custRequests"> |
| <field-map field-name="workEffortId" from-field="parameters.sprintId"/> |
| </entity-and> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="planHourOutMap"> |
| <field-map field-name="projectId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="context.sprintId"/> |
| </service> |
| <set field="planHours" from-field="planHourOutMap.planHours"/> |
| |
| <service service-name="getScrumActualHour" result-map="resultActualHours" > |
| <field-map field-name="projectId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="context.sprintId"/> |
| </service> |
| <set field="actualHours" from-field="resultActualHours.actualHours"/> |
| <set field="actualHoursNotBillYet" from-field="resultActualHours.actualHoursNotBillYet"/> |
| <service service-name="getScrumProject" result-map="result"> |
| <field-map field-name="projectId" from-field="projectId"/> |
| </service> |
| <set field="productId" value="${result.projectInfo.productId}"/> |
| <set field="productOwnerId" value="${result.projectInfo.productOwnerId}"/> |
| <set field="productOwnerName" value="${result.projectInfo.productOwnerName}"/> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="productId"/> |
| </entity-one> |
| </row-actions> |
| <field name="companyId" title="${uiLabelMap.ScrumOwnerCompany}" position="1" use-when="!isCurrentCompany" widget-style="buttontext"> |
| <hyperlink target="viewprofile" description="${companyName} [${companyId}]"> |
| <parameter param-name="partyId" from-field="companyId"/> |
| </hyperlink> |
| </field> |
| <field name="projectName" title="${uiLabelMap.ScrumProject}" position="1" use-when="!isCurrentProject" widget-style="buttontext"> |
| <hyperlink target="viewScrumProject" description="${projectName} [${projectId}]"> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="productId" title="${uiLabelMap.ScrumProduct}" position="1" use-when="!isCurrentProject"> |
| <display-entity entity-name="Product" description=" " key-field-name="productId"> |
| <sub-hyperlink target="ViewProduct" description="${product.internalName} [${productId}]"> |
| <parameter param-name="productId" from-field="productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="productOwnerName" title="${uiLabelMap.ScrumProductOwner}" position="1" use-when="!isCurrentProject"> |
| <hyperlink target="viewprofile" description="${productOwnerName} [${productOwnerId}]"> |
| <parameter param-name="partyId" from-field="productOwnerId"/> |
| </hyperlink> |
| </field> |
| <field name="dummy" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when=""${sprintId}"!="""><display description=" "/></field> |
| <field name="sprintName" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumSprint}" position="2" use-when=""${sprintId}"!="""> |
| <hyperlink target="ViewSprint" description="${uiLabelMap.ScrumTab} ${sprintName} [${sprintId}]"> |
| <parameter param-name="projectId"/> |
| <parameter param-name="sprintId"/> |
| </hyperlink> |
| </field> |
| <field name="sprintCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when=""${sprintId}"!="""> |
| <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> |
| </field> |
| <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="actualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="actualHoursNotBillYet" title="${uiLabelMap.ScrumActualHoursNotBill}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="sprintActualStartDate" title="${uiLabelMap.CommonStartDate}" position="2" use-when=""${sprintId}"!="""><display type="date"></display></field> |
| <field name="sprintActualCompletionDate" title="${uiLabelMap.CommonEndDate}" position="2" use-when=""${sprintId}"!="""><display type="date"></display></field> |
| </form> |
| <form name="projectListWithNoLinkProfile" extends="projectList"> |
| <field name="companyId" title="${uiLabelMap.ScrumOwnerCompany}" position="1" use-when="!isCurrentCompany" widget-style="buttontext"> |
| <display description="${companyName} [${companyId}]"/> |
| </field> |
| <field name="productOwnerName" title="${uiLabelMap.ScrumProductOwner}" position="1" use-when="!isCurrentProject"> |
| <display description="${productOwnerName} [${productOwnerId}]"/> |
| </field> |
| </form> |
| <form name="projectAndSprintListInfo" type="list" target="ViewProduct" paginate-target="ViewProduct" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar" list-name="sprints"> |
| <actions> |
| <set field="isCurrentProject" value="${groovy: request.setAttribute("isCurrentProject", false);}" type="Boolean"/> |
| <set field="currentProject" value="${groovy: request.setAttribute("currentProject", ' ');}" type="String"/> |
| </actions> |
| <row-actions> |
| <set field="isCurrentProject" value="${groovy: |
| if (request.getAttribute("currentProject") != context.projectId) |
| request.setAttribute("isCurrentProject", false); |
| else |
| request.setAttribute("isCurrentProject", true); |
| if (request.getAttribute("currentProject") != context.projectId) |
| request.setAttribute("currentProject", context.projectId); |
| return (boolean)request.getAttribute("isCurrentProject"); |
| }" |
| type="Boolean"/> |
| <service service-name="getScrumProject" result-map="result"> |
| <field-map field-name="projectId" from-field="projectId"/> |
| </service> |
| <set field="productId" value="${result.projectInfo.productId}"/> |
| <set field="productOwnerName" value="${result.projectInfo.productOwnerName}"/> |
| <set field="estimatedHrs" value="${sprintEstimatedMilliSeconds/1000/60/60/40}" type="Integer"/> |
| <entity-and entity-name="WorkEffortCustRequestView" list="custRequests"> |
| <field-map field-name="workEffortId" from-field="parameters.sprintId"/> |
| </entity-and> |
| <!-- get plan hour --> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="planHourOutMap"> |
| <field-map field-name="projectId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="context.sprintId"/> |
| </service> |
| <set field="planHours" from-field="planHourOutMap.planHours"/> |
| <!-- get actual hour --> |
| <service service-name="getScrumActualHour" result-map="resultActualHours" > |
| <field-map field-name="projectId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="context.sprintId"/> |
| </service> |
| <set field="actualHours" from-field="resultActualHours.actualHours"/> |
| <set field="actualHoursNotBillYet" from-field="resultActualHours.actualHoursNotBillYet"/> |
| <!-- get project info --> |
| </row-actions> |
| |
| <field name="projectName" title="${uiLabelMap.ScrumProject}" position="1" use-when="!isCurrentProject"> |
| <hyperlink target="viewScrumProject" description="${projectName} [${projectId}]"> |
| <parameter param-name="projectId" from-field="workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="sprintName" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumSprint}" position="2" use-when=""${sprintId}"!="""> |
| <hyperlink target="ViewSprint" description="${uiLabelMap.ScrumTab} ${sprintName} [${sprintId}]"> |
| <parameter param-name="projectId"/> |
| <parameter param-name="sprintId"/> |
| </hyperlink> |
| </field> |
| <field name="sprintCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when=""${sprintId}"!="""> |
| <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> |
| </field> |
| <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="actualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="actualHoursNotBillYet" title="${uiLabelMap.ScrumActualHoursNotBill}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="sprintActualStartDate" title="${uiLabelMap.CommonStartDate}" position="2" use-when=""${sprintId}"!="""><display type="date"></display></field> |
| <field name="sprintActualCompletionDate" title="${uiLabelMap.CommonEndDate}" position="2" use-when=""${sprintId}"!="""><display type="date"></display></field> |
| </form> |
| <form name="SprintListInfo" extends="sprintList" odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar" paginate-target="viewScrumProject"> |
| <actions> |
| <set field="input.noConditionFind" value="N"/> |
| <set field="input.workEffortParentId" from-field="parameters.projectId"/> |
| <set field="input.workEffortTypeId" value="SCRUM_SPRINT"/> |
| <service service-name="performFind" result-map="result" result-map-list="listIt"> |
| <field-map field-name="inputFields" from-field="input"/> |
| <field-map field-name="entityName" value="WorkEffort"/> |
| <field-map field-name="viewIndex" from-field="viewIndex"/> |
| <field-map field-name="viewSize" from-field="viewSize"/> |
| <field-map field-name="orderBy" value="actualStartDate DESC"/> |
| </service> |
| </actions> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="workEffortName" title="${uiLabelMap.ScrumSprintName}"> |
| <hyperlink target="ViewSprint" description="${workEffortName} [${workEffortId}]"> |
| <parameter param-name="sprintId" from-field="workEffortId"/> |
| <parameter param-name="projectId" from-field="project.workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="actualStartDate" title="${uiLabelMap.CommonStartDate}"><display type="date"/></field> |
| <field name="actualCompletionDate" title="${uiLabelMap.CommonEndDate}"><display type="date"/></field> |
| </form> |
| <form name="DailyMeetingMinute" type="single" target="createDailyNote"> |
| <actions> |
| <entity-and entity-name="WorkEffortNote" list="workEffortNote"> |
| <field-map field-name="workEffortId" from-field="parameters.workEffortId" /> |
| <field-map field-name="noteId" from-field="parameters.noteId"/> |
| </entity-and> |
| </actions> |
| <field name="workEffortId"><hidden value="${parameters.projectId}"/></field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="statusId"><hidden value="CRQ_ACCEPTED"/></field> |
| <field name="noteId"><hidden value="${parameters.noteId}"/></field> |
| <field name="partyId"><hidden value="${userLogin.partyId}"/></field> |
| <field name="noteName1"><hidden value="What have you accomplish since the last meeting?"/></field> |
| <field name="noteName2"><hidden value="What are you going to do before the next meeting?"/></field> |
| <field name="noteName3"><hidden value="What problem are you having with to task?"/></field> |
| <field name="noteInfo1" title="${uiLabelMap.ScrumSinceLastMeeting}"><textarea rows="3" cols="60"/></field> |
| <field name="noteInfo2" title="${uiLabelMap.ScrumBeforeNextMeeting}"><textarea rows="3" cols="60"/></field> |
| <field name="noteInfo3" title="${uiLabelMap.ScrumProblemTask}"><textarea rows="3" cols="60"/></field> |
| <!-- <field name="noteDateTime" title="Create Date Perform"><date-time type="date"/></field> --> |
| <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit/></field> |
| </form> |
| |
| <form name="ListDailyMeetingMinute" type="list" list-name="workEffortNoteAndDataList" use-row-submit="true" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" |
| default-table-style="basic-table hover-bar" paginate-target="DailyScrumMeetingMinute"> |
| <actions> |
| <set field="projectId" from-field="parameters.workEffortId"/> |
| <entity-condition entity-name="WorkEffortNoteAndData" list="workEffortNoteAndDataList"> |
| <condition-expr field-name="workEffortId" from-field="parameters.projectId"/> |
| <order-by field-name="noteId"/> |
| </entity-condition> |
| </actions> |
| <field name="workEffortId"><hidden value="${parameters.projectId}"/></field> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="noteId"><display/></field> |
| <field name="noteDateTime" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"></display> |
| <!--<hyperlink target="DailyScrumMeetingMinute"> |
| <parameter param-name="workEffortId" from-field="parameters.workEffortId"/> |
| <parameter param-name="noteId" from-field="parameters.noteId"/> |
| <parameter param-name="noteParty" from-field="parameters.noteParty"/> |
| </hyperlink>--> |
| </field> |
| <field name="noteName" title="${uiLabelMap.ScrumQuestion}"><display></display></field> |
| <field name="noteInfo" title="${uiLabelMap.ScrumAnswer}"><display></display></field> |
| <field name="noteParty" title="${uiLabelMap.CommonCreatedBy}"> |
| <display-entity entity-name="Person" key-field-name="partyId" description="${lastName} ${firstName} ${middleName} "/> |
| </field> |
| </form> |
| |
| <form name="ViewDailyMeeting" target="ViewDailyMeetingMinutes" type="single" default-map-name="custRequest"> |
| <actions> |
| <entity-and entity-name="CustRequestNote" list="custRequestNote"> |
| <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> |
| </entity-and> |
| <set field="test" value="${groovy: println("dddddddddddddddddddddddddddddd"+custRequestNote)}"/> |
| <set field="noteId" from-field="custRequestNote[0].noteId"/> |
| <entity-and entity-name="NoteData" list="Question1"> |
| <field-map field-name="noteId" from-field="custRequestNote[0].noteId"/> |
| <field-map field-name="noteName" value="Question1"/> |
| </entity-and> |
| <set field="test" value="${groovy: println("dddddddddddddddddddddddddddddd"+Question1)}"/> |
| <set field="noteId" from-field="custRequestNote[1].noteId"/> |
| <entity-and entity-name="NoteData" list="Question2"> |
| <field-map field-name="noteId" from-field="custRequestNote[1].noteId"/> |
| <field-map field-name="noteName" value="Question1"/> |
| </entity-and> |
| <set field="test" value="${groovy: println("dddddddddddddddddddddddddddddd"+Question2)}"/> |
| <set field="noteId" from-field="custRequestNote[2].noteId"/> |
| <entity-and entity-name="NoteData" list="Question1"> |
| <field-map field-name="noteId" from-field="custRequestNote[2].noteId"/> |
| <field-map field-name="noteName" value="Question3"/> |
| </entity-and> |
| <set field="test" value="${groovy: println("dddddddddddddddddddddddddddddd"+Question3)}"/> |
| </actions> |
| <field name="custRequestId"><hidden value="${parameters.custRequestId}"/></field> |
| <field name="createdDate" title="Create Date Perform"><display/></field> |
| <field name="Question1" title="${uiLabelMap.ScrumSinceLastMeeting}"><display description="Since the last meeting ....."></display></field> |
| <field name="noteInfo1" title="Answer"><display description="${Question1[0].noteInfo}"/></field> |
| <field name="Question2" title="${uiLabelMap.ScrumBeforeNextMeeting}"><display description="To day ....."></display></field> |
| <field name="noteInfo2" title="Answer"><display description="${Question2[0].noteInfo}"/></field> |
| <field name="Question3" title="${uiLabelMap.ScrumProblemTask}"><display description="problem ....."></display></field> |
| <field name="noteInfo3" title="Answer"><display description="${Question3[0].noteInfo}"/></field> |
| </form> |
| |
| <form name="addSprintBacklog" type="single" target="createSprintBacklog"> |
| <actions> |
| <entity-and entity-name="WorkEffortAndProduct" list="projectList"> |
| <field-map field-name="workEffortId" from-field="parameters.projectId"/> |
| </entity-and> |
| <set field="productId" from-field="projectList[0].productId"/> |
| <entity-condition list="productBacklog" entity-name="CustRequestAndCustRequestItem"> |
| <condition-list combine="and"> |
| <condition-expr field-name="custRequestTypeId" value="RF_PROD_BACKLOG" /> |
| <condition-expr field-name="statusId" value="CRQ_ACCEPTED" /> |
| <condition-expr field-name="productId" from-field="productId"/> |
| </condition-list> |
| <order-by field-name="custSequenceNum"/> |
| </entity-condition> |
| <set field="maxNum" value="${groovy: return productBacklog.size();}"/> |
| </actions> |
| <field name="projectId"><hidden></hidden></field> |
| <field name="sprintId"><hidden/></field> |
| <field name="maxNum"><hidden value="${maxNum}"/></field> |
| <field name="sprintBacklogs" title="${uiLabelMap.ScrumSprintBacklogHowMany}" tooltip="${maxNum} remaining in Product Backlog"><text default-value="1"/></field> |
| <field name="submitButton"><submit button-type="button"/></field> |
| </form> |
| |
| <form name="EditSprintBacklog" type="single" target="updateSprintBacklog" > |
| <actions> |
| <set field="custRequestId" from-field="parameters.custRequestId"/> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| </actions> |
| <field name="projectId"><hidden value="${parameters.projectId}"/></field> |
| <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"></display-entity> |
| </field> |
| <field name="custSequenceNum"><display/></field> |
| <field name="estimatedHours" title="${uiLabelMap.ScrumPlanedHours}"><text default-value="${groovy:return custRequest.custEstimatedMilliSeconds/3600000}"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit/></field> |
| </form> |
| <!-- Product --> |
| <form name="EditProduct" type="single" target="createProductAndRole" default-map-name="product"> |
| <actions> |
| <set field="supportDiscontinuationDate" from-field="supportDiscontinuationDate"/> |
| <set field="statusId" value="${groovy: if(supportDiscontinuationDate == null) return 'PRODUCT_ACTIVE' else return 'PRODUCT_CLOSED'}"/> |
| </actions> |
| <alt-target use-when="product!=null" target="updateProduct"/> |
| <field name="partyCompany"><hidden/></field> |
| <field name="partyId" title="${uiLabelMap.ScrumCompanyAndProductOwner}" tooltip="${uiLabelMap.ScrumCompanyNameShow} -- ${uiLabelMap.ScrumProductName}" event="onchange" action="javascrip:document.EditProduct.partyCompany.value=this.options[this.selectedIndex].text;" parameter-name="partyId" use-when="companyCurrent==null"> |
| <drop-down allow-empty="false" > |
| <option key="" description="-select one-"/> |
| <list-options list-name="scrumRolesPersonAndCompanyList" description="${groupName}[${partyIdFrom}] -- ${lastName} ${firstName} ${middleName}" key-name="partyId"/> |
| </drop-down> |
| </field> |
| <field name="partyId" title="${uiLabelMap.ScrumCompanyAndProductOwner}" tooltip="${uiLabelMap.ScrumCompanyNameShow} - ${uiLabelMap.ScrumProductName}" event="onchange" action="javascrip:document.EditProduct.partyCompany.value=this.options[this.selectedIndex].text;" parameter-name="partyId" use-when="companyCurrent!=null"> |
| <drop-down allow-empty="false" current-description="${companyCurrentList[0].groupName}[${companyCurrentList[0].partyIdFrom}] - ${companyCurrentList[0].lastName} ${companyCurrentList[0].firstName} ${companyCurrentList[0].middleName}" > |
| <option key="${companyCurrentList[0].groupName}[${companyCurrentList[0].partyIdFrom}] - ${companyCurrentList[0].lastName} ${companyCurrentList[0].firstName} ${companyCurrentList[0].middleName}(${companyCurrentList[0].partyId})" description="${companyCurrentList[0].groupName}[${companyCurrentList[0].partyIdFrom}] - ${companyCurrentList[0].lastName} ${companyCurrentList[0].firstName} ${companyCurrentList[0].middleName}"/> |
| <option key="" description=""/> |
| <list-options list-name="scrumRolesPersonAndCompanyList" description="${groupName}[${partyIdFrom}] - ${lastName} ${firstName} ${middleName}" key-name="partyId"/> |
| </drop-down> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" use-when="product!=null"> |
| <drop-down> |
| <entity-options description="${description}" entity-name="StatusItem"> |
| <entity-constraint name="statusTypeId" value="PRODUCT_STATUS"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="internalName" title="${uiLabelMap.ScrumProductName}" tooltip="${uiLabelMap.CommonRequired}"><text/></field> |
| <field name="longDescription" title="${uiLabelMap.CommonDescription}"><textarea/></field> |
| <field name="productTypeId"><hidden value="SCRUM_ITEM"/></field> |
| <field name="productId"><hidden value="${parameters.productId}"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonSubmit}" use-when="product==null" widget-style="smallSubmit"><submit button-type="button"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonUpdate}" position="1" use-when="product!=null" widget-style="smallSubmit" event="onClick" action="javascript: if(document.EditProduct.statusId.value == 'PRODUCT_CLOSED') { |
| if (confirm('Are you sure to close this product ?.')){ |
| document.ViewEditProdBacklog.disable(); |
| document.EditProduct.action = 'updateProduct'; |
| document.EditProduct.submit(); |
| } |
| else |
| document.EditProduct.action = 'EditProduct?statusId=PRODUCT_ACTIVE'; |
| }"><submit button-type="button"/></field> |
| </form> |
| |
| <form name="EditProductByProductOwner" type="single" extends="EditProduct" default-map-name="product"> |
| <actions> |
| <entity-and entity-name="ProductRole" list="productRoles" filter-by-date="true"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| </entity-and> |
| <entity-and entity-name="ScrumPersonAndCompany" list="parties"> |
| <field-map field-name="partyId" from-field="productRoles[0].partyId"/> |
| </entity-and> |
| <entity-and entity-name="ScrumRolesPersonAndCompany" list="companylist"> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| <field-map field-name="partyId" value="${userLogin.partyId}"/> |
| <order-by field-name="groupName"/> |
| <order-by field-name="lastName"/> |
| <order-by field-name="firstName"/> |
| </entity-and> |
| </actions> |
| </form> |
| |
| <form name="ViewProduct" type="single" target="ViewProduct" default-map-name="product"> |
| <actions> |
| <entity-and entity-name="ProductRole" list="productComRole"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <field-map field-name="thruDate" value=""/> |
| </entity-and> |
| <entity-and entity-name="ProductRole" list="productRole"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| <field-map field-name="thruDate" value=""/> |
| </entity-and> |
| <entity-and entity-name="ScrumPersonAndCompany" list="parties"> |
| <field-map field-name="partyIdFrom" from-field="productComRole[0].partyId"/> |
| <field-map field-name="partyId" from-field="productRole[0].partyId"/> |
| </entity-and> |
| <set field="supportDiscontinuationDate" from-field="product.supportDiscontinuationDate"/> |
| <set field="statusMap.statusId" value="${groovy: if(supportDiscontinuationDate == null) return 'PRODUCT_ACTIVE' else return 'PRODUCT_CLOSED'}"/> |
| </actions> |
| <field name="productOwerId" title="${uiLabelMap.ScrumCompanyAndProductOwner}"> |
| <hyperlink target="viewprofile" description="${parties[0].groupName} -- ${parties[0].lastName} ${parties[0].firstName} ${parties[0].middleName}"> |
| <parameter param-name="partyId" from-field="productRole[0].partyId"/> |
| </hyperlink> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" use-when="product!=null" map-name="statusMap"> |
| <display-entity entity-name="StatusItem" description="${description}"/> |
| </field> |
| <field name="internalName" title="${uiLabelMap.ScrumProductName}"><display description="${product.internalName} [${product.productId}]"/></field> |
| <field name="longDescription" title="${uiLabelMap.CommonDescription}"><display /></field> |
| <field name="productTypeId"><hidden value="SCRUM_ITEM"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonSubmit}" use-when="product==null" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="ListProductBacklogCategories" type="list" use-row-submit="true" list-name="listIt" target="DeleteSprint" paginate-target="SprintList" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <entity-condition entity-name="CustRequestAndCustRequestItem" list="listIt"> |
| <condition-list combine="and"> |
| <condition-expr field-name="productId" from-field="productId"/> |
| <condition-expr field-name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| </condition-list> |
| </entity-condition> |
| </actions> |
| <row-actions> |
| <service service-name="getProductBacklogSize" result-map="result"> |
| <field-map field-name="productId" from-field="productId"/> |
| <field-map field-name="statusId" value="CRQ_ACCEPTED"/> |
| <field-map field-name="parentCustRequestId" from-field="custRequestId"/> |
| </service> |
| <set field="open" from-field="result.productBacklogSize" type="Integer"/> |
| <service service-name="getProductBacklogSize" result-map="result"> |
| <field-map field-name="productId" from-field="productId"/> |
| <field-map field-name="statusId" value="CRQ_REVIEWED"/> |
| <field-map field-name="parentCustRequestId" from-field="custRequestId"/> |
| </service> |
| <set field="beingImplemented" from-field="result.productBacklogSize" type="Integer"/> |
| <service service-name="getProductBacklogSize" result-map="result"> |
| <field-map field-name="productId" from-field="productId"/> |
| <field-map field-name="statusId" value="CRQ_COMPLETED"/> |
| <field-map field-name="parentCustRequestId" from-field="custRequestId"/> |
| </service> |
| <set field="finished" from-field="result.productBacklogSize" type="Integer"/> |
| </row-actions> |
| <field name="custRequestId" title="${uiLabelMap.ScrumCategory}"> |
| <display-entity entity-name="CustRequest" description=" "> |
| <sub-hyperlink target="EditProductBacklogCategory" description="${custRequestName} - [${custRequestId}]"> |
| <parameter param-name="productId" from-field="productId"/> |
| <parameter param-name="custRequestId" from-field="custRequestId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="open" title="${uiLabelMap.ScrumOpen}"><display/></field> |
| <field name="beingImplemented" title="${uiLabelMap.ScrumBeingImplementBacklogItem}"><display/></field> |
| <field name="finished" title="${uiLabelMap.ScrumFinished}"><display/></field> |
| </form> |
| <form name="ListProductBacklogCategoriesNoAction" type="list" use-row-submit="true" list-name="listIt" target="DeleteSprint" paginate-target="SprintList" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <entity-condition entity-name="CustRequestAndCustRequestItem" list="listIt"> |
| <condition-list combine="and"> |
| <condition-expr field-name="productId" from-field="productId"/> |
| <condition-expr field-name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| </condition-list> |
| </entity-condition> |
| </actions> |
| <field name="custRequestId" title="${uiLabelMap.ScrumCategory}"> |
| <display-entity entity-name="CustRequest" description="${custRequestName} - [${custRequestId}]"/> |
| </field> |
| </form> |
| <form name="EditProductBacklogCategory" type="single" target="createProductBacklogCategory" default-map-name="custRequest"> |
| <alt-target use-when="custRequest!=null" target="updateProductBacklogCategory"/> |
| <field name="productId"><hidden value="${productId}"/></field> |
| <field name="custRequestId"><hidden/></field> |
| <field name="custRequestName" title="${uiLabelMap.ScrumCategory}"><text/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonCreate}" use-when="custRequest==null" widget-style="smallSubmit"><submit button-type="button"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonUpdate}" use-when="custRequest!=null" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="ListProductByAdmin" type="list" default-entity-name="ProductRole" use-row-submit="true" list-name="listIt" target="deleteProduct" paginate-target="EditProduct" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <set field="parameters.roleTypeId" value="PRODUCT_OWNER"></set> |
| <service service-name="performFind" result-map="result" result-map-list="listIt"> |
| <field-map field-name="inputFields" from-field="parameters"/> |
| <field-map field-name="entityName" value="ProductAndRole"/> |
| <field-map field-name="viewIndex" from-field="viewIndex"/> |
| <field-map field-name="viewSize" from-field="viewSize"/> |
| </service> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="productId"/> |
| </entity-one> |
| <set field="longDescription" from-field="product.longDescription"/> |
| <set field="statusId" value="${groovy: if(product.supportDiscontinuationDate == null) return 'PRODUCT_ACTIVE' else return 'PRODUCT_CLOSED'}"/> |
| <entity-and entity-name="PartyRelationshipAndPartyDetail" list="company"> |
| <field-map field-name="partyId" from-field="partyId"/> |
| <field-map field-name="roleTypeIdFrom" value="ACCOUNT"/> |
| <field-map field-name="roleTypeIdTo" value="CONTACT"/> |
| </entity-and> |
| <set field="companyNameId" from-field="company[0].partyIdFrom"/> |
| <entity-one entity-name="Person" value-field="person"> |
| <field-map field-name="partyId" from-field="partyId"></field-map> |
| </entity-one> |
| |
| <entity-one entity-name="StatusItem" value-field="statusItem"> |
| <field-map field-name="statusId" from-field="statusId"/> |
| </entity-one> |
| <set field="statusName" from-field="statusItem.description"/> |
| </row-actions> |
| <field name="partyId"><hidden/></field> |
| <field name="productId"><hidden/></field> |
| <field name="name"><hidden/></field> |
| <field name="statusName" title="${uiLabelMap.CommonStatus}" ><display></display></field> |
| <field name="companyNameId" title="${uiLabelMap.ScrumOwnerCompany}"> |
| <display-entity entity-name="PartyGroup" key-field-name="partyId" description="${groupName}"> |
| <sub-hyperlink target="FindResource" description="[${companyNameId}]"> |
| <parameter param-name="partyId" from-field="companyNameId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="person.partyId" title="${uiLabelMap.ScrumProductOwner}"> |
| <display-entity entity-name="Person" key-field-name="partyId" description="${firstName}"> |
| <sub-hyperlink target="FindResource" description="[${person.partyId}]"> |
| <parameter param-name="partyId" from-field="person.partyId"/> |
| <parameter param-name="roleTypeId" value="PRODUCT_OWNER"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="longDescription" title="${uiLabelMap.CommonDescription}"><display></display></field> |
| <field name="productId" title="${uiLabelMap.ScrumProduct}"> |
| <display-entity entity-name="Product" key-field-name="productId" description="${internalName}"> |
| <sub-hyperlink target="ViewProduct" description="[${productId}]"> |
| <parameter param-name="productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <sort-order> |
| <sort-field name="productId"></sort-field> |
| <sort-field name="longDescription"></sort-field> |
| <sort-field name="companyNameId"></sort-field> |
| <sort-field name="person.partyId"></sort-field> |
| <sort-field name="statusId"></sort-field> |
| </sort-order> |
| </form> |
| <form name="FindProduct" type="single" target="EditProduct"> |
| <field name="productId"><text></text></field> |
| <field name="internalName" title="${uiLabelMap.ScrumProductName}"><text/></field> |
| <field name="statusId" parameter-name="statusId"> |
| <drop-down allow-empty="false"> |
| <option key="Any" description="${uiLabelMap.CommonAny}"/> |
| <entity-options entity-name="StatusItem" description="${description}"> |
| <entity-constraint name="statusTypeId" operator="equals" value="PRODUCT_STATUS"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="partyId"><hidden value="${userLogin.partyId}"/></field> |
| <field name="roleTypeId"><hidden value="PRODUCT_OWNER"/></field> |
| <field name="searchButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --> |
| </field> |
| </form> |
| |
| <form name="ListProductByProdOwner" extends="ListProductByAdmin" type="multi" default-entity-name="ProductRole"> |
| <actions> |
| <set field="parameters.partyId" from-field="userLogin.partyId"></set> |
| <set field="parameters.roleTypeId" value="PRODUCT_OWNER"></set> |
| <service service-name="performFind" result-map="result" result-map-list="listIt"> |
| <field-map field-name="inputFields" from-field="parameters"/> |
| <field-map field-name="entityName" value="ProductAndRole"/> |
| <field-map field-name="viewIndex" from-field="viewIndex"/> |
| <field-map field-name="viewSize" from-field="viewSize"/> |
| </service> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="productId"/> |
| </entity-one> |
| <set field="internalName" from-field="product.internalName"/> |
| <set field="longDescription" from-field="product.longDescription"/> |
| <set field="statusId" value="${groovy: if(product.supportDiscontinuationDate == null) return 'PRODUCT_ACTIVE' else return 'PRODUCT_CLOSED'}"/> |
| <entity-and entity-name="PartyRelationshipAndPartyDetail" list="company"> |
| <field-map field-name="partyId" from-field="partyId"/> |
| <field-map field-name="roleTypeIdFrom" value="ACCOUNT"/> |
| <field-map field-name="roleTypeIdTo" value="CONTACT"/> |
| </entity-and> |
| <set field="companyNameId" from-field="company[0].partyIdFrom"/> |
| |
| <entity-one entity-name="PartyGroup" value-field="partyGroup"> |
| <field-map field-name="partyId" from-field="companyNameId"/> |
| </entity-one> |
| <set field="groupNameCompany" from-field="partyGroup.groupName"/> |
| |
| <entity-one entity-name="Person" value-field="person"> |
| <field-map field-name="partyId" from-field="partyId"></field-map> |
| </entity-one> |
| <set field="firstName" from-field="person.firstName"></set> |
| |
| <entity-one entity-name="StatusItem" value-field="statusItem"> |
| <field-map field-name="statusId" from-field="statusId"/> |
| </entity-one> |
| <set field="statusName" from-field="statusItem.description"/> |
| |
| </row-actions> |
| </form> |
| <form name="FindProductByProdOwner" type="single" extends="FindProduct" target="main" default-entity-name="Product"> |
| <actions> |
| <set field="userLogin" value="${userLogin.userLoginId}"/> |
| <entity-one entity-name="UserLogin" value-field="userLoginMap"> |
| <field-map field-name="userLoginId" from-field="userLogin"/> |
| </entity-one> |
| <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="userLoginAndSecurityGroup"> |
| <condition-list combine="and"> |
| <condition-expr field-name="partyId" from-field="userLoginMap.partyId"/> |
| <condition-expr field-name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="groupId" value="SCRUM_PRODUCT_OWNER"/> |
| <condition-expr field-name="groupId" value="SCRUM_STAKEHOLDER"/> |
| </condition-list> |
| </condition-list> |
| </entity-condition> |
| <set field="isCond" from-field="userLoginAndSecurityGroup[0].partyId"/> |
| </actions> |
| <field name="partyId" title="${uiLabelMap.ScrumOwnerCompany}" use-when="isCond==null"> |
| <drop-down allow-empty="true"> |
| <list-options key-name="partyIdFrom" list-name="scrumRolesPersonAndCompanyList" description="${groupName}[${partyIdFrom}] -- ${lastName} ${firstName} ${middleName}"/> |
| </drop-down> |
| </field> |
| <sort-order> |
| <sort-field name="partyId"/> |
| <sort-field name="productId"/> |
| <sort-field name="internalName"/> |
| <sort-field name="statusId"/> |
| <sort-field name="searchButton"/> |
| </sort-order> |
| </form> |
| <form name="hoursNotYetBilled" type="multi" list-name="hoursNotYetBilledTasks" use-row-submit="false" paginate-target="ProductBilling" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" |
| target="updateNotBilledBacklog?productId=${productId}&fromDate=${fromDate}&thruDate=${thruDate}&includeMeeting=${includeMeeting}&VIEW_SIZE_1=${parameters.VIEW_SIZE_1}&VIEW_INDEX_1=${parameters.VIEW_INDEX_1}"> |
| <row-actions> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("custRequestId");return !(prev!=null&&prev.equals(custRequestId));}" type="Boolean"/> |
| <entity-one entity-name="WorkEffort" value-field="project"> |
| <field-map field-name="workEffortId" from-field="projectId"/> |
| </entity-one> |
| <entity-one entity-name="WorkEffort" value-field="sprint"> |
| <field-map field-name="workEffortId" from-field="sprintId"/> |
| </entity-one> |
| <entity-one entity-name="CustRequest" value-field="backlogItem"> |
| <field-map field-name="custRequestId"/> |
| </entity-one> |
| <set field="projectName" from-field="project.workEffortName" default-value="No Project Name"/> |
| <set field="sprintName" from-field="sprint.workEffortName" default-value="No Sprint Name"/> |
| <set field="backlogItemName" from-field="backlogItem.description" default-value="No Backlog Item Name"/> |
| <set field="billed" from-field="backlogItem.billed"/> |
| </row-actions> |
| <field name="projectId" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumProject}"> |
| <hyperlink target="viewScrumProject" description="${projectName}"> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="sprintId" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumSprint}"> |
| <hyperlink target="ViewSprint" description="${sprintName}"> |
| <parameter param-name="projectId"/> |
| <parameter param-name="sprintId"/> |
| </hyperlink> |
| </field> |
| <field name="custRequestId" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumBacklogItem}"> |
| <display-entity entity-name="CustRequest" description="${backlogItemName}"> |
| <sub-hyperlink target="ViewProdBacklogItem" description="[${custRequestId}]"> |
| <parameter param-name="productId"/> |
| <parameter param-name="custRequestId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="backlogId" parameter-name="custRequestId" use-when="${groovy:showPosition1==false}"><hidden value="${custRequestId}"/></field> |
| <field name="billed" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumBilled}"> |
| <drop-down allow-empty="true"> |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="dummy1" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="${groovy:showPosition1==true}"><display description=" "/></field> |
| <field name="dummy2" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="${groovy:showPosition1==true}"><display description=" "/></field> |
| <field name="dummy3" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="${groovy:showPosition1==true}"><display description=" "/></field> |
| <field name="taskId" position="2" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTaskName}"> |
| <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description="${uiLabelMap.ScrumTab} ${workEffortName}"/> |
| </field> |
| <field name="hours" position="2"><display/></field> |
| <field name="timesheetPartyId" position="2"><display-entity entity-name="PartyNameView" description="${firstName} ${middleName} ${lastName}" key-field-name="partyId"/></field> |
| <field name="dummy4" title="${uiLabelMap.CommonEmptyHeader}" position="2" ><display description=" "/></field> |
| <field name="timesheetId" position="2"> |
| <hyperlink description="${timesheetId}" target="ViewTimeSheet"> |
| <parameter param-name="timesheetId"/> |
| </hyperlink> |
| </field> |
| <field name="rateTypeId" title="${uiLabelMap.ScrumRateTypeId}" position="2"><display-entity entity-name="RateType" description="${description}"/></field> |
| <field name="fromDate" title="${uiLabelMap.CommonDate}" position="2"><display type="date"/> </field> |
| <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="totalHoursNotYetBilled" extends="hoursNotYetBilled" paginate-target="TotalBilling" |
| target="updateTotalNotBilledBacklog?productId=${productId}&fromDate=${fromDate}&thruDate=${thruDate}&includeMeeting=${includeMeeting}&VIEW_SIZE_1=${parameters.VIEW_SIZE_1}&VIEW_INDEX_1=${parameters.VIEW_INDEX_1}" > |
| <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="AddProductTimeToNewInvoice" type="single" target="addProductTimeToNewInvoice"> |
| <field name="partyIdFrom" title="${uiLabelMap.WorkEffortTimeBillFromParty}"><display-entity entity-name="PartyNameView" key-field-name="partyId" description="${groupName} [${partyId}]"/></field> |
| <field name="partyId" title="${uiLabelMap.WorkEffortTimeBillToParty}"><display-entity entity-name="PartyNameView" description="${groupName} ${lastName} ${firstName} [${partyId}]"/></field> |
| <field name="productId"><hidden/></field> |
| <field name="fromDate" title="${uiLabelMap.CommonFromDate}" use-when="fromDate!=null"><display type="date"/></field> |
| <field name="thruDate" title="${uiLabelMap.CommonThruDate}"><display type="date"/></field> |
| <field name="invoiceId"><hidden/></field> |
| <field name="includeMeeting" title="${uiLabelMap.ScrumIncludeMeeting}"> |
| <drop-down no-current-selected-key="N"> |
| <option key="Y"/> |
| <option key="N"/> |
| </drop-down> |
| </field> |
| <field name="reCreate" position="1" title="${uiLabelMap.ScrumRecreateInvoice}: ${invoiceId}" use-when="context.get("invoiceId")!=null"> |
| <drop-down no-current-selected-key="N"> |
| <option key="Y" description="${uiLabelMap.CommonYes}"/> |
| <option key="N" description="${uiLabelMap.CommonNo}"/> |
| </drop-down> |
| </field> |
| <field name="invoiceDate" title="${uiLabelMap.ScrumInvoiceDate}" use-when="context.get("invoiceId")!=null"><date-time type="date"></date-time></field> |
| <field name="submitButton" title="${uiLabelMap.PageTitleAddProjectTimeToNewInvoice}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="FindProductBilling" type="single" target="ProductBilling"> |
| <field name="productId"><hidden/></field> |
| <field name="fromDate" title="${uiLabelMap.CommonFromDate}"><date-time type="date"/></field> |
| <field name="thruDate" title="${uiLabelMap.CommonThruDate}"><date-time type="date"/></field> |
| <field name="includeMeeting" title="${uiLabelMap.ScrumIncludeMeeting}"> |
| <drop-down no-current-selected-key="N"> |
| <option key="Y"/> |
| <option key="N"/> |
| </drop-down> |
| </field> |
| <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| <form name="FindProductTotalBilling" extends="FindProductBilling" type="single" target="TotalBilling"> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}"> |
| <drop-down> |
| <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> |
| <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/> |
| <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <entity-order-by field-name="groupName"/> |
| <entity-order-by field-name="internalName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| </form> |
| <form name="TotalBillingToNewInvoice" type="single" extends="AddProductTimeToNewInvoice" target="totalBillingToNewInvoice"> |
| </form> |
| <!-- View Form --> |
| <form name="ViewEditScrumProject" type="single" extends="editScrumProject"> |
| <field name="submitButton" title="Save" widget-style="smallSubmit" event="onClick" action="javascript:document.ViewEditScrumProject.disable();"><submit/></field> |
| </form> |
| <form name="ViewEditProdBacklog" type="single" default-map-name="custRequest"> |
| <actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </entity-one> |
| <set field="custRequestName" from-field="custRequest.custRequestName"/> |
| <set field="statusId" from-field="custRequest.statusId"/> |
| <set field="openDateTime" from-field="custRequest.openDateTime"/> |
| <set field="closedDateTime" from-field="custRequest.closedDateTime"/> |
| <set field="custEstimatedMilliSeconds" from-field="custRequest.custEstimatedMilliSeconds" type="String"></set> |
| <entity-and entity-name="CustRequestNoteView" list="custRequestNotes"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| <field-map field-name="noteName" value="How to test"/> |
| </entity-and> |
| <set field="noteInfo" from-field="custRequestNotes[0].noteInfo"/> |
| <entity-and entity-name="CustRequestItem" list="custRequestItems"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </entity-and> |
| <set field="story" from-field="custRequestItems[0].story"/> |
| <entity-and entity-name="ProductRole" list="productRole"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <order-by field-name="roleTypeId"/> |
| </entity-and> |
| <entity-and entity-name="ProductAndRole" list="ownerName"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| </entity-and> |
| <entity-and entity-name="ProductAndRole" list="CompanyName"> |
| <field-map field-name="productId" from-field="parameters.productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| </entity-and> |
| <entity-condition entity-name="PartyRelationshipAndPartyDetail" list="request"> |
| <condition-expr field-name="partyId" from-field="custRequest.fromPartyId"/> |
| </entity-condition> |
| <entity-one entity-name="StatusItem" value-field="statusItemMap"> |
| <field-map field-name="statusId" from-field="statusId"/> |
| </entity-one> |
| <set field="custRequestType" value="${groovy: |
| if (custRequest.custRequestTypeId.equals("RF_UNPLAN_BACKLOG")) |
| custRequestType = "Y" |
| else |
| custRequestType = "N" |
| }"/> |
| <service service-name="getScrumActualHour" result-map="resultMap"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </service> |
| <set field="actualHours" from-field="resultMap.actualHours"/> |
| </actions> |
| <alt-target use-when="custRequestId==null" target="createProductBacklog"/> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}" map-name="productMap"> |
| <display-entity entity-name="Product" key-field-name="productId" description=" "> |
| <sub-hyperlink target="ViewProduct" description="${productMap.internalName} [${productMap.productId}]"> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="groupName" title="${uiLabelMap.ScrumCompany}"> |
| <display description="${CompanyName[0].groupName}"/> |
| </field> |
| <field name="productOwerId" title="${uiLabelMap.ScrumProductOwner}"> |
| <display description="${ownerName[0].lastName}, ${ownerName[0].firstName} ${ownerName[0].middleName}"/> |
| </field> |
| <field name="partyIdTo" title="${uiLabelMap.ScrumRequestName}"> |
| <display description="${request[0].toLastName} ${request[0].toFirstName} ${request[0].toMiddleName}"/> |
| </field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}"><display description="${custRequest.description}"/></field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="${groovy: categoryList.size() > 0}"> |
| <display description="${categoryList[0].custRequestName} [${categoryList[0].custRequestId}]"/> |
| </field> |
| <field name="Sprint" title="${uiLabelMap.ScrumSprintName}" use-when="sprintName!=null"> |
| <hyperlink target="ViewSprint" description="${sprintName} [${productBacklogs[0].workEffortId}]"> |
| <parameter param-name="prjectId" from-field="projectId"/> |
| <parameter param-name="sprintId" from-field="workEffortlist[0].workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="estimated" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}"><display description="${custRequest.custEstimatedMilliSeconds/3600000}"/></field> |
| <field name="actualHours"><display description="${actualHours}"/></field> |
| <field name="custSequenceNum"><display description="${custRequest.custSequenceNum}"/></field> |
| <field name="billed"><display description="${custRequest.billed}"/></field> |
| <field name="custRequestTypeId" title="${uiLabelMap.ScrumUnplanBacklog}"> |
| <display description="${custRequestType}"/> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}"><display description="${statusItemMap.description}"/></field> |
| <field name="story" title="${uiLabelMap.ScrumStory}"><display description="${story}" /></field> |
| <field name="noteInfo" title="${uiLabelMap.ScrumHowToTest}"><display description="${noteInfo}"/></field> |
| </form> |
| <form name="ViewListProdBacklog" type="list" target="ViewAddProdBacklog" paginate-target="ViewProduct" separate-columns="true" |
| list-name="backlogItems" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <set field="parentCustRequestId" from-field="parameters.parentCustRequestId" default-value=""/> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="description" from-field="custRequest.description"/> |
| <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/> |
| <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("parentCustRequestId");return new Boolean(!(prev!=null&&prev.equals(parentCustRequestId)));}" type="Boolean"/> |
| </row-actions> |
| <field name="custSequenceNum" position="2" title="${uiLabelMap.ScrumSeq}"><display/></field> |
| <field name="custRequestId" position="2" title="${uiLabelMap.ScrumProductBacklogItem}"> |
| <hyperlink target="ViewProdBacklogItem" description="${description} [${custRequestId}]"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"> |
| <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/> |
| </field> |
| <field name="custRequestCategoryGroupId" position="1" use-when="${groovy:showPosition1==true&&sequence.equals("N")}" title="${uiLabelMap.ScrumCategory}" widget-style="h3"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"/> |
| </field> |
| <field name="parentCustRequestId" position="2" title="${uiLabelMap.ScrumCategory}"> |
| <display-entity entity-name="CustRequest" description="${custRequestName}" key-field-name="custRequestId"/> |
| </field> |
| <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><display description="${custEstimatedMilliSeconds/1000/60/60}"/></field> |
| <field name="billed" position="2" ><display></display></field> |
| <field name="custRequestDate" position="2" title="${uiLabelMap.ScrumRequestDate}"><display/></field> |
| <field name="fromPartyId" position="2" title="${uiLabelMap.ScrumRequesterName}"> |
| <display-entity entity-name="PartyNameView" description="${lastName} ${firstName} ${middleName}" key-field-name="partyId"/> |
| </field> |
| </form> |
| <form name="ViewTotalProdBacklog" type="list" extends="ViewListProdBacklog" paginate-target="ViewTotalBacklog"> |
| </form> |
| <form name="TotalProdBacklog" type="list" paginate-target="FindTotalBacklog" separate-columns="true" |
| list-name="backlogItems" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <row-actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="description" from-field="custRequest.description"/> |
| <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("productId");return new Boolean(!(prev!=null&&prev.equals(productId)));}" type="Boolean"/> |
| </row-actions> |
| <field name="productId" title="${uiLabelMap.PageTitleProduct}" position="1" use-when="showPosition1"> |
| <display-entity entity-name="Product" description="${internalName} " key-field-name="productId"> |
| <sub-hyperlink target="ViewProduc" description="[${productId}]"> |
| <parameter param-name="productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="custSequenceNum" position="2" title="${uiLabelMap.ScrumSeq}"><display/></field> |
| <field name="custRequestId" position="2" title="${uiLabelMap.ScrumProductBacklogItem}"> |
| <hyperlink target="ViewProdBacklogItem" description="${description} [${custRequestId}]"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"> |
| <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/> |
| </field> |
| <field name="parentCustRequestId" position="2" title="${uiLabelMap.ScrumCategory}"> |
| <display-entity entity-name="CustRequest" description="${custRequestName}" key-field-name="custRequestId"/> |
| </field> |
| <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><display description="${custEstimatedMilliSeconds/1000/60/60}"/></field> |
| <field name="billed" position="2" ><display></display></field> |
| <field name="custRequestDate" position="2" title="${uiLabelMap.ScrumRequestDate}"><display type="date"/></field> |
| </form> |
| <form name="ViewDailyMeetingMinute" type="single" extends="DailyMeetingMinute"> |
| <field name="submitButton" title="${uiLabelMap.CommonSubmit}" event="onClick" action="javascript:document.ViewDailyMeetingMinute.disable();"><hidden/></field> |
| </form> |
| <form name="ViewEditScrumProject" type="single" extends="editScrumProject"> |
| <field name="submitButton" title="Save" widget-style="smallSubmit"><hidden/></field> |
| </form> |
| <form name="ViewAddSprintBacklog" type="single" extends="addSprintBacklog"> |
| <field name="submitButton"><hidden/></field> |
| </form> |
| <form name="ViewAddSprintMember" type="single" extends="addSprintMember"> |
| <field name="submitButton" title="Assign"><hidden/></field> |
| </form> |
| <form name="ViewShowSprintInfo" type="single" extends="showSprintInfo"> |
| <field name="deleteButton" title="Delete Sprint" widget-style="textbutton" action="javascript: return confirm('Are you sure to delete this sprint ?');" event="Onclick"><hidden/></field> |
| </form> |
| <form name="ViewListSprintMember" type="list" extends="listSprintMember"> |
| <field name="submitButton" title="${uiLabelMap.CommonDelete}"><hidden/></field> |
| </form> |
| <form name="ViewSprintBacklogListItemsNoAction" extends="sprintBacklogListItems"> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display/></field> |
| <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field> |
| <field name="deleteTaskButton" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><hidden/></field> |
| <field name="setCompleteButton" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><hidden/></field> |
| <field name="editTaskParty" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><hidden/></field> |
| <field name="newTask" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")"><hidden/></field> |
| <sort-order> |
| <sort-field name="custRequestId"/> |
| <sort-field name="taskId"/> |
| <sort-field name="custRequest.statusId"/> |
| <sort-field name="dummy4"/> |
| <sort-field name="taskTypeId"/> |
| <sort-field name="taskCurrentStatusId"/> |
| <sort-field name="initialPlannedHours"/> |
| <sort-field name="planHours"/> |
| <sort-field name="newTask"/> |
| <sort-field name="dummy3"/> |
| <sort-field name="taskActualHours"/> |
| <sort-field name="partyId"/> |
| </sort-order> |
| </form> |
| |
| <form name="SprintTasksList" type="list" list-name="projectSprintBacklogAndTasks" target="updateSprintTask" paginate-target="SprintTask" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar" use-row-submit="true"> |
| <row-actions> |
| <entity-and entity-name="WorkEffortPartyAssignment" list="assignTo" filter-by-date="true"> |
| <field-map field-name="workEffortId" from-field="taskId"/> |
| </entity-and> |
| <entity-and entity-name="PartyDetailAndWorkEffortAssign" list="sprintMembers" filter-by-date="true"> |
| <field-map field-name="workEffortId" from-field="sprintId"/> |
| </entity-and> |
| <set field="partyId" value="${groovy: if (assignTo.size() != 0) return assignTo.get(0).getString("partyId")}"/> |
| <service service-name="getScrumActualHour" result-map="results"> |
| <field-map field-name="taskId" from-field="taskId"/> |
| </service> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="resultMap"> |
| <field-map field-name="taskId"/> |
| <field-map field-name="custRequestId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| <field-map field-name="projectId" from-field="nullField"/> |
| </service> |
| <set field="taskActualMilliSeconds" from-field="results.actualHours"/> |
| <set field="taskEstimatedMilliSeconds" from-field="resultMap.planHours"/> |
| </row-actions> |
| <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> |
| <field name="taskId" title="${uiLabelMap.ScrumTask}" parameter-name="workEffortId"> |
| <hyperlink target="SprintTaskView" description="${taskName} [${taskId}]"> |
| <parameter param-name="sprintId"/> |
| <parameter param-name="taskId"/> |
| </hyperlink> |
| </field> |
| <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${description}"> |
| <sub-hyperlink target="ViewProdBacklogItem" description="[${custRequestId}]"> |
| <parameter param-name="custRequestId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}"> |
| <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${description}"/> |
| </field> |
| <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}"> |
| <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> |
| </field> |
| <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"> |
| <drop-down allow-empty="true" no-current-selected-key="${partyId}"> |
| <list-options key-name="partyId" list-name="sprintMembers" description="${lastName} ${firstName}"/> |
| </drop-down> |
| </field> |
| <field name="taskCreatedDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field> |
| <field name="taskEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedHours}" parameter-name="planHours"><text size="5"/></field> |
| <field name="taskActualMilliSeconds" title="${uiLabelMap.ScrumActualHours}" parameter-name="actualHours"><display/></field> |
| <field name="updateButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button" /></field> |
| <field name="editButton" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink target="EditSprintTask" description="${uiLabelMap.CommonEdit}" link-type="hidden-form"> |
| <parameter param-name="sprintId" from-field="parameters.parameters.sprintId"/> |
| <parameter param-name="taskId"/> |
| </hyperlink> |
| </field> |
| <field name="deleteButton" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink target="deleteSprintTask" description="${uiLabelMap.CommonDelete}" link-type="hidden-form" confirmation-message="Are you sure to delete this task?"> |
| <parameter param-name="sprintId" from-field="parameters.sprintId"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="workEffortId" from-field="taskId"/> |
| </hyperlink> |
| </field> |
| |
| </form> |
| |
| <form name="SprintTasksListError" extends="SprintTasksList"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="SprintTasksListInstall" extends="SprintTasksList"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="SprintTasksListTest" extends="SprintTasksList"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="SprintTasksListCoding" extends="SprintTasksList"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| |
| <form name="FindSprintTask" type="single"> |
| <field name="taskId"><text/></field> |
| <field name="taskName"><text/></field> |
| <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${description}" entity-name="WorkEffortType" key-field-name="workEffortTypeId"> |
| <entity-constraint name="parentTypeId" value="SCRUM_TASK"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="findButton" title="${uiLabelMap.CommonFind}"><submit/></field> |
| </form> |
| <form name="SprintTasksListNoAction" extends="SprintTasksList"> |
| <field name="partyId"> |
| <display-entity entity-name="Person" key-field-name="partyId" description="${lastName} ${firstName}"></display-entity> |
| </field> |
| <field name="taskEstimatedMilliSeconds"><display/></field> |
| <field name="updateButton"><hidden/></field> |
| <field name="editButton"><hidden/></field> |
| <field name="deleteButton"><hidden/></field> |
| </form> |
| <form name="SprintTasksListErrorNoAction" extends="SprintTasksListNoAction"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="SprintTasksListInstallNoAction" extends="SprintTasksListNoAction"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="SprintTasksListTestNoAction" extends="SprintTasksListNoAction"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="SprintTasksListCodingNoAction" extends="SprintTasksListNoAction"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks"> |
| <condition-list combine="and"> |
| <condition-expr field-name="projectId" from-field="parameters.projectId"/> |
| <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/> |
| </condition-list> |
| </condition-list> |
| <order-by field-name="taskPriority"/> |
| </entity-condition> |
| </actions> |
| </form> |
| <form name="NewTaskForSprintBacklog" target="createTaskForSprintBacklog" extends="EditSprintTask" extends-resource="component://scrum/widget/TaskForms.xml"> |
| <actions> |
| <set field="custRequestId" from-field="parameters.custRequestId"/> |
| <set field="sprintId" from-field="parameters.sprintId"/> |
| <entity-one entity-name="WorkEffort" value-field="sprint"> |
| <field-map field-name="workEffortId" from-field="sprintId"/> |
| </entity-one> |
| <entity-one entity-name="CustRequest" value-field="backlog"/> |
| <set field="sprintStart" from-field="sprint.actualStartDate" type="Date"/> |
| <set field="sprintEnd" from-field="sprint.actualCompletionDate" type="Date"/> |
| <entity-and entity-name="PartyDetailAndWorkEffortAssign" list="sprintMembers" filter-by-date="true"> |
| <field-map field-name="workEffortId" from-field="sprintId"/> |
| <field-map field-name="roleTypeId" value="SCRUM_TEAM"/> |
| </entity-and> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="resultMap"> |
| <field-map field-name="custRequestId"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| </service> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="hoursLeft" value="${custRequest.custEstimatedMilliSeconds/1000/60/60 - resultMap.planHours}"/> |
| </actions> |
| <alt-target use-when="task!=null" target="createTaskForSprintBacklog"/> |
| <field name="id"><hidden/></field> |
| <field name="custRequestId"><hidden/></field> |
| <field name="planHours" title="Plan Hours"><text size="2"/></field> |
| <field name="actualHours"><hidden/></field> |
| <field name="UpdateButton"><hidden/></field> |
| <field name="custRequestId1" title="${uiLabelMap.ScrumSprintBacklog}"> |
| <display description="${groovy:return sprint.getString("workEffortName")+' - '+backlog.getString("description");}"/> |
| </field> |
| <field name="createButton"><hidden/></field> |
| <field name="createButton1" title="${uiLabelMap.CommonCreate}"><submit/></field> |
| </form> |
| |
| <form name="ListProduct" type="list" default-entity-name="ProductRole" use-row-submit="true" list-name="listIt" target="deleteProduct" paginate-target="main" separate-columns="true" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <set field="isCurrentCompany" value="${groovy: request.setAttribute("isCurrentCompany", false);}" type="Boolean"/> |
| <set field="currentCompany" value="${groovy: request.setAttribute("currentCompany", ' ');}" type="String"/> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="Product" value-field="product"> |
| <field-map field-name="productId" from-field="productId"/> |
| </entity-one> |
| <entity-and entity-name="ProductRole" list="ownerCompanyRoles"> |
| <field-map field-name="productId" from-field="productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| </entity-and> |
| <set field="companyNameId" from-field="ownerCompanyRoles[0].partyId"/> |
| <entity-one entity-name="PartyGroup" value-field="resultCompanyGroup"> |
| <field-map field-name="partyId" from-field="companyNameId"/> |
| </entity-one> |
| <entity-and entity-name="ProductRole" list="ownerRoles"> |
| <field-map field-name="productId" from-field="productId"/> |
| <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> |
| </entity-and> |
| <entity-one entity-name="Person" value-field="person"> |
| <field-map field-name="partyId" from-field="ownerRoles[0].partyId"/> |
| </entity-one> |
| <set field="isCurrentCompany" value="${groovy: |
| if (request.getAttribute("currentCompany") != context.groupName) |
| request.setAttribute("isCurrentCompany", false); |
| else |
| request.setAttribute("isCurrentCompany", true); |
| if (request.getAttribute("currentCompany") != context.groupName) |
| request.setAttribute("currentCompany", context.groupName); |
| return (boolean)request.getAttribute("isCurrentCompany"); |
| }" |
| type="Boolean"/> |
| <set field="groupId" from-field="partyAndSecurityGroupList[0].groupId"/> |
| <set field="productTartget" value="${groovy: |
| if ("SCRUM_PRODUCT_OWNER".equals(groupId)) |
| productTartget = "AddProdBacklog" |
| else if ("SCRUM_MASTER".equals(groupId) || "SCRUM_TEAM".equals(groupId) || "SCRUM_STAKEHOLDER".equals(groupId)) |
| productTartget = "ViewTotalBacklog" |
| else |
| productTartget = "ViewProduct" |
| }"/> |
| <set field="supportDiscontinuationDate" from-field="supportDiscontinuationDate"/> |
| <set field="statusId" value="${groovy: if(supportDiscontinuationDate == null) return 'PRODUCT_ACTIVE' else return 'PRODUCT_CLOSED'}"/> |
| </row-actions> |
| <field name="isCurrentCompany"><hidden/></field> |
| <field name="partyId"><hidden/></field> |
| <field name="productId"><hidden/></field> |
| <field name="name"><hidden/></field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}"> |
| <display-entity entity-name="StatusItem" description="${description}"/> |
| </field> |
| <field name="companyNameId" title="${uiLabelMap.ScrumOwnerCompany}" use-when="!isCurrentCompany"> |
| <hyperlink target="viewprofile" description="${resultCompanyGroup.groupName} [${companyNameId}]"> |
| <parameter param-name="partyId" from-field="companyNameId"/> |
| </hyperlink> |
| </field> |
| <field name="longDescription" title="${uiLabelMap.CommonDescription}"><display/></field> |
| <field name="productId" title="${uiLabelMap.ScrumProduct}"> |
| <display-entity entity-name="Product" key-field-name="productId" description=" " > |
| <sub-hyperlink target="${productTartget}" description="${internalName} [${productId}]" link-style="buttontext" > |
| <parameter param-name="productId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <sort-order> |
| <sort-field name="companyNameId"></sort-field> |
| <sort-field name="productId"></sort-field> |
| <sort-field name="longDescription"></sort-field> |
| <sort-field name="person.partyId"></sort-field> |
| <sort-field name="statusId"></sort-field> |
| </sort-order> |
| </form> |
| <form name="ListProductWithNoLinkProfile" extends="ListProduct"> |
| <field name="companyNameId" title="${uiLabelMap.ScrumOwnerCompany}" use-when="!isCurrentCompany"> |
| <display description="${resultCompanyGroup.groupName} [${companyNameId}]"/> |
| </field> |
| </form> |
| <form name="backlogInfo" type="single"> |
| <actions> |
| <entity-one entity-name="CustRequest" value-field="dataCustRequest"> |
| <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> |
| </entity-one> |
| </actions> |
| <field name="backlogId" title="Product Backlog Id"><display description="${dataCustRequest.custRequestId}"/></field> |
| <field name="backlogItem" title="Product Backlog Item"><display description="${dataCustRequest.description}"/></field> |
| </form> |
| <form name="listBacklogTask" type="list" list-name="listIt" paginate-target="findTask" odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <entity-condition entity-name="ProjectSprintBacklogAndTask" list="listIt"> |
| <condition-list> |
| <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> |
| <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/> |
| <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/> |
| </condition-list> |
| </condition-list> |
| </entity-condition> |
| </actions> |
| <field name="taskName" title="Task Name" > |
| <hyperlink target="taskView" description="${taskName}"> |
| <parameter param-name="taskId" from-field="taskId"/> |
| </hyperlink> |
| </field> |
| <field name="taskTypeId" title="Task Type"> |
| <display-entity entity-name="WorkEffortType" description="${description}" key-field-name="workEffortTypeId"></display-entity> |
| </field> |
| <field name="taskCurrentStatusId" title="Status"> |
| <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/> |
| </field> |
| <field name="taskActualCompletionDate" title="Completion Date"><display/></field> |
| </form> |
| |
| <form name="ListTaskSprint" list-name="notes" title="" type="list" paginate-target="backlogView" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <field name="custRequestId" title="Backlog ID" widget-style="buttontext"> |
| <hyperlink target="backlogView" description="${custRequestId}"> |
| <parameter param-name="custRequestId" from-field="${custRequestId}"/> |
| </hyperlink> |
| </field> |
| <field name="noteInfo" title="How To Test" ><display description="${noteInfo}"/></field> |
| </form> |
| |
| <!--Project contents --> |
| <form name="ListContents" extends="ListWorkEffortContents" extends-resource="component://workeffort/widget/WorkEffortForms.xml" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> |
| <row-actions> |
| <entity-one entity-name="Content" value-field="contentMap"> |
| <field-map field-name="contentId" from-field="contentId"/> |
| </entity-one> |
| <entity-one entity-name="ContentType" value-field="descContent"> |
| <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/> |
| </entity-one> |
| </row-actions> |
| <field name="contentId"><hidden/></field> |
| <field name="workEffortContentTypeId"><hidden/></field> |
| <field name="mimeTypeId"><hidden/></field> |
| <field name="contentTypeId"><display description="${descContent.description}"/></field> |
| <field name="contentName" use-when="headerItem.equals("EditProjectContents")"> |
| <display description="${contentMap.contentName} ${contentId}"/> |
| </field> |
| <field name="thruDate"><ignored/></field> |
| <field name="submitButton"><ignored/></field> |
| <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="headerItem.equals("EditProjectContents")"> |
| <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deleteProjectContent"> |
| <parameter param-name="contentId"/> |
| <parameter param-name="workEffortId"/> |
| <parameter param-name="workEffortContentTypeId"/> |
| <parameter param-name="fromDate"/> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="downloadLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/> |
| </field> |
| <sort-order> |
| <sort-field name="contentTypeId"/> |
| <sort-field name="contentName"/> |
| <sort-field name="fromDate"/> |
| <sort-field name="deleteLink"/> |
| <sort-field name="downloadLink"/> |
| </sort-order> |
| </form> |
| <form name="UploadWorkEffortContent" type="upload" default-map-name="content" |
| focus-field-name="contentTypeId" header-row-style="header-row" default-table-style="basic-table" target="createProjectContent?projectId=${parameters.projectId}"> |
| <field name="workEffortId" map-name="parameters"><hidden/></field> |
| <field name="projectId" map-name="parameters"><hidden/></field> |
| <field name="workEffortContentTypeId"><hidden value="PROJECT_SPEC"/></field> |
| <field name="contentTypeId"> |
| <drop-down allow-empty="false" no-current-selected-key="DOCUMENT"> |
| <entity-options description="${description}" entity-name="ContentType"/> |
| </drop-down> |
| </field> |
| <field name="mimeTypeId" > |
| <drop-down allow-empty="false"> |
| <entity-options description="${description}" entity-name="MimeType" key-field-name="mimeTypeId"/> |
| </drop-down> |
| </field> |
| <field name="dataResourceName" title="${uiLabelMap.CommonUpload}"><file/></field> |
| <field name="createButton"><submit button-type="button"/></field> |
| </form> |
| <form name="ListProjectContent" type="list" paginate-target="/ListCommContent" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <actions> |
| <entity-and entity-name="WorkEffortAndContentDataResource"> |
| <field-map field-name="workEffortId" from-field="workEffortId"/> |
| </entity-and> |
| </actions> |
| <field name="contentTypeId"><display-entity entity-name="ContentType" description="${description}"/></field> |
| <field name="contentName" widget-style="buttontext"> |
| <display description="${contentName}[${contentId}]"/> |
| </field> |
| <field name="fromDate"><display/></field> |
| <field name="drMimeTypeId"><hidden/></field> |
| <field name="downloadLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/> |
| </field> |
| </form> |
| |
| <!-- ProductContent --> |
| <form name="ListProductContentInfos" type="list" title="" list-name="productContent" |
| odd-row-style="alternate-row" default-table-style="basic-table"> |
| <row-actions> |
| <entity-one entity-name="Content" value-field="contentMap"> |
| <field-map field-name="contentId" from-field="contentId"/> |
| </entity-one> |
| <entity-one entity-name="ContentType" value-field="descContent"> |
| <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/> |
| </entity-one> |
| </row-actions> |
| <field name="contentTypeId"><display description="${descContent.description}"/></field> |
| <field name="contentName"><display description="${contentMap.contentName} [${contentId}]"/></field> |
| <field name="fromDate"><display/> </field> |
| <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deleteScrumProductContent"> |
| <parameter param-name="contentId"/> |
| <parameter param-name="fromDate"/> |
| <parameter param-name="productId"/> |
| <parameter param-name="productContentTypeId"/> |
| </hyperlink> |
| </field> |
| <field name="downloadLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/> |
| </field> |
| </form> |
| <form name="UploadProductContent" extends="UploadWorkEffortContent" target="createScrumProductContent?productId=${parameters.productId}"> |
| <field name="productId"><hidden value="${parameters.productId}"/> </field> |
| <field name="productContentTypeId"><hidden value="SPECIFICATION"/></field> |
| <field name="workEffortContentTypeId"><ignored/></field> |
| <field name="projectId"><ignored/></field> |
| <field name="workEffortId"><ignored/></field> |
| <sort-order> |
| <sort-field name="productId"/> |
| <sort-field name="contentId"/> |
| <sort-field name="productContentTypeId"/> |
| <sort-field name="contentTypeId"/> |
| <sort-field name="mimeTypeId"/> |
| <sort-field name="dataResourceName"/> |
| <sort-field name="createButton"/> |
| </sort-order> |
| </form> |
| <form name="ListProductContent" type="list" extends="ListProductContentInfos" list-name="productContent" paginate-target="/ListCommContent" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <row-actions> |
| <entity-one entity-name="Content" value-field="contentMap"> |
| <field-map field-name="contentId" from-field="contentId"/> |
| </entity-one> |
| <entity-one entity-name="ContentType" value-field="descContent"> |
| <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/> |
| </entity-one> |
| </row-actions> |
| <field name="contentTypeId"><display description="${descContent.description}"/></field> |
| <field name="contentName" widget-style="buttontext"> |
| <display description="${contentMap.contentName} [${contentId}]"/> |
| </field> |
| <field name="deleteLink"><ignored/></field> |
| </form> |
| <form name="AddProdBacklogNote" type="single" header-row-style="header-row" default-table-style="basic-table" |
| target="createProdBacklogNote?custRequestId=${parameters.custRequestId}&productId=${parameters.productId}"> |
| <field name="noteName"><text/> </field> |
| <field name="noteInfo"><textarea/></field> |
| <field name="createButton"><submit button-type="button"/></field> |
| </form> |
| <form name="ListProdBacklogNote" type="list" list-name="custNoteList" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="ProdBacklogNote"> |
| <row-actions> |
| <entity-one entity-name="NoteData" auto-field-map="true"/> |
| </row-actions> |
| <field name="noteId"><hidden/> </field> |
| <field name="noteName"><display/></field> |
| <field name="noteInfo"><display/></field> |
| <field name="noteDateTime"><display/></field> |
| <field name="noteParty"> |
| <display-entity entity-name="PartyNameView" description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"/> |
| </field> |
| <field name="removeNote" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteProdBacklogNote"> |
| <parameter param-name="noteId" from-field="noteId"/> |
| <parameter param-name="custRequestId" from-field="custRequestId"/> |
| <parameter param-name="productId" from-field="productId"/> |
| </hyperlink> |
| </field> |
| </form> |
| <form name="ListProdBacklogNoteInfo" extends="ListProdBacklogNote"> |
| <field name="removeNote"><ignored/></field> |
| </form> |
| <!-- Backlog Item Contents --> |
| <form name="AddCustRequestContent" type="upload" default-map-name="content" |
| header-row-style="header-row" default-table-style="basic-table" target="createBacklogItemContent?custRequestId=${parameters.custRequestId}&productId=${parameters.productId}"> |
| <field name="custRequestId" map-name="parameters"><hidden/></field> |
| <field name="contentTypeId"> |
| <drop-down allow-empty="false" no-current-selected-key="DOCUMENT"> |
| <entity-options description="${description}" entity-name="ContentType"> |
| <entity-order-by field-name="description"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="mimeTypeId" > |
| <drop-down allow-empty="false"> |
| <entity-options description="${description}" entity-name="MimeType" key-field-name="mimeTypeId"/> |
| </drop-down> |
| </field> |
| <field name="dataResourceName" title="${uiLabelMap.CommonUpload}*"><file/></field> |
| <field name="createButton"><submit button-type="button"/></field> |
| </form> |
| <form name="ListCustRequestContent" type="list" list-name="custRequestAndContents" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="EditBacklogItemContent"> |
| <row-actions> |
| <entity-one entity-name="Content" value-field="contentMap"> |
| <field-map field-name="contentId" from-field="contentId"/> |
| </entity-one> |
| <entity-one entity-name="ContentType" value-field="descContent"> |
| <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/> |
| </entity-one> |
| </row-actions> |
| <field name="contentTypeId"><display description="${descContent.description}"/></field> |
| <field name="custRequestId"><hidden/></field> |
| <field name="contentName"><display description="${contentMap.contentName}[${contentId}]"/></field> |
| <field name="mimeTypeId"><hidden/></field> |
| <field name="fromDate"><display/></field> |
| <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" > |
| <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deleteBacklogItemContent"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="contentId"/> |
| <parameter param-name="fromDate"/> |
| <parameter param-name="productId" from-field="productId"/> |
| </hyperlink> |
| </field> |
| |
| <field name="downloadLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext"> |
| <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/> |
| </field> |
| </form> |
| <form name="ViewListCustRequestContent" type="list" list-name="custRequestAndContents" extends="ListCustRequestContent" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="EditBacklogItemContent"> |
| <row-actions> |
| <entity-one entity-name="Content" value-field="contentMap"> |
| <field-map field-name="contentId" from-field="contentId"/> |
| </entity-one> |
| <entity-one entity-name="ContentType" value-field="descContent"> |
| <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/> |
| </entity-one> |
| </row-actions> |
| <field name="contentTypeId"><display description="${descContent.description}"/></field> |
| <field name="contentName" widget-style="buttontext"> |
| <display description="${contentMap.contentName} [${contentId}]"/> |
| </field> |
| <field name="deleteLink"><ignored/> </field> |
| </form> |
| <form name="taskRelateBacklog" type="list" separate-columns="true" list-name="projectSprintBacklogAndTasks" |
| odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar" use-row-submit="true"> |
| <actions> |
| <entity-and entity-name="CustRequestWorkEffort" list="sprintList"> |
| <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> |
| </entity-and> |
| <entity-condition entity-name="ProductBacklog" list="projectSprintBacklogAndTasks" distinct="true"> |
| <condition-list combine="and"> |
| <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> |
| <condition-list combine="or"> |
| <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_ERROR"/> |
| <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_IMPL"/> |
| <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_INST"/> |
| <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_TEST"/> |
| </condition-list> |
| </condition-list> |
| <select-field field-name="workEffortId"/> |
| </entity-condition> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="WorkEffort" value-field="resultTask"> |
| <field-map field-name="workEffortId" from-field="workEffortId"/> |
| </entity-one> |
| <set field="taskId" from-field="resultTask.workEffortId"/> |
| <entity-and entity-name="WorkEffortPartyAssignment" list="assignTo" filter-by-date="true"> |
| <field-map field-name="workEffortId" from-field="taskId"/> |
| </entity-and> |
| <set field="partyId" value="${groovy: if (assignTo.size() != 0) return assignTo.get(0).getString("partyId")}"/> |
| <set field="taskActualMilliSeconds" value="${groovy: if (resultTask.actualMilliSeconds != null) return actualMilliSeconds/3600000}"/> |
| <service service-name="getScrumActualHour" result-map="result"> |
| <field-map field-name="taskId" from-field="taskId"/> |
| </service> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="resultMap"> |
| <field-map field-name="taskId" from-field="taskId"/> |
| <field-map field-name="custRequestId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| <field-map field-name="projectId" from-field="nullField"/> |
| </service> |
| <set field="taskEstimatedMilliSeconds" from-field="resultMap.planHours"/> |
| <set field="taskTypeId" from-field="resultTask.workEffortTypeId"/> |
| <set field="taskCurrentStatusId" from-field="resultTask.currentStatusId"/> |
| <set field="taskCreatedDate" from-field="resultTask.createdDate" type="Timestamp"/> |
| <set field="taskEstimatedStartDate" from-field="resultTask.estimatedStartDate"/> |
| <set field="taskName" from-field="resultTask.workEffortName"/> |
| </row-actions> |
| <field name="taskId" title="${uiLabelMap.ScrumTask}" parameter-name="workEffortId"> |
| <hyperlink target="taskView" link-type="hidden-form" description="${taskName} [${taskId}]" target-window="_BLANK" target-type="intra-app"> |
| <parameter param-name="taskId" from-field="taskId"/> |
| </hyperlink> |
| </field> |
| <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}"> |
| <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${description}"/> |
| </field> |
| <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}"> |
| <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> |
| </field> |
| <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"> |
| <display-entity entity-name="Person" description="${lastName} ${firstName} ${middleName}" key-field-name="partyId"/> |
| </field> |
| <field name="taskCreatedDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field> |
| <field name="taskEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedHours}" parameter-name="planHours"><display/></field> |
| <field name="taskActualMilliSeconds" title="${uiLabelMap.ScrumActualHours}" parameter-name="actualHours"><display description="${result.actualHours}"/></field> |
| <field name="taskEstimatedStartDate" title="${uiLabelMap.CommonStartDate}" parameter-name="estimatedStartDate"><display type="date"/></field> |
| </form> |
| <form name="EditDeleteBacklogItem" type="single" target="deleteBacklogItem?custRequestId=${parameters.custRequestId}&productId=${parameters.productId}"> |
| <actions> |
| <service service-name="getScrumActualHour" result-map="resultMap"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </service> |
| <set field="actualHours" from-field="resultMap.actualHours" default-value="0" type="Double"/> |
| <set field="actualHoursMessage" value="${groovy: |
| if (actualHours > 0) |
| actualHoursMessage = "There are already "+ actualHours +" hours have been spent on this backlog item, Are you sure you want to delete?" |
| else |
| actualHoursMessage = "Are you sure to delete selected product backlog item(s)?" |
| }"/> |
| </actions> |
| <field name="reason"><textarea/> </field> |
| <field name="buttonSubmit" title="${uiLabelMap.CommonSave}" ><submit request-confirmation="true" confirmation-message="${actualHoursMessage}"/> </field> |
| </form> |
| <form name="DeleteProductBacklogItem" type="single" target="deleteProductBacklogItem?productId=${parameters.productId}&custRequestId=${parameters.custRequestId}&statusId=${parameters.statusId}"> |
| <actions> |
| <service service-name="getScrumActualHour" result-map="resultMap"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </service> |
| <set field="actualHours" from-field="resultMap.actualHours" default-value="0" type="Double"/> |
| <set field="actualHoursMessage" value="${groovy: |
| if (actualHours > 0) |
| actualHoursMessage = "There are already "+ actualHours +" hours have been spent on this backlog item, Are you sure you want to delete?" |
| else |
| actualHoursMessage = "Are you sure to delete selected product backlog item(s)?" |
| }"/> |
| </actions> |
| <field name="reason"><textarea/> </field> |
| <field name="buttonSubmit" title="${uiLabelMap.CommonSave}" ><submit request-confirmation="true" confirmation-message="${actualHoursMessage}"/> </field> |
| </form> |
| <form name="ViewBacklogStatus" type="list" extends="ViewRequestStatus" extends-resource="component://order/widget/ordermgr/CustRequestForms.xml" |
| odd-row-style="alternate-row" default-table-style="basic-table hover-bar"> |
| <field name="custRequestItemSeqId"><ignored/></field> |
| </form> |
| |
| <form name="QuickAddBacklog" type="single" target="${formTarget}" default-map-name="custRequest"> |
| <actions> |
| <set field="unplanned" from-field="parameters.unplanned"/> |
| </actions> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.CommonRequired}"><text size="50" maxlength="255"/></field> |
| <field name="billed" title="${uiLabelMap.ScrumBilled}"> |
| <drop-down allow-empty="false" no-current-selected-key="Y"> |
| <option key="Y" description="${uiLabelMap.CommonY}"/> |
| <option key="N" description="${uiLabelMap.CommonN}"/> |
| </drop-down> |
| </field> |
| <field name="unplanned" title="${uiLabelMap.ScrumUnplanBacklog}" event="onchange" action="javascript:document.QuickAddBacklog.action='QuickAddBacklog';document.QuickAddBacklog.submit();" widget-style="required" tooltip="${uiLabelMap.CommonRequired}"> |
| <drop-down allow-empty="false"> |
| <option key="" description="- ${uiLabelMap.CommonSelectOne} -"/> |
| <option key="Y" description="${uiLabelMap.CommonYes}"/> |
| <option key="N" description="${uiLabelMap.CommonNo}"/> |
| </drop-down> |
| </field> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}" use-when="${groovy: unplanned.equals("Y")}" event="onchange" action="javascript:document.QuickAddBacklog.action='QuickAddBacklog';document.QuickAddBacklog.submit();" |
| widget-style="required" tooltip="${uiLabelMap.CommonRequired}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> |
| <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/> |
| <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <entity-order-by field-name="groupName"/> |
| <entity-order-by field-name="internalName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="keyId" title="${uiLabelMap.ScrumProduct} ${uiLabelMap.ScrumProject} ${uiLabelMap.ScrumSprint}" use-when="${groovy: unplanned.equals("N")}" event="onchange" action="javascript:document.QuickAddBacklog.action='QuickAddBacklog';document.QuickAddBacklog.submit();" |
| widget-style="required" tooltip="${uiLabelMap.CommonRequired}"> |
| <drop-down allow-empty="true"> |
| <list-options key-name="keyId" list-name="workEffortList" description="[${productId}] ${internalName} -- [${projectId}] ${projectName} -- [${sprintId}] ${sprintName}"/> |
| </drop-down> |
| </field> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}"> |
| <drop-down allow-empty="true"> |
| <list-options key-name="custRequestId" list-name="categoryList" description="[${productId}] : ${internalName} -- [${custRequestId}] : ${custRequestName}"/> |
| </drop-down> |
| </field> |
| <field name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}"><text size="3"></text></field> |
| <field name="story" title="${uiLabelMap.ScrumStory}" ><textarea rows="4" cols="60"/></field> |
| <field name="custSequenceNum"><hidden value="1"/></field> |
| <field name="noteInfo" title="${uiLabelMap.ScrumHowToTest}" ><textarea rows="4" cols="60"/></field> |
| <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field> |
| </form> |
| |
| <form name="QuickAddNewTask" type="upload" target="createTaskForBacklog"> |
| <actions> |
| <entity-condition list="custRequestList" entity-name="CustRequest"> |
| <condition-list combine="and"> |
| <condition-list combine="or"> |
| <condition-expr field-name="custRequestTypeId" value="RF_PROD_BACKLOG" operator="equals"/> |
| <condition-expr field-name="custRequestTypeId" value="RF_UNPLAN_BACKLOG" operator="equals"/> |
| </condition-list> |
| <condition-expr field-name="statusId" value="CRQ_REVIEWED" operator="equals"/> |
| </condition-list> |
| <order-by field-name="description"/> |
| </entity-condition> |
| </actions> |
| <field name="custRequestId" title="Product Backlog" tooltip="Product Backlog Name [Product Backlog Id]" parameter-name="custRequestId"> |
| <drop-down allow-empty="false"> |
| <option key="" description="- ${uiLabelMap.CommonSelectOne} -"/> |
| <list-options key-name="custRequestId" list-name="custRequestList" description="${description} [${custRequestId}]"/> |
| </drop-down> |
| </field> |
| <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" required-field="true" tooltip="${uiLabelMap.ScrumToolTip100CharsMaximun}"><text/></field> |
| <field name="workEffortTypeId" title="${uiLabelMap.ScrumTaskType}" required-field="true"> |
| <drop-down> |
| <entity-options description="${description}" entity-name="WorkEffortType" key-field-name="workEffortTypeId"> |
| <entity-constraint name="parentTypeId" value="SCRUM_TASK"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}"><text size="3" default-value="${resultMap.planHours}"/></field> |
| <field name="currentStatusId"><hidden value="STS_CREATED"/></field> |
| <field name="description" title="${uiLabelMap.CommonDescription}" tooltip="${uiLabelMap.CommonMax250Chars}"><textarea/></field> |
| <field name="uploadedFile"><file/></field> |
| <field name="contentTypeId"><hidden value="DOCUMENT"/></field> |
| <field name="resourceStatusId"><hidden value="CTNT_PUBLISHED"/></field> |
| <field name="workEffortContentTypeId"><hidden value="CREATED_MEDIA"/></field> |
| <field name="mimeTypeId"><hidden value="application/octet-stream"/></field> |
| <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" event="onchange" parameter-name="partyId"> |
| <drop-down allow-empty="true"> |
| <entity-options entity-name="ScrumPersonAndCompanyAndSecurityGroup" description="${lastName}, ${firstName} ${middleName}"> |
| <entity-constraint name="groupId" value="SCRUM_TEAM"/> |
| <entity-constraint name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> |
| <entity-order-by field-name="partyId"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="createButton" title="${uiLabelMap.CommonCreate}"><submit/></field> |
| </form> |
| <form name="NewBacklogTask" extends="QuickAddNewTask"> |
| <field name="custRequestId"><hidden/></field> |
| </form> |
| |
| <form name="unplannedBacklogList" extends="ListProdBacklogBySeq" list-name="unplanBacklogItems" type="multi" target="updateProductBacklogItemRow?productId=${productId}&UnplannedSequence=${UnplannedSequence}"> |
| <row-actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="product" from-field="custRequest.description"/> |
| <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/> |
| <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/> |
| </row-actions> |
| <field name="UnplannedSequence"><hidden value="Y"/></field> |
| <field name="deleteFlag" position="1" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" widget-style="buttontext"> |
| <hyperlink target="DeleteProductBacklogItem" description="${uiLabelMap.CommonDelete}"> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| <parameter param-name="custRequestId" from-field="custRequestId"/> |
| <parameter param-name="statusId" from-field="parameters.statusId"/> |
| </hyperlink> |
| </field> |
| <!--<field name="estimatedHours" title="${uiLabelMap.ScrumPlanedHours}" use-when=""${statusId}"=="CRQ_ACCEPTED""><text size="3"/></field> |
| <field name="estimatedHours" title="${uiLabelMap.ScrumPlanedHours}" use-when=""${statusId}"=="CRQ_REVIEWED""><display/></field>--> |
| <field name="parentCustRequestId" title="${uiLabelMap.ScrumCategory}"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> |
| <entity-constraint name="productId" env-name="productId"/> |
| <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" widget-style="buttontext" use-when=""${statusId}"=="CRQ_ACCEPTED"||"${statusId}"=="CRQ_REOPENED"" > |
| <hyperlink description="${uiLabelMap.ScrumMoveToUnplannedSprint}" target="setUnplannedSprint"> |
| <parameter param-name="custRequestId" from-field="parameters.custRequestId"/> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| <parameter param-name="statusId" from-field="custRequest.statusId"/> |
| </hyperlink> |
| </field> |
| <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" use-when=""${statusId}"=="CRQ_REVIEWED""><hidden /></field> |
| <field name="dummy2" title="${uiLabelMap.CommonDelete}"><display description=" "/></field> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| </form> |
| <form name="unplannedBacklogListForOwner" extends="unplannedBacklogList"> |
| <field name="estimatedHours"><display/></field> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| </form> |
| <form name="unplanBacklogListItems" type="list" use-row-submit="true" list-name="listIt" target="UpdateUnplanBacklogHours" paginate-target="unplanBacklog" separate-columns="true" |
| odd-row-style="alternate-row" default-table-style="hover-bar basic-table"> |
| <row-actions> |
| <!-- get total backlog item's plan hours --> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="backlogPlanHourOutMap"> |
| <field-map field-name="custRequestId"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| <field-map field-name="projectId" from-field="nullField"/> |
| </service> |
| <set field="backlogPlanHours" from-field="backlogPlanHourOutMap.planHours"/> |
| <!-- get task's plan hours --> |
| <service service-name="getScrumPlanHour" result-map="taskPlanHourOutMap"> |
| <field-map field-name="taskId" from-field="workEffortId"/> |
| <field-map field-name="custRequestId" from-field="nullField"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| <field-map field-name="projectId" from-field="nullField"/> |
| </service> |
| <set field="planHours" from-field="taskPlanHourOutMap.planHours"/> |
| <!-- condition --> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("custRequestId");return new Boolean(!(prev!=null&&prev.equals(custRequestId)));}" type="Boolean"/> |
| <!-- Get list of task for each sprint backlog --> |
| <entity-and entity-name="WorkEffortPartyAssignView" list="assignedTos"> |
| <field-map field-name="workEffortId" from-field="workEffortId"/> |
| </entity-and> |
| <set field="partyId" value="${assignedTos[0].partyId}"/> |
| <entity-and entity-name="ScrumMemberUserLoginAndSecurityGroup" list="partyList"> |
| <field-map field-name="partyId" from-field="partyId"/> |
| </entity-and> |
| <service service-name="getScrumActualHour" result-map="result"> |
| <field-map field-name="taskId" from-field="workEffortId"/> |
| <field-map field-name="partyId" from-field="partyId"/> |
| </service> |
| <set field="taskActualHours" from-field="result.actualHours"/> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="defaultBacklogPlanHours" value="${custRequest.custEstimatedMilliSeconds/3600000}"/> |
| <set field="initialPlannedHours" from-field="defaultBacklogPlanHours"/> |
| <entity-and entity-name="CustRequestItem" list="custRequestItems"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| </entity-and> |
| <entity-condition entity-name="CustRequestItem" list="custRequestItems"> |
| <condition-list combine="and"> |
| <condition-expr field-name="custRequestId" from-field="custRequestId"/> |
| <condition-expr field-name="productId" operator="not-equals" from-field="nullValue"/> |
| </condition-list> |
| </entity-condition> |
| <set field="productId" from-field="custRequestItems[0].productId"/> |
| </row-actions> |
| <field name="productId" position="2"><hidden/></field> |
| <field name="custRequestId" title="${uiLabelMap.PageTitleUnplanBacklogItem}" position="1" use-when="showPosition1&&"${custRequestTypeId}"!="RF_SCRUM_MEETINGS""> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description=" "> |
| <sub-hyperlink target="ViewProdBacklogItem" description="${context.description} - [${custRequestId}]" link-type="hidden-form" target-window="_BLANK" link-style="buttontext"> |
| <parameter param-name="custRequestId"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" position="1" use-when="showPosition1&&"${custRequestTypeId}"=="RF_SCRUM_MEETINGS"" widget-style="disabled"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${context.description} - [${custRequestId}]"> |
| </display-entity> |
| </field> |
| <field name="statusId" title="${uiLabelMap.ScrumStatusBacklog}" position="1" use-when="showPosition1&&"Any".equals(paraBacklogStatusId)"> |
| <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/> |
| </field> |
| <field name="workEffortId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTask}" position="2" use-when="workEffortId!=null"> |
| <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description=" "> |
| <sub-hyperlink target="taskView" description="${uiLabelMap.ScrumTab} ${workEffortName} - [${workEffortId}]" link-type="hidden-form" target-window="_BLANK"> |
| <parameter param-name="taskId" value="${workEffortId}"/> |
| </sub-hyperlink> |
| </display-entity> |
| </field> |
| <field name="workEffortTypeId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTaskType}" position="2" use-when="workEffortId!=null"> |
| <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${uiLabelMap.ScrumTab} ${description}"/> |
| </field> |
| <field name="currentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="!"STS_COMPLETED".equals(currentStatusId)"><display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/></field> |
| <field name="currentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when=""STS_COMPLETED".equals(currentStatusId)" widget-style="alert"><display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/></field> |
| <field name="dummy1" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy2" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy3" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="initialPlannedHours" title="Initial Plan / Total Plan" position="1" use-when="showPosition1"><display description="${initialPlannedHours} / ${backlogPlanHours}"/></field> |
| <field name="dummy4" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy5" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="taskActualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when="workEffortId!=null"><display/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="workEffortId!=null"> |
| <display/> |
| </field> |
| <field name="deleteButton" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> |
| <hyperlink target="DeleteUnplanBacklog" description="Delete" confirmation-message="Are you sure to delete this sprint backlog ?" link-type="hidden-form"> |
| <parameter param-name="workEffortId"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="newTask" title="${uiLabelMap.CommonEmptyHeader}" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> |
| <hyperlink target="NewUnplanBacklogTask" description="Add Task" link-type="hidden-form"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="dummy6" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="workEffortId!=null"><display description=" "/></field> |
| <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" position="2" use-when="workEffortId!=null" > |
| <display description="${partyList[0].lastName} ${partyList[0].firstName} ${partyList[0].middleName}"></display> |
| </field> |
| <field name="editTaskParty" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="workEffortId!=null&&!"STS_COMPLETED".equals(currentStatusId)" widget-style="buttontext"> |
| <hyperlink target="EditTask" description="${uiLabelMap.CommonEdit}" link-type="hidden-form" target-window="_BLANK"> |
| <parameter param-name="taskId" from-field="${workEffortId}"/> |
| </hyperlink> |
| </field> |
| <field name="deleteTaskButton" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="workEffortId!=null&&!"STS_COMPLETED".equals(currentStatusId)" widget-style="buttontext"> |
| <hyperlink target="DeleteTaskFromUnplanBacklog" description="Delete" confirmation-message="Are you sure to delete this task ?" link-type="hidden-form"> |
| <parameter param-name="workEffortId" from-field="workEffortId"/> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| </hyperlink> |
| </field> |
| <field name="setCompleteButton" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="workEffortId!=null&&!"STS_COMPLETED".equals(currentStatusId)" |
| position="2"> |
| <hyperlink target="setCompleteFromUnplanBacklog" description="${uiLabelMap.ScrumSetComplete}" link-type="hidden-form"> |
| <parameter param-name="workEffortId" from-field="workEffortId"/> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| </hyperlink> |
| </field> |
| <field name="dummy7" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="workEffortId!=null"><display description=" "/></field> |
| </form> |
| |
| <form name="unplanBacklogListItemsHideDelete" extends="unplanBacklogListItems"> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="workEffortId!=null"><display/></field> |
| <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field> |
| <field name="deleteTaskButton" position="2" use-when="workEffortId!=null"><hidden/></field> |
| <sort-order> |
| <sort-field name="custRequestId"/> |
| <sort-field name="workEffortId"/> |
| <sort-field name="statusId"/> |
| <sort-field name="dummy1"/> |
| <sort-field name="dummy2"/> |
| <sort-field name="dummy4"/> |
| <sort-field name="dummy5"/> |
| <sort-field name="workEffortTypeId"/> |
| <sort-field name="currentStatusId"/> |
| <sort-field name="initialPlannedHours"/> |
| <sort-field name="planHours"/> |
| <sort-field name="newTask"/> |
| <sort-field name="dummy3"/> |
| </sort-order> |
| </form> |
| <form name="unplanBacklogListItemsForOwner" extends="unplanBacklogListItems"> |
| <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="workEffortId!=null"><display/></field> |
| <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field> |
| <field name="deleteTaskButton" position="2" use-when="workEffortId!=null"><hidden/></field> |
| <field name="setCompleteButton" position="2" use-when="workEffortId!=null"><hidden/></field> |
| <field name="editTaskParty" position="2" use-when="workEffortId!=null"><hidden/></field> |
| <field name="newTask" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")"><hidden/></field> |
| <sort-order> |
| <sort-field name="custRequestId"/> |
| <sort-field name="workEffortId"/> |
| <sort-field name="statusId"/> |
| <sort-field name="dummy4"/> |
| <sort-field name="workEffortTypeId"/> |
| <sort-field name="currentStatusId"/> |
| <sort-field name="initialPlannedHours"/> |
| <sort-field name="planHours"/> |
| <sort-field name="newTask"/> |
| <sort-field name="dummy3"/> |
| </sort-order> |
| </form> |
| <form name="unplannedBacklogListByCategories" extends="ListProdBacklog" list-name="unplanBacklogItems" type="multi"> |
| <actions> |
| <set field="parentCustRequestId" from-field="parameters.parentCustRequestId" default-value=""/> |
| </actions> |
| <row-actions> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="description" from-field="custRequest.description"/> |
| <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/> |
| <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/> |
| <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("parentCustRequestId");return new Boolean(!(prev!=null&&prev.equals(parentCustRequestId)));}" type="Boolean"/> |
| </row-actions> |
| <!--<field name="custRequestCategoryGroupId" position="1" use-when="${groovy:showPosition1}" title="${uiLabelMap.ScrumCategory}"> |
| <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"/> |
| </field>--> |
| <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> |
| <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" widget-style="buttontext" use-when=""${statusId}"=="CRQ_ACCEPTED"" position="2"> |
| <hyperlink description="${uiLabelMap.ScrumMoveToUnplannedSprint}" target="setUnplannedSprint"> |
| <parameter param-name="custRequestId" from-field="custRequest.custRequestId"/> |
| <parameter param-name="productId" from-field="parameters.productId"/> |
| <parameter param-name="statusId" value="parameters.statusId"/> |
| </hyperlink> |
| </field> |
| <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" use-when=""${statusId}"=="CRQ_REVIEWED"" position="2"><hidden /></field> |
| <field name="deleteFlag" position="2" title="${uiLabelMap.CommonDelete}"/> |
| <field name="dummy1" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" use-when=""${statusId}"=="CRQ_REVIEWED"" position="2"><display description=" "/></field> |
| </form> |
| <form name="unplannedBacklogListByCategoriesForOwner" extends="unplannedBacklogListByCategories"> |
| <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><display/></field> |
| </form> |
| <form name="NewTaskForUnplanBacklog" target="createTaskForUnplanBacklog?productId=${parameters.productId}" extends="EditSprintTask" extends-resource="component://scrum/widget/TaskForms.xml"> |
| <actions> |
| <set field="nullField" type="String"/> |
| <service service-name="getScrumPlanHour" result-map="resultMap"> |
| <field-map field-name="custRequestId" from-field="custRequestId"/> |
| <field-map field-name="sprintId" from-field="nullField"/> |
| </service> |
| <entity-one entity-name="CustRequest" value-field="custRequest"/> |
| <set field="hoursLeft" value="${custRequest.custEstimatedMilliSeconds/1000/60/60 - resultMap.planHours}"/> |
| </actions> |
| <alt-target use-when="task!=null" target="createTaskForUnplanBacklog?productId=${parameters.productId}"/> |
| <field name="id"><ignored/></field> |
| <field name="taskId"><ignored/></field> |
| <field name="workEffortId"><ignored/></field> |
| <field name="projectId"><ignored/></field> |
| <field name="sprintId"><ignored/></field> |
| <field name="UpdateButton"><ignored/></field> |
| <field name="createButton"><ignored/></field> |
| <field name="partyId"> |
| <drop-down allow-empty="true"> |
| <entity-options description="${lastName} ${firstName} ${middleName}" entity-name="ScrumMemberUserLoginAndSecurityGroup" key-field-name="partyId"> |
| <entity-constraint name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> |
| <entity-constraint name="groupId" operator="equals" value="SCRUM_TEAM"/> |
| <entity-constraint name="enabled" operator="not-equals" value="N"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="custRequestId"><hidden/></field> |
| <field name="planHours" title="Plan Hours"><text size="2"/></field> |
| <field name="actualHours"><hidden/></field> |
| <field name="createButton1" title="${uiLabelMap.CommonCreate}"><submit/></field> |
| </form> |
| <form name="ListProductRevisions" extends="ListTaskRevisions" extends-resource="component://scrum/widget/TaskForms.xml" paginate-target="ViewProduct" view-size="10"> |
| <field name="productId"><hidden value="${parameters.productId}"/></field> |
| </form> |
| <form name="ListBacklogRevisions" extends="ListTaskRevisions" extends-resource="component://scrum/widget/TaskForms.xml" paginate-target="ViewProdBacklogItem" view-size="10"> |
| </form> |
| <form name="FindProductStatistics" type="single" target="ProductStatistics"> |
| <field name="productId" title="${uiLabelMap.ScrumProductName}"> |
| <drop-down> |
| <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> |
| <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/> |
| <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> |
| <entity-order-by field-name="groupName"/> |
| <entity-order-by field-name="internalName"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="submitButton" title="${uiLabelMap.CommonSubmit}"><submit/></field> |
| </form> |
| </forms> |