| <?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" |
| xmlns="http://ofbiz.apache.org/Widget-Form" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Form 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 description="${workEffortName}" target="ViewSprint"> |
| <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"></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 entity-name="CustRequestAndCustRequestItem" list="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 description="${context.description} - [${custRequestId}]" target="ViewProdBacklogItem"> |
| <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="${groovy: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" 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" 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" key-field-name="statusId"/></field> |
| <field name="dummy1" title=" " position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy2" title=" " position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy3" title=" " 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=" " position="1" use-when="showPosition1"><display description=" "/></field> |
| <field name="dummy5" title=" " 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.ScrumPlannedHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display></display> |
| </field> |
| <field name="deleteButton" title=" " position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> |
| <hyperlink description="Delete" target="DeleteSprintBackLogs" 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=" " position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> |
| <hyperlink description="Add Task" target="NewSprintBacklogTask" link-type="hidden-form"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="sprintId"/> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="dummy6" title=" " 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=" " position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="buttontext"> |
| <hyperlink description="${uiLabelMap.CommonEdit}" target="EditTask" link-type="hidden-form" target-window="_BLANK"> |
| <parameter param-name="taskId"/> |
| <parameter param-name="sprintId"></parameter> |
| </hyperlink> |
| </field> |
| <field name="deleteTaskButton" title=" " position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="buttontext"> |
| <hyperlink description="Delete" target="DeleteTaskFromSprintOverview" 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=" " widget-style="buttontext" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" |
| position="2"> |
| <hyperlink description="${uiLabelMap.ScrumSetComplete}" target="setCompleteTask" link-type="hidden-form"> |
| <parameter param-name="workEffortId" from-field="taskId"/> |
| <parameter param-name="sprintId"></parameter> |
| </hyperlink> |
| </field> |
| <field name="dummy7" title=" " position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display description=" "/></field> |
| </form> |
| |
| <form name="SprintBacklogListItemsHideDelete" extends="SprintBacklogListItems"> |
| <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" 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="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], null, false); |
| 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 description="${resultProduct.internalName} [${resultProduct.productId}]" target="ViewProduct"> |
| <parameter param-name="productId" from-field="resultProduct.productId"/> |
| </hyperlink> |
| </field> |
| <field name="projectId" title="${uiLabelMap.ScrumProjectName}"> |
| <hyperlink description="${project.workEffortName} [${project.workEffortId}]" target="viewScrumProject"> |
| <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.ScrumPlannedHours}"><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 entity-name="StatusItem"> |
| <entity-constraint name="statusTypeId" operator="equals" value="SPRINT_STATUS"/> |
| </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"> |
| <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 description="${lastName}, ${firstName} ${middleName} [${partyId}]" target="viewprofile"><parameter param-name="partyId"/></hyperlink></field> |
| <field name="roleTypeId"> |
| <display-entity entity-name="RoleType"/> |
| </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 entity-name="WorkEffortAttribute" value-field="workEffortAttMap"> |
| <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"> |
| <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 entity-name="WorkEffortAttribute" value-field="workEffortAttMap"> |
| <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"/> |
| </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 entity-name="WorkEffortAttribute" value-field="workEffortAttMap"> |
| <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}" required-field="true" tooltip="${uiLabelMap.ScrumMax255Chars}" use-when="custRequest==null"> |
| <text size="63" maxlength="255"/> |
| </field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" required-field="true" tooltip="${uiLabelMap.ScrumMax255Chars}" use-when="custRequest!=null&&isTeamMember==false"><text size="63" maxlength="255"/></field> |
| <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" 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="plannedTime" parameter-name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest==null"> |
| <text size="3"/> |
| </field> |
| <field name="plannedTime" parameter-name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest!=null&&isTeamMember==false"><text size="3" default-value="${custRequest.custEstimatedMilliSeconds/3600000}"/></field> |
| <field name="plannedTime" parameter-name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedTime}" 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" 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"></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 description="${sprintName} [${workEffortlist[0].workEffortId}]" target="ViewSprint"> |
| <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="plannedTime"/> |
| <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"> |
| <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="true"> |
| <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="true"> |
| <entity-options entity-name="StatusItem" 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="true"> |
| <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="true"> |
| <entity-options entity-name="StatusItem" 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="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="${groovy: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=" "> |
| <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=" "> |
| <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=" " > |
| <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=" "> |
| <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 description="${description} [${custRequestId}]" target="ViewProdBacklogItem"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlannedHours}"><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.ScrumPlannedHours}"><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=" "> |
| <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=" "> |
| <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=" " > |
| <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=" "> |
| <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 description="${custRequestId}" target="ViewProdBacklogItem"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="description" position="1" title="${uiLabelMap.ScrumProductBacklogItem}"> |
| <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.ScrumPlannedHours}"><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 description="${uiLabelMap.CommonDelete}" target="DeleteProductBacklogItem"> |
| <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 description="${companyName} [${companyId}]" target="viewprofile"> |
| <parameter param-name="partyId" from-field="companyId"/> |
| </hyperlink> |
| </field> |
| <field name="projectName" title="${uiLabelMap.ScrumProject}" position="1" use-when="!isCurrentProject" widget-style="buttontext"> |
| <hyperlink description="${projectName} [${projectId}]" target="viewScrumProject"> |
| <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 description="${productOwnerName} [${productOwnerId}]" target="viewprofile"> |
| <parameter param-name="partyId" from-field="productOwnerId"/> |
| </hyperlink> |
| </field> |
| <field name="dummy" title=" " position="2" use-when=""${sprintId}"!="""><display description=" "/></field> |
| <field name="sprintName" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumSprint}" position="2" use-when=""${sprintId}"!="""> |
| <hyperlink description="${uiLabelMap.ScrumTab} ${sprintName} [${sprintId}]" target="ViewSprint"> |
| <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"/> |
| </field> |
| <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" 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 description="${projectName} [${projectId}]" target="viewScrumProject"> |
| <parameter param-name="projectId" from-field="workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="sprintName" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumSprint}" position="2" use-when=""${sprintId}"!="""> |
| <hyperlink description="${uiLabelMap.ScrumTab} ${sprintName} [${sprintId}]" target="ViewSprint"> |
| <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"/> |
| </field> |
| <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}" position="2" use-when=""${sprintId}"!="""><display/></field> |
| <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" 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 description="${workEffortName} [${workEffortId}]" target="ViewSprint"> |
| <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 entity-name="CustRequestAndCustRequestItem" list="productBacklog"> |
| <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.ScrumPlannedHours}"><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="javascript: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="javascript: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 entity-name="StatusItem"> |
| <entity-constraint name="statusTypeId" value="PRODUCT_STATUS"/> |
| </entity-options> |
| </drop-down> |
| </field> |
| <field name="internalName" title="${uiLabelMap.ScrumProductName}" required-field="true"><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 description="${parties[0].groupName} -- ${parties[0].lastName} ${parties[0].firstName} ${parties[0].middleName}" target="viewprofile"> |
| <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"/> |
| </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"> |
| <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="${groovy: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 description="${projectName}" target="viewScrumProject"> |
| <parameter param-name="projectId"/> |
| </hyperlink> |
| </field> |
| <field name="sprintId" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumSprint}"> |
| <hyperlink description="${sprintName}" target="ViewSprint"> |
| <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=" " position="1" use-when="${groovy:showPosition1==true}"><display description=" "/></field> |
| <field name="dummy2" title=" " position="1" use-when="${groovy:showPosition1==true}"><display description=" "/></field> |
| <field name="dummy3" title=" " 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=" " 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"/></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 description="${sprintName} [${productBacklogs[0].workEffortId}]" target="ViewSprint"> |
| <parameter param-name="prjectId" from-field="projectId"/> |
| <parameter param-name="sprintId" from-field="workEffortlist[0].workEffortId"/> |
| </hyperlink> |
| </field> |
| <field name="estimated" title="${uiLabelMap.ScrumPlannedTime}" 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="${groovy: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 description="${description} [${custRequestId}]" target="ViewProdBacklogItem"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"> |
| <display-entity entity-name="StatusItem" 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.ScrumPlannedHours}"><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="${groovy: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="ViewProduct" 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 description="${description} [${custRequestId}]" target="ViewProdBacklogItem"> |
| <parameter param-name="custRequestId"/> |
| <parameter param-name="productId"/> |
| </hyperlink> |
| </field> |
| <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"> |
| <display-entity entity-name="StatusItem" 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.ScrumPlannedHours}"><display description="${custEstimatedMilliSeconds/1000/60/60}"/></field> |
| |