<?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(&quot;custRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;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&amp;&amp;&quot;${custRequestTypeId}&quot;!=&quot;RF_SCRUM_MEETINGS&quot;">
            <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&amp;&amp;&quot;${custRequestTypeId}&quot;==&quot;RF_SCRUM_MEETINGS&quot;" 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&amp;&amp;&quot;Any&quot;.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="!&quot;SCRUM_SPRINT&quot;.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="!&quot;SCRUM_SPRINT&quot;.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="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.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="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display/></field>
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display></display>
        </field>
        <field name="deleteButton" title=" " position="1" use-when="showPosition1&amp;&amp;!&quot;CRQ_COMPLETED&quot;.equals(&quot;${custRequest.statusId}&quot;)" 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&amp;&amp;!&quot;CRQ_COMPLETED&quot;.equals(&quot;${custRequest.statusId}&quot;)" 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="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display description=" "/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" position="2" parameter-name="partyId" use-when="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)">
            <display-entity entity-name="PartyNameView"  description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"/>
        </field>
        <field name="editTaskParty" title=" " position="2" use-when="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.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="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.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="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.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="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display description=" "/></field>
    </form>
    
    <form name="SprintBacklogListItemsHideDelete" extends="SprintBacklogListItems">
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display/></field>
        <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field>
        <field name="deleteTaskButton" position="2" use-when="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.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(&quot;WorkEffortPartyAssignment&quot;, [&quot;workEffortId&quot;: 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(&quot;partyId&quot;)!=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(&quot;partyId&quot;)==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&amp;&amp;isTeamMember==false"><text size="63" maxlength="255"/></field>
        <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" use-when="custRequest!=null&amp;&amp;isTeamMember==true"><display/></field>
        <field name="productId" map-name="product" title="${uiLabelMap.ScrumProjectMoveToProduct}" use-when="custRequest!=null&amp;&amp;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&amp;&amp;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&amp;&amp;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&amp;&amp;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&amp;&amp;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&amp;&amp;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&amp;&amp;isTeamMember==false"><text size="3"></text></field>
        <field name="custSequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest!=null&amp;&amp;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&amp;&amp;isTeamMember==false&amp;&amp;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&amp;&amp;isTeamMember==false&amp;&amp;projectBilled!=null" tooltip="${uiLabelMap.ScrumSetOnProjectLevel}">
            <display/>
        </field>
        <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&amp;&amp;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&amp;&amp;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&amp;&amp;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&amp;&amp;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&amp;&amp;isTeamMember==false"><textarea  rows="4" cols="60" default-value="${story}" /></field>
        <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest!=null&amp;&amp;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}&amp;sequence=${sequence}&amp;" 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(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;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}&amp;sequence=${sequence}&amp;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(&quot;isCurrentProject&quot;, false);}" type="Boolean"/>
            <set field="currentProject" value="${groovy: request.setAttribute(&quot;currentProject&quot;, ' ');}" type="String"/>
        </actions>
        <row-actions>
            <set field="isCurrentProject" value="${groovy: 
                if (request.getAttribute(&quot;currentProject&quot;) != context.projectId)
                    request.setAttribute(&quot;isCurrentProject&quot;, false);
                else
                    request.setAttribute(&quot;isCurrentProject&quot;, true);
                if (request.getAttribute(&quot;currentProject&quot;) != context.projectId)
                    request.setAttribute(&quot;currentProject&quot;, context.projectId);
                return (boolean)request.getAttribute(&quot;isCurrentProject&quot;);
                }"
                type="Boolean"/>
            <set field="isCurrentCompany" value="${groovy: 
                if (request.getAttribute(&quot;currentCompany&quot;) != context.companyId)
                    request.setAttribute(&quot;isCurrentCompany&quot;, false);
                else
                    request.setAttribute(&quot;isCurrentCompany&quot;, true);
                if (request.getAttribute(&quot;currentCompany&quot;) != context.companyId)
                    request.setAttribute(&quot;currentCompany&quot;, context.companyId);
                return (boolean)request.getAttribute(&quot;isCurrentCompany&quot;);
                }"
                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="&quot;${sprintId}&quot;!=&quot;&quot;"><display description=" "/></field>
        <field name="sprintName" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumSprint}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;">
            <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="&quot;${sprintId}&quot;!=&quot;&quot;">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="actualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="actualHoursNotBillYet" title="${uiLabelMap.ScrumActualHoursNotBill}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="sprintActualStartDate" title="${uiLabelMap.CommonStartDate}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display type="date"></display></field>
        <field name="sprintActualCompletionDate" title="${uiLabelMap.CommonEndDate}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><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(&quot;isCurrentProject&quot;, false);}" type="Boolean"/>
            <set field="currentProject" value="${groovy: request.setAttribute(&quot;currentProject&quot;, ' ');}" type="String"/>
        </actions>
        <row-actions>
            <set field="isCurrentProject" value="${groovy: 
                if (request.getAttribute(&quot;currentProject&quot;) != context.projectId)
                    request.setAttribute(&quot;isCurrentProject&quot;, false);
                else
                    request.setAttribute(&quot;isCurrentProject&quot;, true);
                if (request.getAttribute(&quot;currentProject&quot;) != context.projectId)
                    request.setAttribute(&quot;currentProject&quot;, context.projectId);
                return (boolean)request.getAttribute(&quot;isCurrentProject&quot;);
                }"
                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="&quot;${sprintId}&quot;!=&quot;&quot;">
            <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="&quot;${sprintId}&quot;!=&quot;&quot;">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="actualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="actualHoursNotBillYet" title="${uiLabelMap.ScrumActualHoursNotBill}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display/></field>
        <field name="sprintActualStartDate" title="${uiLabelMap.CommonStartDate}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><display type="date"></display></field>
        <field name="sprintActualCompletionDate" title="${uiLabelMap.CommonEndDate}" position="2" use-when="&quot;${sprintId}&quot;!=&quot;&quot;"><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(&quot;dddddddddddddddddddddddddddddd&quot;+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(&quot;dddddddddddddddddddddddddddddd&quot;+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(&quot;dddddddddddddddddddddddddddddd&quot;+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(&quot;dddddddddddddddddddddddddddddd&quot;+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}&amp;fromDate=${fromDate}&amp;thruDate=${thruDate}&amp;includeMeeting=${includeMeeting}&amp;VIEW_SIZE_1=${parameters.VIEW_SIZE_1}&amp;VIEW_INDEX_1=${parameters.VIEW_INDEX_1}">
        <row-actions>
            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return !(prev!=null&amp;&amp;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}&amp;fromDate=${fromDate}&amp;thruDate=${thruDate}&amp;includeMeeting=${includeMeeting}&amp;VIEW_SIZE_1=${parameters.VIEW_SIZE_1}&amp;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(&quot;invoiceId&quot;)!=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(&quot;invoiceId&quot;)!=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(&quot;RF_UNPLAN_BACKLOG&quot;))
                     custRequestType = &quot;Y&quot;
                 else
                     custRequestType = &quot;N&quot;
                }"/>
            <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(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;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&amp;&amp;sequence.equals(&quot;N&quot;)}" 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(&quot;productId&quot;);return new Boolean(!(prev!=null&amp;&amp;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>
        <field name="billed" position="2" ><display></display></field>
        <field name="custRequestDate" position="2" title="${uiLabelMap.ScrumRequestDate}"><display type="date"/></field>
    </form>
    <form name="ViewDailyMeetingMinute" type="single" extends="DailyMeetingMinute">
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}" event="onClick" action="javascript:document.ViewDailyMeetingMinute.disable();"><hidden/></field>
    </form>
    <form name="ViewEditScrumProject" type="single" extends="EditScrumProject">
        <field name="submitButton" title="Save" widget-style="smallSubmit"><hidden/></field>
    </form>
    <form name="ViewAddSprintBacklog" type="single" extends="AddSprintBacklog">
        <field name="submitButton"><hidden/></field>
    </form>
    <form name="ViewAddSprintMember" type="single" extends="AddSprintMember">
        <field name="submitButton" title="Assign"><hidden/></field>
    </form>
    <form name="ViewShowSprintInfo" type="single" extends="ShowSprintInfo">
        <field name="deleteButton" title="Delete Sprint" widget-style="textbutton" action="javascript: return confirm('Are you sure to delete this sprint ?');" event="Onclick"><hidden/></field>
    </form>
    <form name="ViewListSprintMember" type="list" extends="ListSprintMember">
        <field name="submitButton" title="${uiLabelMap.CommonDelete}"><hidden/></field>
    </form>
    <form name="ViewSprintBacklogListItemsNoAction" extends="SprintBacklogListItems">
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><display/></field>
        <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field>
        <field name="deleteTaskButton" position="2" use-when="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><hidden/></field>
        <field name="setCompleteButton" position="2" use-when="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><hidden/></field>
        <field name="editTaskParty" position="2" use-when="!&quot;STS_COMPLETED&quot;.equals(taskCurrentStatusId)&amp;&amp;!&quot;SCRUM_SPRINT&quot;.equals(taskTypeId)"><hidden/></field>
        <field name="newTask" use-when="showPosition1&amp;&amp;!&quot;CRQ_COMPLETED&quot;.equals(&quot;${custRequest.statusId}&quot;)"><hidden/></field>
        <sort-order>
            <sort-field name="custRequestId"/>
            <sort-field name="taskId"/>
            <sort-field name="custRequest.statusId"/>
            <sort-field name="dummy4"/>
            <sort-field name="taskTypeId"/>
            <sort-field name="taskCurrentStatusId"/>
            <sort-field name="initialPlannedHours"/>
            <sort-field name="planHours"/>
            <sort-field name="newTask"/>
            <sort-field name="dummy3"/>
            <sort-field name="taskActualHours"/>
            <sort-field name="partyId"/>
        </sort-order>
    </form>
    
    <form name="SprintTasksList" type="list" list-name="projectSprintBacklogAndTasks" target="updateSprintTask" paginate-target="SprintTask" separate-columns="true"
        odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar" use-row-submit="true">
        <row-actions>
            <entity-and entity-name="WorkEffortPartyAssignment" list="assignTo" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="taskId"/>
            </entity-and>
            <entity-and entity-name="PartyDetailAndWorkEffortAssign" list="sprintMembers" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="sprintId"/>
            </entity-and>
            <set field="partyId" value="${groovy: if (assignTo.size() != 0) return assignTo.get(0).getString(&quot;partyId&quot;)}"/>
            <service service-name="getScrumActualHour" result-map="results">
                <field-map field-name="taskId" from-field="taskId"/>
            </service>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultMap">
                <field-map field-name="taskId"/>
                <field-map field-name="custRequestId" from-field="nullField"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="projectId" from-field="nullField"/>
            </service>
            <set field="taskActualMilliSeconds" from-field="results.actualHours"/>
            <set field="taskEstimatedMilliSeconds" from-field="resultMap.planHours"/>
        </row-actions>
        <field name="sprintId"><hidden value="${parameters.sprintId}"/></field>
        <field name="taskId" title="${uiLabelMap.ScrumTask}" parameter-name="workEffortId">
            <hyperlink description="${taskName} [${taskId}]" target="SprintTaskView">
                <parameter param-name="sprintId"/>
                <parameter param-name="taskId"/>
            </hyperlink>
        </field>
        <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId">
                <sub-hyperlink target="ViewProdBacklogItem" description="[${custRequestId}]">
                    <parameter param-name="custRequestId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}">
            <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId"/>
        </field>
        <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}">
            <drop-down allow-empty="true" no-current-selected-key="${partyId}">
                <list-options key-name="partyId" list-name="sprintMembers" description="${lastName} ${firstName}"/>
            </drop-down>
        </field>
        <field name="taskCreatedDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field>
        <field name="taskEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedHours}" parameter-name="planHours"><text size="5"/></field>
        <field name="taskActualMilliSeconds" title="${uiLabelMap.ScrumActualHours}" parameter-name="actualHours"><display/></field>
        <field name="updateButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button" /></field>
        <field name="editButton" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonEdit}" target="EditSprintTask" link-type="hidden-form">
                <parameter param-name="sprintId" from-field="parameters.parameters.sprintId"/>
                <parameter param-name="taskId"/>
            </hyperlink>
        </field>
        <field name="deleteButton" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteSprintTask" link-type="hidden-form" confirmation-message="Are you sure to delete this task?">
                <parameter param-name="sprintId" from-field="parameters.sprintId"/>
                <parameter param-name="custRequestId"/>
                <parameter param-name="workEffortId" from-field="taskId"/>
            </hyperlink>
        </field>
         
    </form>
    
    <form name="SprintTasksListError" extends="SprintTasksList">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="SprintTasksListInstall" extends="SprintTasksList">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="SprintTasksListTest" extends="SprintTasksList">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="SprintTasksListCoding" extends="SprintTasksList">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    
    <form name="FindSprintTask" type="single">
        <field name="taskId"><text/></field>
        <field name="taskName"><text/></field>
        <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}">
            <drop-down allow-empty="true">
                <entity-options entity-name="WorkEffortType" key-field-name="workEffortTypeId">
                    <entity-constraint name="parentTypeId" value="SCRUM_TASK"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="findButton" title="${uiLabelMap.CommonFind}"><submit/></field>
    </form>
    <form name="SprintTasksListNoAction" extends="SprintTasksList">
        <field name="partyId">
            <display-entity entity-name="Person" key-field-name="partyId" description="${lastName} ${firstName}"></display-entity>
        </field>
        <field name="taskEstimatedMilliSeconds"><display/></field>
        <field name="updateButton"><hidden/></field>
        <field name="editButton"><hidden/></field>
        <field name="deleteButton"><hidden/></field>
    </form>
    <form name="SprintTasksListErrorNoAction" extends="SprintTasksListNoAction">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="SprintTasksListInstallNoAction" extends="SprintTasksListNoAction">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="SprintTasksListTestNoAction" extends="SprintTasksListNoAction">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="SprintTasksListCodingNoAction" extends="SprintTasksListNoAction">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="projectSprintBacklogAndTasks">
                <condition-list combine="and">
                    <condition-expr field-name="projectId" from-field="parameters.projectId"/>
                    <condition-expr field-name="taskId" operator="like" value="%${parameters.taskId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskName" operator="like" value="%${parameters.taskName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintId" operator="like" value="%${parameters.sprintId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintName" operator="like" value="%${parameters.sprintName}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="taskTypeId" operator="like" value="%${parameters.taskTypeId}%" ignore-if-empty="true" ignore-case="true"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="taskPriority"/>
            </entity-condition>
        </actions>
    </form>
    <form name="NewTaskForSprintBacklog" target="createTaskForSprintBacklog" extends="EditSprintTask" extends-resource="component://scrum/widget/TaskForms.xml">
        <actions>
            <set field="custRequestId" from-field="parameters.custRequestId"/>
            <set field="sprintId" from-field="parameters.sprintId"/>
            <entity-one entity-name="WorkEffort" value-field="sprint">
                <field-map field-name="workEffortId" from-field="sprintId"/>
            </entity-one>
            <entity-one entity-name="CustRequest" value-field="backlog"/>
            <set field="sprintStart" from-field="sprint.actualStartDate" type="Date"/>
            <set field="sprintEnd" from-field="sprint.actualCompletionDate" type="Date"/>
            <entity-and entity-name="PartyDetailAndWorkEffortAssign" list="sprintMembers" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="sprintId"/>
                <field-map field-name="roleTypeId" value="SCRUM_TEAM"/>
            </entity-and>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultMap">
                <field-map field-name="custRequestId"/>
                <field-map field-name="sprintId" from-field="nullField"/>
            </service>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
            <set field="hoursLeft" value="${custRequest.custEstimatedMilliSeconds/1000/60/60 - resultMap.planHours}"/>
        </actions>
        <alt-target use-when="task!=null" target="createTaskForSprintBacklog"/>
        <field name="id"><hidden/></field>
        <field name="custRequestId"><hidden/></field>
        <field name="planHours" title="Plan Hours"><text size="2"/></field>
        <field name="actualHours"><hidden/></field>
        <field name="UpdateButton"><hidden/></field>
        <field name="custRequestId1" title="${uiLabelMap.ScrumSprintBacklog}">
            <display description="${groovy:return sprint.getString(&quot;workEffortName&quot;)+' - '+backlog.getString(&quot;description&quot;);}"/>
        </field>
        <field name="createButton"><hidden/></field>
        <field name="createButton1" title="${uiLabelMap.CommonCreate}"><submit/></field>
    </form>
    
    <form name="ListProduct" type="list" default-entity-name="ProductRole" use-row-submit="true" list-name="listIt" target="deleteProduct" paginate-target="main" separate-columns="true"
        odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar">
        <actions>
            <set field="isCurrentCompany" value="${groovy: request.setAttribute(&quot;isCurrentCompany&quot;, false);}" type="Boolean"/>
            <set field="currentCompany" value="${groovy: request.setAttribute(&quot;currentCompany&quot;, ' ');}" type="String"/>
        </actions>
        <row-actions>
            <entity-one entity-name="Product" value-field="product">
                <field-map field-name="productId" from-field="productId"/>
            </entity-one>
            <entity-and entity-name="ProductRole" list="ownerCompanyRoles">
                <field-map field-name="productId" from-field="productId"/>
                <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/>
            </entity-and>
            <set field="companyNameId" from-field="ownerCompanyRoles[0].partyId"/>
            <entity-one entity-name="PartyGroup" value-field="resultCompanyGroup">
                <field-map field-name="partyId" from-field="companyNameId"/>
            </entity-one>
            <entity-and entity-name="ProductRole" list="ownerRoles">
                <field-map field-name="productId" from-field="productId"/>
                <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/>
            </entity-and>
            <entity-one entity-name="Person" value-field="person">
                <field-map field-name="partyId" from-field="ownerRoles[0].partyId"/>
            </entity-one>
            <set field="isCurrentCompany" value="${groovy: 
                if (request.getAttribute(&quot;currentCompany&quot;) != context.groupName)
                    request.setAttribute(&quot;isCurrentCompany&quot;, false);
                else
                    request.setAttribute(&quot;isCurrentCompany&quot;, true);
                if (request.getAttribute(&quot;currentCompany&quot;) != context.groupName)
                    request.setAttribute(&quot;currentCompany&quot;, context.groupName);
                return (boolean)request.getAttribute(&quot;isCurrentCompany&quot;);
                }"
                type="Boolean"/>
            <set field="groupId" from-field="partyAndSecurityGroupList[0].groupId"/> 
            <set field="productTartget" value="${groovy:
                if (&quot;SCRUM_PRODUCT_OWNER&quot;.equals(groupId))
                    productTartget = &quot;AddProdBacklog&quot;
                else if (&quot;SCRUM_MASTER&quot;.equals(groupId) || &quot;SCRUM_TEAM&quot;.equals(groupId) || &quot;SCRUM_STAKEHOLDER&quot;.equals(groupId))
                    productTartget = &quot;ViewTotalBacklog&quot;
                else 
                    productTartget = &quot;ViewProduct&quot;
                }"/>
            <set field="supportDiscontinuationDate" from-field="supportDiscontinuationDate"/>
            <set field="statusId" value="${groovy: if(supportDiscontinuationDate == null) return 'PRODUCT_ACTIVE' else return 'PRODUCT_CLOSED'}"/>
        </row-actions>
        <field name="isCurrentCompany"><hidden/></field>
        <field name="partyId"><hidden/></field>
        <field name="productId"><hidden/></field>
        <field name="name"><hidden/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}">
            <display-entity entity-name="StatusItem"/>
        </field>
        <field name="companyNameId" title="${uiLabelMap.ScrumOwnerCompany}" use-when="!isCurrentCompany">
            <hyperlink description="${resultCompanyGroup.groupName} [${companyNameId}]" target="viewprofile">
                <parameter param-name="partyId" from-field="companyNameId"/>
            </hyperlink>
        </field>
        <field name="longDescription" title="${uiLabelMap.CommonDescription}"><display/></field>
        <field name="productId" title="${uiLabelMap.ScrumProduct}">
            <display-entity entity-name="Product" key-field-name="productId" description=" " >
                <sub-hyperlink target="${productTartget}" description="${internalName} [${productId}]" link-style="buttontext" >
                    <parameter param-name="productId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <sort-order>
            <sort-field name="companyNameId"></sort-field>
            <sort-field name="productId"></sort-field>
            <sort-field name="longDescription"></sort-field>
            <sort-field name="person.partyId"></sort-field>
            <sort-field name="statusId"></sort-field>
        </sort-order>
    </form>
    <form name="ListProductWithNoLinkProfile" extends="ListProduct">
        <field name="companyNameId" title="${uiLabelMap.ScrumOwnerCompany}" use-when="!isCurrentCompany">
            <display description="${resultCompanyGroup.groupName} [${companyNameId}]"/>
        </field>
    </form>
    <form name="BacklogInfo" type="single">
        <actions>
          <entity-one entity-name="CustRequest" value-field="dataCustRequest">
                  <field-map field-name="custRequestId" from-field="parameters.custRequestId"/>
          </entity-one>
        </actions>
        <field name="backlogId" title="Product Backlog Id"><display description="${dataCustRequest.custRequestId}"/></field>
        <field name="backlogItem" title="Product Backlog Item"><display description="${dataCustRequest.description}"/></field>
    </form>
    <form name="ListBacklogTask" type="list" list-name="listIt" paginate-target="findTask" odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
    <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="listIt">
                <condition-list>
                    <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                    <condition-list combine="or">
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/>
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/>
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/>
                        <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/>
                    </condition-list>
                </condition-list>
            </entity-condition>
    </actions>
    <field name="taskName" title="Task Name" >
        <hyperlink description="${taskName}" target="taskView">
            <parameter param-name="taskId" from-field="taskId"/>
        </hyperlink>
   </field>
   <field name="taskTypeId" title="Task Type">
        <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId"></display-entity>
   </field> 
   <field name="taskCurrentStatusId" title="Status">
        <display-entity entity-name="StatusItem" key-field-name="statusId"/>
   </field>
   <field name="taskActualCompletionDate" title="Completion Date"><display/></field>
   </form>
   
   <form name="ListTaskSprint" list-name="notes" title="" type="list" paginate-target="backlogView"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="custRequestId" title="Backlog ID" widget-style="buttontext">
        <hyperlink description="${custRequestId}" target="backlogView">
            <parameter param-name="custRequestId" from-field="${custRequestId}"/>
        </hyperlink>
        </field>
        <field name="noteInfo" title="How To Test" ><display description="${noteInfo}"/></field>
    </form>
    
    <!--Project contents -->
    <form name="ListContents" extends="ListWorkEffortContents" extends-resource="component://workeffort/widget/WorkEffortForms.xml"
         odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar">
        <row-actions>
            <entity-one entity-name="Content" value-field="contentMap">
                <field-map field-name="contentId" from-field="contentId"/>
            </entity-one>
            <entity-one entity-name="ContentType" value-field="descContent">
                <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/>
            </entity-one>
        </row-actions>
        <field name="contentId"><hidden/></field>
        <field name="workEffortContentTypeId"><hidden/></field>
        <field name="mimeTypeId"><hidden/></field>
        <field name="contentTypeId"><display description="${descContent.description}"/></field>
        <field name="contentName" use-when="headerItem.equals(&quot;EditProjectContents&quot;)">
            <display description="${contentMap.contentName} ${contentId}"/>
        </field>
        <field name="thruDate"><ignored/></field>
        <field name="submitButton"><ignored/></field>
        <field name="deleteLink" title=" " widget-style="buttontext" use-when="headerItem.equals(&quot;EditProjectContents&quot;)">
            <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteProjectContent" also-hidden="false" request-confirmation="true">
                <parameter param-name="contentId"/>
                <parameter param-name="workEffortId"/>
                <parameter param-name="workEffortContentTypeId"/>
                <parameter param-name="fromDate"/>
                <parameter param-name="projectId"/>
            </hyperlink>
        </field>
        <field name="downloadLink" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/>
        </field>
        <sort-order>
            <sort-field name="contentTypeId"/>
            <sort-field name="contentName"/>
            <sort-field name="fromDate"/>
            <sort-field name="deleteLink"/>
            <sort-field name="downloadLink"/>
        </sort-order>
    </form>
    <form name="UploadWorkEffortContent" type="upload" default-map-name="content"
        focus-field-name="contentTypeId" header-row-style="header-row" default-table-style="basic-table" target="createProjectContent?projectId=${parameters.projectId}">
        <field name="workEffortId" map-name="parameters"><hidden/></field>
        <field name="projectId" map-name="parameters"><hidden/></field>
        <field name="workEffortContentTypeId"><hidden value="PROJECT_SPEC"/></field>
        <field name="contentTypeId">
            <drop-down allow-empty="false" no-current-selected-key="DOCUMENT">
                <entity-options entity-name="ContentType"/>
            </drop-down>
        </field>
        <field name="mimeTypeId" >
            <drop-down allow-empty="false">
                <entity-options entity-name="MimeType" key-field-name="mimeTypeId"/>
            </drop-down>
        </field>
        <field name="dataResourceName" title="${uiLabelMap.CommonUpload}"><file/></field>
        <field name="createButton"><submit button-type="button"/></field>
    </form>
    <form name="ListProjectContent" type="list" paginate-target="/ListCommContent"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <entity-and entity-name="WorkEffortAndContentDataResource">
                <field-map field-name="workEffortId" from-field="workEffortId"/>
            </entity-and>
        </actions>
        <field name="contentTypeId"><display-entity entity-name="ContentType"/></field>
        <field name="contentName" widget-style="buttontext">
            <display description="${contentName}[${contentId}]"/>
        </field>
        <field name="fromDate"><display/></field>
        <field name="drMimeTypeId"><hidden/></field>
        <field name="downloadLink" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/>
        </field>
    </form>
    
    <!-- ProductContent -->
    <form name="ListProductContentInfos" type="list" title="" list-name="productContent" 
        odd-row-style="alternate-row" default-table-style="basic-table">
        <row-actions>
            <entity-one entity-name="Content" value-field="contentMap">
                <field-map field-name="contentId" from-field="contentId"/>
            </entity-one>
            <entity-one entity-name="ContentType" value-field="descContent">
                <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/>
            </entity-one>
        </row-actions>
        <field name="contentTypeId"><display description="${descContent.description}"/></field>
        <field name="contentName"><display description="${contentMap.contentName} [${contentId}]"/></field>
        <field name="fromDate"><display/> </field>
        <field name="deleteLink" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteScrumProductContent" also-hidden="false" request-confirmation="true">
                <parameter param-name="contentId"/>
                <parameter param-name="fromDate"/>
                <parameter param-name="productId"/>
                <parameter param-name="productContentTypeId"/>
            </hyperlink>
        </field>
        <field name="downloadLink" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/>
        </field>
    </form>
    <form name="UploadProductContent" extends="UploadWorkEffortContent" target="createScrumProductContent?productId=${parameters.productId}">
        <field name="productId"><hidden value="${parameters.productId}"/> </field>
        <field name="productContentTypeId"><hidden value="SPECIFICATION"/></field>
        <field name="workEffortContentTypeId"><ignored/></field>
        <field name="projectId"><ignored/></field>
        <field name="workEffortId"><ignored/></field>
         <sort-order>
            <sort-field name="productId"/>
            <sort-field name="contentId"/>
            <sort-field name="productContentTypeId"/>
            <sort-field name="contentTypeId"/>
            <sort-field name="mimeTypeId"/>
            <sort-field name="dataResourceName"/>
            <sort-field name="createButton"/>
        </sort-order>
    </form>
    <form name="ListProductContent" type="list" extends="ListProductContentInfos" list-name="productContent" paginate-target="/ListCommContent"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
         <row-actions>
            <entity-one entity-name="Content" value-field="contentMap">
                <field-map field-name="contentId" from-field="contentId"/>
            </entity-one>
            <entity-one entity-name="ContentType" value-field="descContent">
                <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/>
            </entity-one>
        </row-actions>
        <field name="contentTypeId"><display description="${descContent.description}"/></field>
        <field name="contentName" widget-style="buttontext">
             <display description="${contentMap.contentName} [${contentId}]"/>
        </field>
        <field name="deleteLink"><ignored/></field>
    </form>
    <form name="AddProdBacklogNote" type="single" header-row-style="header-row" default-table-style="basic-table" 
        target="createProdBacklogNote?custRequestId=${parameters.custRequestId}&amp;productId=${parameters.productId}">
        <field name="noteName"><text/> </field>
        <field name="noteInfo"><textarea/></field>
        <field name="createButton"><submit button-type="button"/></field>
    </form>
    <form name="ListProdBacklogNote" type="list" list-name="custNoteList"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="ProdBacklogNote">
        <row-actions>
            <entity-one entity-name="NoteData" auto-field-map="true" value-field="note"/>
        </row-actions>
        <field name="noteId"><hidden/> </field>
        <field name="noteName"><display description="${note.noteName}"/></field>
        <field name="noteInfo"><display description="${note.noteInfo}"/></field>
        <field name="noteDateTime"><display description="${note.noteDateTime}"/></field>
        <field name="noteParty">
            <display-entity entity-name="PartyNameView"  description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"> </display-entity>
        </field>
        <field name="removeNote" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteProdBacklogNote" request-confirmation="true">
                <parameter param-name="noteId" from-field="noteId"/>
                <parameter param-name="custRequestId" from-field="custRequestId"/>
                <parameter param-name="productId" from-field="productId"/>
            </hyperlink>
        </field>
    </form>
    <form name="ListProdBacklogNoteInfo" extends="ListProdBacklogNote">
        <field name="removeNote"><ignored/></field>
    </form>
    <!-- Backlog Item Contents -->
    <form name="AddCustRequestContent" type="upload" default-map-name="content"
        header-row-style="header-row" default-table-style="basic-table" target="createBacklogItemContent?custRequestId=${parameters.custRequestId}&amp;productId=${parameters.productId}">
        <field name="custRequestId" map-name="parameters"><hidden/></field>
        <field name="contentTypeId">
            <drop-down allow-empty="false" no-current-selected-key="DOCUMENT">
                <entity-options entity-name="ContentType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="mimeTypeId" >
            <drop-down allow-empty="false">
                <entity-options entity-name="MimeType" key-field-name="mimeTypeId"/>
            </drop-down>
        </field>
        <field name="dataResourceName" title="${uiLabelMap.CommonUpload}" required-field="true"><file/></field>
        <field name="createButton"><submit button-type="button"/></field>
    </form>
    <form name="ListCustRequestContent" type="list" list-name="custRequestAndContents"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="EditBacklogItemContent">
        <row-actions>
            <entity-one entity-name="Content" value-field="contentMap">
                <field-map field-name="contentId" from-field="contentId"/>
            </entity-one>
            <entity-one entity-name="ContentType" value-field="descContent">
                <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/>
            </entity-one>
        </row-actions>
        <field name="contentTypeId"><display description="${descContent.description}"/></field>
        <field name="custRequestId"><hidden/></field>
        <field name="contentName"><display description="${contentMap.contentName}[${contentId}]"/></field>
        <field name="mimeTypeId"><hidden/></field>
        <field name="fromDate"><display/></field>
        <field name="deleteLink" title=" " widget-style="buttontext" >
           <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteBacklogItemContent" also-hidden="false" request-confirmation="true">
                <parameter param-name="custRequestId"/>
                <parameter param-name="contentId"/>
                <parameter param-name="fromDate"/>
                <parameter param-name="productId" from-field="productId"/>
                </hyperlink>
        </field>
        
        <field name="downloadLink" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.ContentDownload}" target="ViewSimpleContent?contentId=${contentId}"/>
        </field>
    </form>
    <form name="ViewListCustRequestContent" type="list" list-name="custRequestAndContents" extends="ListCustRequestContent"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="EditBacklogItemContent">
        <row-actions>
            <entity-one entity-name="Content" value-field="contentMap">
                <field-map field-name="contentId" from-field="contentId"/>
            </entity-one>
            <entity-one entity-name="ContentType" value-field="descContent">
                <field-map field-name="contentTypeId" from-field="contentMap.contentTypeId"/>
            </entity-one>
        </row-actions>
        <field name="contentTypeId"><display description="${descContent.description}"/></field>
        <field name="contentName" widget-style="buttontext">
             <display description="${contentMap.contentName} [${contentId}]"/>
        </field>
        <field name="deleteLink"><ignored/> </field>
        </form>
    <form name="TaskRelateBacklog" type="list" separate-columns="true" list-name="projectSprintBacklogAndTasks"
        odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar" use-row-submit="true">
        <actions>
            <entity-and entity-name="CustRequestWorkEffort" list="sprintList">
                <field-map field-name="custRequestId" from-field="parameters.custRequestId"/>
            </entity-and>
            <entity-condition entity-name="ProductBacklog" list="projectSprintBacklogAndTasks" distinct="true">
                <condition-list combine="and">
                    <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/>
                    <condition-list combine="or">
                        <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_ERROR"/>
                        <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_IMPL"/>
                        <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_INST"/>
                        <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_TASK_TEST"/>
                    </condition-list>
                </condition-list>
                <select-field field-name="workEffortId"/>
            </entity-condition>
        </actions>
        <row-actions>
            <entity-one entity-name="WorkEffort" value-field="resultTask">
                <field-map field-name="workEffortId" from-field="workEffortId"/>
            </entity-one>
            <set field="taskId" from-field="resultTask.workEffortId"/>
            <entity-and entity-name="WorkEffortPartyAssignment" list="assignTo" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="taskId"/>
            </entity-and>
            <set field="partyId" value="${groovy: if (assignTo.size() != 0) return assignTo.get(0).getString(&quot;partyId&quot;)}"/>
            <set field="taskActualMilliSeconds" value="${groovy: if (resultTask.actualMilliSeconds != null) return actualMilliSeconds/3600000}"/>
            <service service-name="getScrumActualHour" result-map="result">
                <field-map field-name="taskId" from-field="taskId"/>
            </service>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultMap">
                <field-map field-name="taskId" from-field="taskId"/>
                <field-map field-name="custRequestId" from-field="nullField"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="projectId" from-field="nullField"/>
            </service>
            <set field="taskEstimatedMilliSeconds" from-field="resultMap.planHours"/>
            <set field="taskTypeId" from-field="resultTask.workEffortTypeId"/>
            <set field="taskCurrentStatusId" from-field="resultTask.currentStatusId"/>
            <set field="taskCreatedDate" from-field="resultTask.createdDate" type="Timestamp"/>
            <set field="taskEstimatedStartDate" from-field="resultTask.estimatedStartDate"/>
            <set field="taskName" from-field="resultTask.workEffortName"/>
        </row-actions>
        <field name="taskId" title="${uiLabelMap.ScrumTask}" parameter-name="workEffortId">
            <hyperlink description="${taskName} [${taskId}]" target="taskView" link-type="hidden-form" target-window="_BLANK" target-type="intra-app">
                <parameter param-name="taskId" from-field="taskId"/>
            </hyperlink>
        </field>
        <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}">
            <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId"/>
        </field>
        <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}">
            <display-entity entity-name="Person" description="${lastName} ${firstName} ${middleName}" key-field-name="partyId"/>
        </field>
        <field name="taskCreatedDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field>
        <field name="taskEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedHours}" parameter-name="planHours"><display/></field>
        <field name="taskActualMilliSeconds" title="${uiLabelMap.ScrumActualHours}" parameter-name="actualHours"><display description="${result.actualHours}"/></field>
        <field name="taskEstimatedStartDate" title="${uiLabelMap.CommonStartDate}" parameter-name="estimatedStartDate"><display type="date"/></field>
    </form>
    <form name="EditDeleteBacklogItem" type="single" target="deleteBacklogItem?custRequestId=${parameters.custRequestId}&amp;productId=${parameters.productId}">
        <actions>
            <service service-name="getScrumActualHour" result-map="resultMap">
                <field-map field-name="custRequestId" from-field="custRequestId"/>
            </service>
            <set field="actualHours" from-field="resultMap.actualHours" default-value="0" type="Double"/>
            <set field="actualHoursMessage" value="${groovy: 
                if (actualHours > 0)
                    actualHoursMessage = &quot;There are already &quot;+ actualHours +&quot; hours have been spent on this backlog item, Are you sure you want to delete?&quot;
                else
                    actualHoursMessage = &quot;Are you sure to delete selected product backlog item(s)?&quot;
                }"/>
        </actions>
        <field name="reason"><textarea/> </field>
        <field name="buttonSubmit" title="${uiLabelMap.CommonSave}" ><submit request-confirmation="true" confirmation-message="${actualHoursMessage}"/> </field>
    </form>
    <form name="DeleteProductBacklogItem" type="single" target="deleteProductBacklogItem?productId=${parameters.productId}&amp;custRequestId=${parameters.custRequestId}&amp;statusId=${parameters.statusId}">
        <actions>
            <service service-name="getScrumActualHour" result-map="resultMap">
                <field-map field-name="custRequestId" from-field="custRequestId"/>
            </service>
            <set field="actualHours" from-field="resultMap.actualHours" default-value="0" type="Double"/>
            <set field="actualHoursMessage" value="${groovy: 
                if (actualHours > 0)
                    actualHoursMessage = &quot;There are already &quot;+ actualHours +&quot; hours have been spent on this backlog item, Are you sure you want to delete?&quot;
                else
                    actualHoursMessage = &quot;Are you sure to delete selected product backlog item(s)?&quot;
                }"/>
        </actions>
        <field name="reason"><textarea/> </field>
        <field name="buttonSubmit" title="${uiLabelMap.CommonSave}" ><submit request-confirmation="true" confirmation-message="${actualHoursMessage}"/> </field>
    </form>
    <form name="ViewBacklogStatus" type="list" extends="ViewRequestStatus" extends-resource="component://order/widget/ordermgr/CustRequestForms.xml"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="custRequestItemSeqId"><ignored/></field>
    </form>

    <form name="QuickAddBacklog" type="single" target="${formTarget}" default-map-name="custRequest">
        <actions>
            <set field="unplanned" from-field="parameters.unplanned"/>
        </actions>
        <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" required-field="true"><text size="50" maxlength="255"/></field>
        <field name="billed" title="${uiLabelMap.ScrumBilled}">
            <drop-down allow-empty="false" no-current-selected-key="Y">
                <option key="Y" description="${uiLabelMap.CommonY}"/>
                <option key="N" description="${uiLabelMap.CommonN}"/>
            </drop-down>
        </field>
        <field name="unplanned" title="${uiLabelMap.ScrumUnplanBacklog}" event="onchange" action="javascript:document.QuickAddBacklog.action='QuickAddBacklog';document.QuickAddBacklog.submit();" required-field="true">
            <drop-down allow-empty="false">
                <option key="" description="- ${uiLabelMap.CommonSelectOne} -"/>
                <option key="Y" description="${uiLabelMap.CommonYes}"/>
                <option key="N" description="${uiLabelMap.CommonNo}"/>
            </drop-down>
        </field>
        <field name="productId" title="${uiLabelMap.ScrumProductName}" use-when="${groovy: unplanned.equals(&quot;Y&quot;)}" event="onchange" action="javascript:document.QuickAddBacklog.action='QuickAddBacklog';document.QuickAddBacklog.submit();"
            required-field="true">
            <drop-down allow-empty="true">
                <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId">
                    <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/>
                    <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/>
                    <entity-order-by field-name="groupName"/>
                    <entity-order-by field-name="internalName"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="keyId" title="${uiLabelMap.ScrumProduct} ${uiLabelMap.ScrumProject} ${uiLabelMap.ScrumSprint}" use-when="${groovy: unplanned.equals(&quot;N&quot;)}" event="onchange" action="javascript:document.QuickAddBacklog.action='QuickAddBacklog';document.QuickAddBacklog.submit();"
            required-field="true">
            <drop-down allow-empty="true">
                <list-options key-name="keyId" list-name="workEffortList" description="[${productId}] ${internalName} -- [${projectId}] ${projectName} -- [${sprintId}] ${sprintName}"/>
            </drop-down>
        </field>
        <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}">
            <drop-down allow-empty="true">
                <list-options key-name="custRequestId" list-name="categoryList" description="[${productId}] : ${internalName} -- [${custRequestId}] : ${custRequestName}"/>
            </drop-down>
        </field>
        <field name="custEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedTime}" tooltip="${uiLabelMap.ScrumHrs}"><text size="3"></text></field>
        <field name="story" title="${uiLabelMap.ScrumStory}" ><textarea  rows="4" cols="60"/></field>
        <field name="custSequenceNum"><hidden value="1"/></field>
        <field name="noteInfo" title="${uiLabelMap.ScrumHowToTest}" ><textarea  rows="4" cols="60"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    
    <form name="QuickAddNewTask" type="upload" target="createTaskForBacklog">
        <actions>
            <entity-condition entity-name="CustRequest" list="custRequestList">
                <condition-list combine="and">
                    <condition-list combine="or">
                        <condition-expr field-name="custRequestTypeId" value="RF_PROD_BACKLOG" operator="equals"/>
                        <condition-expr field-name="custRequestTypeId" value="RF_UNPLAN_BACKLOG" operator="equals"/>
                    </condition-list>
                    <condition-expr field-name="statusId" value="CRQ_REVIEWED" operator="equals"/>
                </condition-list>
                <order-by field-name="description"/>
            </entity-condition>
        </actions>
        <field name="custRequestId" title="Product Backlog" tooltip="Product Backlog Name [Product Backlog Id]" parameter-name="custRequestId">
            <drop-down allow-empty="false">
                <option key="" description="- ${uiLabelMap.CommonSelectOne} -"/>
                <list-options key-name="custRequestId" list-name="custRequestList" description="${description} [${custRequestId}]"/>
            </drop-down>
        </field>
        <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" required-field="true" tooltip="${uiLabelMap.ScrumToolTip100CharsMaximun}"><text/></field>
        <field name="workEffortTypeId" title="${uiLabelMap.ScrumTaskType}" required-field="true">
            <drop-down>
                <entity-options entity-name="WorkEffortType" key-field-name="workEffortTypeId">
                    <entity-constraint name="parentTypeId" value="SCRUM_TASK"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}"><text size="3" default-value="${resultMap.planHours}"/></field>
        <field name="currentStatusId"><hidden value="STS_CREATED"/></field>
        <field name="description" title="${uiLabelMap.CommonDescription}" tooltip="${uiLabelMap.CommonMax250Chars}"><textarea/></field>
        <field name="uploadedFile"><file/></field>
        <field name="contentTypeId"><hidden value="DOCUMENT"/></field>
        <field name="resourceStatusId"><hidden value="CTNT_PUBLISHED"/></field>
        <field name="workEffortContentTypeId"><hidden value="CREATED_MEDIA"/></field>
        <field name="mimeTypeId"><hidden value="application/octet-stream"/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" event="onchange" parameter-name="partyId">
            <drop-down allow-empty="true">
                <entity-options entity-name="ScrumPersonAndCompanyAndSecurityGroup" description="${lastName}, ${firstName} ${middleName}">
                    <entity-constraint name="groupId" value="SCRUM_TEAM"/>
                    <entity-constraint name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/>
                <entity-order-by field-name="partyId"/>
            </entity-options>
            </drop-down>
        </field>
        <field name="createButton" title="${uiLabelMap.CommonCreate}"><submit/></field>
    </form>
    <form name="NewBacklogTask" extends="QuickAddNewTask">
        <field name="custRequestId"><hidden/></field>
    </form>
    
    <form name="UnplannedBacklogList" extends="ListProdBacklogBySeq" list-name="unplanBacklogItems" type="multi" target="updateProductBacklogItemRow?productId=${productId}&amp;UnplannedSequence=${UnplannedSequence}">
        <row-actions>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
            <set field="product" from-field="custRequest.description"/>
            <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/>
            <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/>
        </row-actions>
        <field name="UnplannedSequence"><hidden value="Y"/></field>
        <field name="deleteFlag" position="1" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" widget-style="buttontext">
            <hyperlink 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="estimatedHours" title="${uiLabelMap.ScrumPlannedHours}" use-when="&quot;${statusId}&quot;==&quot;CRQ_ACCEPTED&quot;"><text size="3"/></field>
        <field name="estimatedHours" title="${uiLabelMap.ScrumPlannedHours}" use-when="&quot;${statusId}&quot;==&quot;CRQ_REVIEWED&quot;"><display/></field>-->
        <field name="parentCustRequestId" title="${uiLabelMap.ScrumCategory}">
            <drop-down allow-empty="true">
                <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId">
                    <entity-constraint name="productId" env-name="productId"/>
                    <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" widget-style="buttontext" use-when="&quot;${statusId}&quot;==&quot;CRQ_ACCEPTED&quot;||&quot;${statusId}&quot;==&quot;CRQ_REOPENED&quot;" >
            <hyperlink description="${uiLabelMap.ScrumMoveToUnplannedSprint}" target="setUnplannedSprint">
                <parameter param-name="custRequestId" from-field="parameters.custRequestId"/>
                <parameter param-name="productId" from-field="parameters.productId"/>
                <parameter param-name="statusId" from-field="custRequest.statusId"/>
            </hyperlink>
        </field>
        <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" use-when="&quot;${statusId}&quot;==&quot;CRQ_REVIEWED&quot;"><hidden /></field>
        <field name="dummy2" title="${uiLabelMap.CommonDelete}"><display description=" "/></field>
        <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field>
    </form>
    <form name="UnplannedBacklogListForOwner" extends="UnplannedBacklogList">
        <field name="estimatedHours"><display/></field>
        <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field>
    </form>
    <form name="UnplanBacklogListItems" type="list" use-row-submit="true" list-name="listIt" target="UpdateUnplanBacklogHours" paginate-target="unplanBacklog" separate-columns="true"
        odd-row-style="alternate-row" default-table-style="hover-bar basic-table">
        <row-actions>
            <!-- get total backlog item's plan hours -->
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="backlogPlanHourOutMap">
                <field-map field-name="custRequestId"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="projectId" from-field="nullField"/>
            </service>
            <set field="backlogPlanHours" from-field="backlogPlanHourOutMap.planHours"/>
            <!-- get task's plan hours -->
            <service service-name="getScrumPlanHour" result-map="taskPlanHourOutMap">
                <field-map field-name="taskId" from-field="workEffortId"/>
                <field-map field-name="custRequestId" from-field="nullField"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="projectId" from-field="nullField"/>
            </service>
            <set field="planHours" from-field="taskPlanHourOutMap.planHours"/>
            <!-- condition -->
            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;custRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(custRequestId)));}" type="Boolean"/>
            <!-- Get list of task for each sprint backlog -->
            <entity-and entity-name="WorkEffortPartyAssignView" list="assignedTos">
                <field-map field-name="workEffortId" from-field="workEffortId"/>
            </entity-and>
            <set field="partyId" value="${assignedTos[0].partyId}"/>
            <entity-and entity-name="ScrumMemberUserLoginAndSecurityGroup" list="partyList">
                <field-map field-name="partyId" from-field="partyId"/>
            </entity-and>
            <service service-name="getScrumActualHour" result-map="result">
                <field-map field-name="taskId" from-field="workEffortId"/>
                <field-map field-name="partyId" from-field="partyId"/>
            </service>
            <set field="taskActualHours" from-field="result.actualHours"/>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
            <set field="defaultBacklogPlanHours" value="${custRequest.custEstimatedMilliSeconds/3600000}"/>
            <set field="initialPlannedHours" from-field="defaultBacklogPlanHours"/>
            <entity-and entity-name="CustRequestItem" list="custRequestItems">
                <field-map field-name="custRequestId" from-field="custRequestId"/>
            </entity-and>
            <entity-condition entity-name="CustRequestItem" list="custRequestItems">
                <condition-list combine="and">
                    <condition-expr field-name="custRequestId" from-field="custRequestId"/>
                    <condition-expr field-name="productId" operator="not-equals" from-field="nullValue"/>
                </condition-list>
            </entity-condition>
            <set field="productId" from-field="custRequestItems[0].productId"/>
        </row-actions>
        <field name="productId" position="2"><hidden/></field>
        <field name="custRequestId" title="${uiLabelMap.PageTitleUnplanBacklogItem}" position="1" use-when="showPosition1&amp;&amp;&quot;${custRequestTypeId}&quot;!=&quot;RF_SCRUM_MEETINGS&quot;">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description=" ">
                <sub-hyperlink  target="ViewProdBacklogItem" description="${context.description} - [${custRequestId}]" link-type="hidden-form" target-window="_BLANK" link-style="buttontext">
                    <parameter param-name="custRequestId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
         <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" position="1" use-when="showPosition1&amp;&amp;&quot;${custRequestTypeId}&quot;==&quot;RF_SCRUM_MEETINGS&quot;" widget-style="disabled">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${context.description} - [${custRequestId}]">
            </display-entity>
        </field>
        <field name="statusId" title="${uiLabelMap.ScrumStatusBacklog}" position="1" use-when="showPosition1&amp;&amp;&quot;Any&quot;.equals(paraBacklogStatusId)">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="workEffortId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTask}" position="2" use-when="workEffortId!=null">
            <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description=" ">
                <sub-hyperlink  target="taskView" description="${uiLabelMap.ScrumTab} ${workEffortName} - [${workEffortId}]" link-type="hidden-form" target-window="_BLANK">
                    <parameter param-name="taskId" value="${workEffortId}"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="workEffortTypeId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTaskType}" position="2" use-when="workEffortId!=null">
            <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${uiLabelMap.ScrumTab} ${description}"/>
        </field>
        <field name="currentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="!&quot;STS_COMPLETED&quot;.equals(currentStatusId)"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name="currentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="&quot;STS_COMPLETED&quot;.equals(currentStatusId)" 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="workEffortId!=null"><display/></field>
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="workEffortId!=null">
            <display/>
        </field>
        <field name="deleteButton" title=" " position="1" use-when="showPosition1&amp;&amp;!&quot;CRQ_COMPLETED&quot;.equals(&quot;${custRequest.statusId}&quot;)" widget-style="buttontext">
            <hyperlink description="Delete" target="DeleteUnplanBacklog" confirmation-message="Are you sure to delete this sprint backlog ?" link-type="hidden-form">
                <parameter param-name="workEffortId"/>
                <parameter param-name="custRequestId"/>
                <parameter param-name="productId"/>
            </hyperlink>
        </field>
        <field name="newTask" title=" " use-when="showPosition1&amp;&amp;!&quot;CRQ_COMPLETED&quot;.equals(&quot;${custRequest.statusId}&quot;)" widget-style="buttontext">
            <hyperlink description="Add Task" target="NewUnplanBacklogTask" link-type="hidden-form">
                <parameter param-name="custRequestId"/>
                <parameter param-name="productId"/>
            </hyperlink>
        </field>
        <field name="dummy6" title=" " position="2" use-when="workEffortId!=null"><display description=" "/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" position="2" use-when="workEffortId!=null" >
            <display description="${partyList[0].lastName} ${partyList[0].firstName} ${partyList[0].middleName}"></display>
        </field>
        <field name="editTaskParty" title=" " position="2" use-when="workEffortId!=null&amp;&amp;!&quot;STS_COMPLETED&quot;.equals(currentStatusId)" widget-style="buttontext">
             <hyperlink description="${uiLabelMap.CommonEdit}" target="EditTask" link-type="hidden-form" target-window="_BLANK">
                <parameter param-name="taskId" from-field="${workEffortId}"/>
            </hyperlink>
        </field>
        <field name="deleteTaskButton" title=" " position="2" use-when="workEffortId!=null&amp;&amp;!&quot;STS_COMPLETED&quot;.equals(currentStatusId)" widget-style="buttontext">
            <hyperlink description="Delete" target="DeleteTaskFromUnplanBacklog" confirmation-message="Are you sure to delete this task ?" link-type="hidden-form">
                <parameter param-name="workEffortId" from-field="workEffortId"/>
                <parameter param-name="custRequestId"/>
                <parameter param-name="productId" from-field="parameters.productId"/>
            </hyperlink>
        </field>
        <field name="setCompleteButton" title=" " widget-style="buttontext" use-when="workEffortId!=null&amp;&amp;!&quot;STS_COMPLETED&quot;.equals(currentStatusId)"
         position="2">
            <hyperlink description="${uiLabelMap.ScrumSetComplete}" target="setCompleteFromUnplanBacklog" link-type="hidden-form">
                <parameter param-name="workEffortId" from-field="workEffortId"/>
                <parameter param-name="productId" from-field="parameters.productId"/>
            </hyperlink>
        </field>
        <field name="dummy7" title=" " position="2" use-when="workEffortId!=null"><display description=" "/></field>
    </form>
    
    <form name="UnplanBacklogListItemsHideDelete" extends="UnplanBacklogListItems">
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="workEffortId!=null"><display/></field>
        <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field>
        <field name="deleteTaskButton" position="2" use-when="workEffortId!=null"><hidden/></field>
        <sort-order>
            <sort-field name="custRequestId"/>
            <sort-field name="workEffortId"/>
            <sort-field name="statusId"/>
            <sort-field name="dummy1"/>
            <sort-field name="dummy2"/>
            <sort-field name="dummy4"/>
            <sort-field name="dummy5"/>
            <sort-field name="workEffortTypeId"/>
            <sort-field name="currentStatusId"/>
            <sort-field name="initialPlannedHours"/>
            <sort-field name="planHours"/>
            <sort-field name="newTask"/>
            <sort-field name="dummy3"/>
        </sort-order>
    </form>
    <form name="UnplanBacklogListItemsForOwner" extends="UnplanBacklogListItems">
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}" position="2" use-when="workEffortId!=null"><display/></field>
        <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field>
        <field name="deleteTaskButton" position="2" use-when="workEffortId!=null"><hidden/></field>
        <field name="setCompleteButton" position="2" use-when="workEffortId!=null"><hidden/></field>
        <field name="editTaskParty" position="2" use-when="workEffortId!=null"><hidden/></field>
        <field name="newTask" use-when="showPosition1&amp;&amp;!&quot;CRQ_COMPLETED&quot;.equals(&quot;${custRequest.statusId}&quot;)"><hidden/></field>
        <sort-order>
            <sort-field name="custRequestId"/>
            <sort-field name="workEffortId"/>
            <sort-field name="statusId"/>
            <sort-field name="dummy4"/>
            <sort-field name="workEffortTypeId"/>
            <sort-field name="currentStatusId"/>
            <sort-field name="initialPlannedHours"/>
            <sort-field name="planHours"/>
            <sort-field name="newTask"/>
            <sort-field name="dummy3"/>
        </sort-order>
    </form>
    <form name="UnplannedBacklogListByCategories" extends="ListProdBacklog" list-name="unplanBacklogItems" type="multi">
        <actions>
            <set field="parentCustRequestId" from-field="parameters.parentCustRequestId" default-value=""/>
        </actions> 
        <row-actions>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
            <set field="description" from-field="custRequest.description"/>
            <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/>
            <set field="estimatedHours" value="${groovy:custEstimatedMilliSeconds!=null?custEstimatedMilliSeconds/3600000:0;}"/>
            <set field="showPosition1" value="${groovy:String prev=(String)previousItem.get(&quot;parentCustRequestId&quot;);return new Boolean(!(prev!=null&amp;&amp;prev.equals(parentCustRequestId)));}" type="Boolean"/>
        </row-actions>
        <!--<field name="custRequestCategoryGroupId" position="1" use-when="${groovy:showPosition1}" title="${uiLabelMap.ScrumCategory}">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"/>
        </field>-->
        <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field>
        <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" widget-style="buttontext" use-when="&quot;${statusId}&quot;==&quot;CRQ_ACCEPTED&quot;" position="2">
            <hyperlink description="${uiLabelMap.ScrumMoveToUnplannedSprint}" target="setUnplannedSprint">
                <parameter param-name="custRequestId" from-field="custRequest.custRequestId"/>
                <parameter param-name="productId" from-field="parameters.productId"/>
                <parameter param-name="statusId" value="parameters.statusId"/>
            </hyperlink>
        </field>
        <field name="setToReview" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" use-when="&quot;${statusId}&quot;==&quot;CRQ_REVIEWED&quot;" position="2"><hidden /></field>
        <field name="deleteFlag" position="2" title="${uiLabelMap.CommonDelete}"/>
        <field name="dummy1" title="${uiLabelMap.ScrumMoveToUnplannedSprint}" use-when="&quot;${statusId}&quot;==&quot;CRQ_REVIEWED&quot;" position="2"><display description=" "/></field>
    </form>
    <form name="UnplannedBacklogListByCategoriesForOwner" extends="UnplannedBacklogListByCategories">
        <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlannedHours}"><display/></field>
    </form>
    <form name="NewTaskForUnplanBacklog" target="createTaskForUnplanBacklog?productId=${parameters.productId}" extends="EditSprintTask" extends-resource="component://scrum/widget/TaskForms.xml">
        <actions>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultMap">
                <field-map field-name="custRequestId" from-field="custRequestId"/>
                <field-map field-name="sprintId" from-field="nullField"/>
            </service>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
            <set field="hoursLeft" value="${custRequest.custEstimatedMilliSeconds/1000/60/60 - resultMap.planHours}"/>
        </actions>
        <alt-target use-when="task!=null" target="createTaskForUnplanBacklog?productId=${parameters.productId}"/>
        <field name="id"><ignored/></field>
        <field name="taskId"><ignored/></field>
        <field name="workEffortId"><ignored/></field>
        <field name="projectId"><ignored/></field>
        <field name="sprintId"><ignored/></field>
        <field name="UpdateButton"><ignored/></field>
        <field name="createButton"><ignored/></field>
        <field name="partyId">
            <drop-down allow-empty="true">
                <entity-options description="${lastName} ${firstName} ${middleName}" entity-name="ScrumMemberUserLoginAndSecurityGroup" key-field-name="partyId">
                    <entity-constraint name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/>
                    <entity-constraint name="groupId" operator="equals" value="SCRUM_TEAM"/>
                    <entity-constraint name="enabled" operator="not-equals" value="N"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="custRequestId"><hidden/></field>
        <field name="planHours" title="Plan Hours"><text size="2"/></field>
        <field name="actualHours"><hidden/></field>
        <field name="createButton1" title="${uiLabelMap.CommonCreate}"><submit/></field>
    </form>
    <form name="ListProductRevisions" extends="ListTaskRevisions" extends-resource="component://scrum/widget/TaskForms.xml" paginate-target="ViewProduct" view-size="10">
        <field name="productId"><hidden value="${parameters.productId}"/></field>
    </form>
    <form name="ListBacklogRevisions" extends="ListTaskRevisions" extends-resource="component://scrum/widget/TaskForms.xml" paginate-target="ViewProdBacklogItem" view-size="10">
    </form>
    <form name="FindProductStatistics" type="single" target="ProductStatistics">
        <field name="productId" title="${uiLabelMap.ScrumProductName}">
            <drop-down>
                <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId">
                    <entity-constraint name="supportDiscontinuationDate" operator="equals" value=""/>
                    <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/>
                    <entity-order-by field-name="groupName"/>
                    <entity-order-by field-name="internalName"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}"><submit/></field>
    </form>
</forms>
