<?xml version="1.0" encoding="UTF-8"?>
 <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->

<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="EditSprintTask" type="upload" target="createSprintBacklogTask" default-map-name="task">
        <actions>
            <entity-and entity-name="CustRequestWorkEffort" list="sprintBacklogTasks">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-and>
            <set field="cus"/>
            <set field="parameters.custRequestId" value="${groovy: if (sprintBacklogTasks.size() != 0 &amp;&amp; task != null) return sprintBacklogTasks.get(0).getString(&quot;custRequestId&quot;)}"/>
            <entity-condition entity-name="ScrumProjectSprintBacklog" list="scrumProjectSprintBacklogs">
                <condition-list combine="and">
                    <condition-expr field-name="childWorkEffortId" from-field="parameters.sprintId" ignore-if-empty="true"/>
                    <condition-expr field-name="custRequestId" from-field="parameters.custRequestId" ignore-if-empty="true"/>
                    <condition-expr field-name="workEffortTypeId" value="SCRUM_PROJECT"/>
                    <condition-expr field-name="childWorkEffortTypeId" value="SCRUM_SPRINT"/>
                    <condition-expr field-name="childCurrentStatusId" value="SPRINT_ACTIVE"/>
                </condition-list>
                <order-by field-name="childWorkEffortName"/>
                <order-by field-name="custRequestName"/>
            </entity-condition>
            <entity-and entity-name="WorkEffortPartyAssignment" list="assignTo" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-and>
            <entity-one entity-name="WorkEffort" value-field="sprint">
                <field-map field-name="workEffortId" from-field="sprintId"/>
            </entity-one>
            <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="parameters.sprintId"/>
            </entity-and>
            <set field="partyId" value="${groovy: if (assignTo.size() != 0) return assignTo.get(0).getString(&quot;partyId&quot;)}"/>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultMap">
                <field-map field-name="taskId" from-field="parameters.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>
            <service service-name="getScrumActualHour" result-map="results">
                <field-map field-name="projectId" from-field="nullField"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="taskId" from-field="taskId"/>
            </service>
        </actions>
        <alt-target use-when="task!=null" target="updateSprintTask"/>
        <field name="projectId"><hidden value="${parameters.projectId}"/></field>
        <field name="sprintId"><hidden value="${parameters.sprintId}"/></field>
        <field name="workEffortId" use-when="task!=null"><hidden value="${parameters.taskId}"/></field>
        <field name="taskId" use-when="task!=null"><hidden value="${parameters.taskId}"/></field>
        <field name="id" use-when="task!=null" title="Task Id"><text default-value="${parameters.taskId}" disabled="true"/></field>
        <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" required-field="true" tooltip="${uiLabelMap.ScrumToolTip100CharsMaximun}"><text/></field>
        <field name="workEffortTypeId" title="${uiLabelMap.ScrumTaskType}" required-field="true">
            <drop-down>
                <entity-options description="${description}" entity-name="WorkEffortType" key-field-name="workEffortTypeId">
                    <entity-constraint name="parentTypeId" value="SCRUM_TASK"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="custRequestId" use-when="task==null" title="${uiLabelMap.ScrumSprintBacklog}">
            <drop-down>
                <list-options key-name="custRequestId" list-name="scrumProjectSprintBacklogs" description="${description}"/>
            </drop-down>
        </field>
        <field name="custRequestId" use-when="task!=null" title="${uiLabelMap.ScrumSprintBacklog}" map-name="parameters">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${groovy: if (scrumProjectSprintBacklogs.size() != 0) backlog = scrumProjectSprintBacklogs.get(0); return backlog.getString(&quot;childWorkEffortName&quot;) +' - '+backlog.getString(&quot;description&quot;);}">
                <sub-hyperlink target="ViewProdBacklogItem" description="[${parameters.custRequestId}]">
                    <parameter param-name="custRequestId" from-field="parameters.custRequestId"/>
                    <parameter param-name="productId" from-field="parameters.projectId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="planHours" title="${uiLabelMap.ScrumPlannedHours}"><text size="3" default-value="${resultMap.planHours}"/></field>
        <field name="actualHours" use-when="task!=null" title="${uiLabelMap.ScrumActualHours}"><text default-value="${results.actualHours}" size="3" disabled="true"/></field>
        <!--<field name="actualHours" use-when="task==null" title="Actual Hours"><text size="3"/></field>-->
        <field name="currentStatusId" use-when="task==null"><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="actualStartDate" title="Start Date" tooltip="The start date should be in Sprint Duration (${sprintStart} - ${sprintEnd})."><date-time type="date"/></field>-->
        <!--<field name="estimatedCompletionDate"><date-time type="timestamp"/></field>-->
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}">
            <drop-down no-current-selected-key="${partyId}" allow-empty="true">
                <list-options key-name="partyId" list-name="sprintMembers" description="${lastName}, ${firstName} ${middleName}"/>
            </drop-down>
        </field>
        <field name="createButton" use-when="task==null"  title="${uiLabelMap.CommonCreate}"><submit/></field>
        <field name="UpdateButton" use-when="task!=null"  title="${uiLabelMap.CommonUpdate}"><submit/></field>
    </form>
    <form name="SprintTasksList" target="updateSprintTask?projectId=${parameters.projectId}" type="list" list-name="tasksList" 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="CustRequestWorkEffort" list="custRequestWorkEfforts">
                <field-map field-name="workEffortId" from-field="workEffortId"/>
            </entity-and>
            <set field="custRequestId" value="${groovy: if (custRequestWorkEfforts.size() != 0) return custRequestWorkEfforts.get(0).getString(&quot;custRequestId&quot;)}"/>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
        </row-actions>
        <field name="workEffortId" title="Task">
            <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description="${workEffortName}">
                <sub-hyperlink target="SprintTaskView" link-type="hidden-form"  description="${workEffortId}">
                    <parameter param-name="projectId" from-field="parameters.projectId"/>
                    <parameter param-name="taskId" from-field="workEffortId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <!--<field name="projectId"><display-entity entity-name="WorkEffort" key-field-name="workEffortId" description="${workEffortName}"/></field>-->
        <field name="sprintId" title="Sprint">
            <display-entity entity-name="WorkEffort" description="${workEffortName}" key-field-name="workEffortId"/>
        </field>
        <field name="sprintBacklog"><display description="${custRequest.description}"/></field>
        <field name="currentStatusId">
            <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/>
        </field>
        <field name="estimatedHours"><text size="3" default-value="${groovy: if (estimatedMilliSeconds != null) return estimatedMilliSeconds/3600000}"/></field>
        <field name="actualHours"><text size="3" default-value="${groovy: if (actualMilliSeconds != null) return actualMilliSeconds/3600000}"/></field>
        <field name="priority" title="${uiLabelMap.CommonPriority}">
            <drop-down allow-empty="true" current="selected" current-description="${priority}">
                <option key="1" description="1"/>
                <option key="2" description="2"/>
                <option key="3" description="3"/>
                <option key="4" description="4"/>
                <option key="5" description="5"/>
                <option key="6" description="6"/>
                <option key="7" description="7"/>
                <option key="8" description="8"/>
                <option key="9" description="9"/>
            </drop-down>
        </field>
        <field name="estimatedStartDate"><date-time type="timestamp"/></field>
        <field name="estimatedCompletionDate"><date-time type="timestamp"/></field>
        <field name="update" title="${uiLabelMap.CommonUpdate}"><submit/></field>
    </form>
    <form name="SprintTasksListNoAction" extends="SprintTasksList" type="list">
        <field name="estimatedHours"><display description="${groovy: if (estimatedMilliSeconds != null) return estimatedMilliSeconds/3600000}"/></field>
        <field name="actualHours"><display description="${groovy: if (actualMilliSeconds != null) return actualMilliSeconds/3600000}"/></field>
        <field name="priority" title="${uiLabelMap.CommonPriority}"><display/></field>
        <field name="estimatedStartDate"><display type="date-time"/></field>
        <field name="estimatedCompletionDate"><display type="date-time"/></field>
        <field name="update" title="${uiLabelMap.CommonUpdate}"><hidden/></field>
    </form>
    
    <form name="TaskInfo" type="single">
        <actions>
            <entity-one entity-name="WorkEffort" value-field="resultTask">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-one>
            <entity-and entity-name="CustRequestWorkEffort" list="resultBacklog">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-and>
            <entity-one entity-name="CustRequest" value-field="custRequest">
                <field-map field-name="custRequestId" from-field="resultBacklog[0].custRequestId"/>
            </entity-one>
            <entity-and entity-name="CustRequestItem" list="productList">
                <field-map field-name="custRequestId" from-field="resultBacklog[0].custRequestId"/>
            </entity-and>
            <entity-one entity-name="WorkEffort" value-field="resultSprint">
                <field-map field-name="workEffortId" from-field="resultTask.workEffortParentId"/>
            </entity-one>
            <entity-one entity-name="WorkEffort" value-field="listProject">
                <field-map field-name="workEffortId" from-field="resultSprint.workEffortParentId"/>
            </entity-one>
            <set field="projectName" from-field="listProject.workEffortName"/>
            <set field="projectId" from-field="listProject.workEffortId"/>
            <set field="sprintName" from-field="resultSprint.workEffortName"/>
            <set field="sprintId" from-field="resultSprint.workEffortId"/>
            <set field="currentStatusId" from-field="resultTask.currentStatusId"/>
            <entity-one entity-name="WorkEffortType" value-field="workEffortType">
              <field-map field-name="workEffortTypeId" from-field="resultTask.workEffortTypeId"/>
            </entity-one>
            <entity-and entity-name="WorkEffortPartyAssignment" list="assignedTos">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
                <order-by field-name="-thruDate"/>
            </entity-and>
            <entity-one entity-name="StatusItem" value-field="resultStatus">
                <field-map field-name="statusId" from-field="currentStatusId"/>
            </entity-one>
            <set field="productId" from-field="productList[0].productId"/>
            <entity-one entity-name="Product" value-field="product">
                <field-map field-name="productId" from-field="productId"/>
            </entity-one>
            <entity-and entity-name="ProductAndRole" list="companyList">
                <field-map field-name="productId" from-field="productId"/>
                <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/>
            </entity-and>
            <set field="partyId" value="${groovy: if (assignedTos.size() != 0) return assignedTos.get(0).getString(&quot;partyId&quot;)}" type="String"/>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultPlanHour">
                <field-map field-name="projectId" from-field="nullField"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="custRequestId" from-field="custRequestId"/>
                <field-map field-name="taskId" from-field="nullField"/>
            </service>
            <service service-name="getScrumActualHour" result-map="result">
                <field-map field-name="taskId" from-field="parameters.taskId"/>
                <field-map field-name="partyId" from-field="partyId"/>
            </service>
        </actions>
        <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}"><display description="${resultTask.workEffortName}"/></field>
        <field name="workEffortTypeId" title="${uiLabelMap.ScrumTaskType}" ><display description="${workEffortType.description}"/></field>
        <field name="custRequestId" title="${uiLabelMap.ScrumProductBacklog}">
            <hyperlink target="ViewProdBacklogItem" description="${custRequest.description} [${custRequest.custRequestId}]">
                <parameter param-name="custRequestId" from-field="custRequest.custRequestId"/>
                <parameter param-name="productId" from-field="productId"/>
            </hyperlink>
        </field>
        <field name="sprintName" title="${uiLabelMap.ScrumSprint}" use-when="sprintId!=null">
            <hyperlink target="ViewSprint" description="${sprintName} [${sprintId}]">
                <parameter param-name="projectId" from-field="projectId"/>
                <parameter param-name="sprintId" from-field="sprintId"/>
            </hyperlink>
        </field>
        <field name="projectName" title="${uiLabelMap.ScrumProject}" use-when="projectId!=null">
            <hyperlink target="viewScrumProject" description="${projectName} [${projectId}]">
                <parameter param-name="projectId"/>
            </hyperlink>
        </field>
        <field name="productId" title="${uiLabelMap.PageTitleProduct}">
            <hyperlink target="ViewProduct" description="${product.internalName} [${productId}]">
                <parameter param-name="productId" from-field="productId"/>
            </hyperlink>
        </field>
        <field name="groupName" title="${uiLabelMap.ScrumCompany}">
            <hyperlink target="viewprofile" description="${companyList[0].groupName}">
                <parameter param-name="partyId" from-field="companyList[0].partyId"/>
            </hyperlink>
        </field>
        <field name="description" title="${uiLabelMap.CommonDescription}"><display description="${resultTask.description}"/></field>
        <field name="currentStatusId"><display description="${resultStatus.description}"/></field>
        <field name="planHours"><display description="${resultPlanHour.initPlanHours}"/></field>
        <field name="actualHours"><display description="${groovy: if (result != null) return result.actualHours}"/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" use-when="partyId==null"><display/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" use-when="partyId!=null">
            <display-entity entity-name="Person" description="${lastName} ${firstName} ${middleName}" key-field-name="partyId">
                <sub-hyperlink target="viewprofile" description=" [${partyId}]">
                    <parameter param-name="partyId" from-field="partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
    </form>
    <form name="TaskInfoForStakeholder" extends="TaskInfo">
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" use-when="partyId!=null">
            <display-entity entity-name="Person" description="${lastName} ${firstName} ${middleName} [${partyId}]" key-field-name="partyId"/>
        </field>
    </form>

    <form name="InfoTestTaskNote" type="single" target="CreateTestNote">
        <actions>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="tasks">
                <condition-list>
                    <condition-expr field-name="taskId" from-field="parameters.taskId"/>
                    <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>
            <set field="taskId" from-field="task.workEffortId"/>
            <set field="projectName" value="${groovy: if (tasks.size() != 0) return tasks.get(0).getString(&quot;projectName&quot;)}"/>
            <set field="sprintName" value="${groovy: if (tasks.size() != 0) return tasks.get(0).getString(&quot;sprintName&quot;)}"/>
            <set field="description" value="${groovy: if (tasks.size() != 0) return tasks.get(0).getString(&quot;description&quot;)}"/>
            <set field="custRequestId" value="${groovy: if (tasks.size() != 0) return tasks.get(0).getString(&quot;custRequestId&quot;)}"/>
            
            <entity-one entity-name="WorkEffortType" value-field="workEffortType"/>
            <entity-and entity-name="WorkEffortPartyAssignment" list="assignedTos">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-and>
            <set field="partyId" value="${groovy: if (assignedTos.size() != 0) return assignedTos.get(0).getString(&quot;partyId&quot;)}" type="String"/>
            <entity-one entity-name="Person" value-field="person"/>
            <service service-name="getScrumActualHour" result-map="result">
                <field-map field-name="taskId" from-field="parameters.taskId"/>
            </service>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultPlanHour">
                <field-map field-name="projectId" from-field="nullField"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="custRequestId" from-field="nullField"/>
                <field-map field-name="taskId" from-field="parameters.taskId"/>
            </service>
        </actions>
        <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}"><display description="${task.workEffortName}"/></field>
        <field name="workEffortTypeId" title="${uiLabelMap.ScrumTaskType}"><display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${description}"/></field>
        <field name="sprintName" title="${uiLabelMap.ScrumSprint}"><hidden value="${sprintName}"/></field>
        <field name="projectName" title="${uiLabelMap.ScrumProject}"><hidden value="${projectName}"/></field>
        <field name="custRequestDesp" title="${uiLabelMap.ScrumProductBacklog}"><display description="${description}"/></field>
        <field name="description" title="${uiLabelMap.CommonDescription}"><hidden value="${task.description}"/></field>
        <field name="currentStatusId"><display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/></field>
        <field name="planHours"><hidden value="${resultPlanHour.planHours}"/></field>
        <field name="actualHours"><hidden value="${groovy: if (result != null) return result.actualHours}"/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}"><hidden value ="${person.lastName} ${person.firstName}"/></field>
        <field name="howToTest" title="${uiLabelMap.ScrumHowToTest}"><textarea/></field>
        <field name="workEffortId" title="${uiLabelMap.ScrumTaskId}"><hidden value="${taskId}"/></field>
        <field name="custRequestId" title="${uiLabelMap.ScrumCustRequestId}"><hidden value="${custRequestId}"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="smallSubmit" >
            <submit/>
        </field>
    </form>
    
    <form name="TaskMembersList" type="list" target="removeTaskMember" default-map-name="workEffort" list-name="listIt" use-row-submit="true" paginate-target="taskView" 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="WorkEffortPartyAssignView" list="listIt" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-and>
        </actions>
        <field name="partyId"><hidden/></field>
        <field name="workEffortId"><hidden/></field>
        <field name="firstName"><display/></field>
        <field name="lastName"><display/></field>
        <field name="groupName"><display/></field>
        <field name="roleTypeId">
            <display-entity entity-name="RoleType" description="${description}"/>
        </field>
        <field name="fromDate"><display/></field>
        <field name="thruDate"><display/></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.CommonDelete}"><submit/></field>
        <field name="projectId"><hidden value="${parameters.projectId}"/></field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
    </form>
    <form name="TaskMembersListNoAction" type="list" extends="TaskMembersList">
        <field name="_rowSubmit"><hidden/></field>
        <field name="submitButton"><hidden/></field>
    </form>
    <form name="AddTaskMember" type="single" target="addTaskMember">
        <actions>
            <entity-and entity-name="WorkEffortPartyAssignView" list="sprintMembers">
                <field-map field-name="workEffortId" from-field="task.workEffortParentId"/>
            </entity-and>
        </actions>
        <field name="partyId" title="Sprint Members">
            <drop-down >
                <list-options key-name="partyId" list-name="sprintMembers" description="${firstName}"/>
            </drop-down>
        </field>
        <field name="roleTypeId"><hidden value="SCRUM_TEAM"/></field>
        <field name="statusId"><hidden value="SCAS_ASSIGNED"/></field>
        <field name="workEffortId"><hidden value="${parameters.taskId}"/></field>
        <field name="submitButton" title="Assign"><submit button-type="button"/></field>
        <field name="projectId"><hidden value="${parameters.projectId}"/></field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
    </form>
    <form name="AssignTaskOtherProject" type="single" target="updateTask" default-map-name="task">
        <field name="workEffortId"><hidden/></field>
        <field name="workEffortParentId" entry-name="empty" title="${uiLabelMap.ScrumTaskPhase}*" tooltip="${uiLabelMap.CommonRequired}">
            <drop-down allow-empty="false">
                <entity-options entity-name="ProjectPartyAndPhase" key-field-name="phaseId" description="${projectName} -- ${phaseName}">
                    <entity-constraint name="partyId" env-name="userLogin.partyId"/>
                    <entity-constraint name="projectId" operator="not-equals" env-name="projectId"/>
                    <entity-order-by field-name="projectName"/>
                    <entity-order-by field-name="phaseName"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="save" title="${uiLabelMap.CommonSave}"><submit/></field>
    </form>
    <form name="EditTask" type="single" target="updateTask" default-map-name="task">
        <actions>
            <entity-condition entity-name="ScrumProjectSprintBacklog" list="scrumProjectSprintBacklogs">
                <condition-list combine="and">
                    <condition-expr field-name="workEffortId" from-field="parameters.projectId"/>
                    <condition-expr field-name="childWorkEffortId" from-field="parameters.sprintId"/>
                    <condition-expr field-name="workEffortTypeId" value="SCRUM_PROJECT"/>
                    <condition-expr field-name="childWorkEffortTypeId" value="SCRUM_SPRINT"/>
                </condition-list>
                <order-by field-name="childWorkEffortName"/>
                <order-by field-name="custRequestName"/>
            </entity-condition>
            <entity-condition entity-name="ProjectSprintBacklogAndTask" list="taskRelateds">
                <condition-list combine="and">
                    <condition-expr field-name="taskId" from-field="parameters.taskId"/>
                    <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/>
                </condition-list>
                <order-by field-name="custRequestId"/>
                <order-by field-name="taskTypeId"/>
            </entity-condition>
            <entity-and entity-name="CustRequestWorkEffort" list="custRequestWorkEfforts">
                <field-map field-name="workEffortId" from-field="workEffortId"/>
            </entity-and>
            <set field="custRequestId" value="${groovy: if (custRequestWorkEfforts.size() != 0) return custRequestWorkEfforts.get(0).getString(&quot;custRequestId&quot;)}" type="String"/>
            <set field="currentStatusId" from-field="task.currentStatusId"/>
            <entity-one entity-name="CustRequest" value-field="custRequest"/>
            <entity-one entity-name="WorkEffort" value-field="sprint">
                <field-map field-name="workEffortId" from-field="task.workEffortParentId"/>
            </entity-one>
            <entity-condition entity-name="ScrumProjectSprintBacklog" list="scrumProjectSprintBacklogs">
                <condition-list combine="and">
                    <condition-expr field-name="workEffortId" from-field="parameters.projectId" ignore-if-empty="true"/>
                    <condition-expr field-name="custRequestId" from-field="parameters.custRequestId" ignore-if-empty="true"/>
                    <condition-expr field-name="workEffortTypeId" value="SCRUM_PROJECT"/>
                    <condition-expr field-name="childWorkEffortTypeId" value="SCRUM_SPRINT"/>
                    <condition-expr field-name="childCurrentStatusId" value="SPRINT_ACTIVE"/>
                </condition-list>
                <order-by field-name="childWorkEffortName"/>
                <order-by field-name="custRequestName"/>
            </entity-condition>
            <entity-one entity-name="WorkEffort" value-field="project">
                <field-map field-name="workEffortId" from-field="sprint.workEffortParentId"/>
            </entity-one>
            <entity-and entity-name="WorkEffortPartyAssignView" list="taskOwner" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="parameters.taskId"/>
            </entity-and>
            <entity-condition entity-name="PartyDetailAndWorkEffortAssign" list="sprintMembers" filter-by-date="true">
                <condition-list combine="and">
                    <condition-expr field-name="workEffortId" from-field="taskRelateds[0].sprintId" ignore-if-empty="true"/>
                    <condition-expr field-name="workEffortId" from-field="parameters.sprintId" ignore-if-empty="true"/>
                    <condition-expr field-name="roleTypeId" value="SCRUM_TEAM" operator="equals"/>
                </condition-list>
            </entity-condition>
            <set field="nullField" type="String"/>
            <service service-name="getScrumPlanHour" result-map="resultMap">
                <field-map field-name="taskId" from-field="parameters.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>
            <service service-name="getScrumActualHour" result-map="results">
                <field-map field-name="taskId" from-field="parameters.taskId"/>
                <field-map field-name="partyId" from-field="taskOwner[0].partyId"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="projectId" from-field="nullField"/>
            </service>
        </actions>
        <alt-target use-when="task==null" target="createTask"/>
        <field name="projectId" use-when="task!=null&amp;&amp;project!=null"><display description="${project.workEffortName}"/></field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
        <field name="id" use-when="task!=null" title="Task Id"><text default-value="${parameters.taskId}" disabled="true"/></field>
        <field name="workEffortName" title="${uiLabelMap.ScrumTaskName}" required-field="true"><text size="60"/></field>
        <field name="workEffortId"><hidden value="${parameters.taskId}"/></field>
        <field name="workEffortTypeId" title="${uiLabelMap.ScrumTaskType}" required-field="true">
            <drop-down>
                <entity-options description="${description}" entity-name="WorkEffortType" key-field-name="workEffortTypeId">
                    <entity-constraint name="parentTypeId" value="SCRUM_TASK"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="projectId" action="javascript:document.EditTask.action='EditTask';document.EditTask.submit();" event="onchange" use-when="task==null">
            <drop-down allow-empty="true">
                <entity-options description="${workEffortName}" entity-name="WorkEffort" key-field-name="workEffortId">
                    <entity-constraint name="workEffortTypeId" value="SCRUM_PROJECT"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="sprintId" action="javascript:document.EditTask.action='EditTask';document.EditTask.submit();" event="onchange" use-when="task==null">
            <drop-down allow-empty="true">
                <entity-options description="${childWorkEffortName}" entity-name="WorkEffortAndChild" key-field-name="childWorkEffortId">
                    <entity-constraint name="workEffortId" env-name="parameters.projectId"/>
                    <entity-constraint name="childWorkEffortTypeId" value="SCRUM_SPRINT"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" use-when="task==null">
            <drop-down allow-empty="false">
                <list-options key-name="custRequestId" list-name="scrumProjectSprintBacklogs" description="${childWorkEffortName} - ${description}"/>
            </drop-down>
        </field>
        <field name="custRequestId" use-when="task!=null&amp;&amp;project!=null" title="${uiLabelMap.ScrumSprintBacklog}" map-name="parameters">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${groovy: if (scrumProjectSprintBacklogs.size() != 0) backlog = scrumProjectSprintBacklogs.get(0); return backlog.getString(&quot;childWorkEffortName&quot;) +' - '+backlog.getString(&quot;description&quot;);}">
                <sub-hyperlink target="ViewProdBacklogItem" description="[${parameters.custRequestId}]">
                    <parameter param-name="custRequestId" from-field="parameters.custRequestId"/>
                    <parameter param-name="productId" from-field="parameters.projectId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="custRequestId" use-when="task!=null&amp;&amp;project==null" title="${uiLabelMap.ScrumSprintBacklog}" map-name="parameters">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${description}">
                <sub-hyperlink target="ViewProdBacklogItem" description="[${parameters.custRequestId}]">
                    <parameter param-name="custRequestId" from-field="parameters.custRequestId"/>
                    <parameter param-name="productId" from-field="parameters.projectId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="planHours" title="${uiLabelMap.ScrumPlanHours}"><text size="3" default-value="${resultMap.planHours}"/></field>
        <field name="actualHours" use-when="task!=null" title="${uiLabelMap.ScrumActualHours}"><text default-value="${results.actualHours}" size="3" disabled="true"/></field>
        <field name="currentStatusId"  use-when="task==null"><hidden value="STS_CREATED"/></field>
        <field name="uploadedFile" use-when="task==null"><file/></field>
        <field name="contentTypeId" use-when="task==null"><hidden value="DOCUMENT"/></field>
        <field name="resourceStatusId" use-when="task==null"><hidden value="CTNT_PUBLISHED"/></field>
        <field name="workEffortContentTypeId" use-when="task==null"><hidden value="CREATED_MEDIA"/></field>
        <field name="mimeTypeId" use-when="task==null"><hidden value="application/octet-stream"/></field>
        <field name="description" title="${uiLabelMap.CommonDescription}" tooltip="${uiLabelMap.CommonMax250Chars}"><textarea/></field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignTo}" use-when="project!=null">
            <drop-down no-current-selected-key="${taskOwner[0].partyId}" allow-empty="true">
                <list-options list-name="sprintMembers" key-name="partyId" description="${lastName} ${firstName} ${middleName} ${groupName}"/>
            </drop-down>
        </field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignTo}" use-when="project==null">
            <drop-down no-current-selected-key="${taskOwner[0].partyId}" 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="estimatedStartDate"><date-time type="timestamp"/></field>
        <field name="estimatedCompletionDate"><date-time type="timestamp"/></field>-->
        <field name="create" title="${uiLabelMap.CommonCreate}" use-when="task==null" action="javascript:document.EditTask.action='createTask';document.EditTask.enctype='multipart/form-data';document.EditTask.submit();" event="onclick"><submit/></field>
        <field name="update" title="${uiLabelMap.CommonUpdate}" use-when="task!=null"><submit/></field>
    </form>
    <form name="AddTaskNote" type="single" header-row-style="header-row" default-table-style="basic-table" 
        target="createTaskNote?taskId=${parameters.taskId}">
        <field name="workEffortId"><hidden/></field>
        <field name="noteName"><text/> </field>
        <field name="noteInfo"><textarea/></field>
        <field name="createButton"><submit button-type="button"/></field>
    </form>
    <form name="ListTaskNote" type="list" list-name="workNoteList"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="TaskNote">
        <row-actions>
            <entity-one entity-name="NoteData" auto-field-map="true"/>
        </row-actions>
        <field name="noteId"><hidden/> </field>
        <field name="noteName"><display/></field>
        <field name="noteInfo"><display/></field>
        <field name="noteDateTime"><display/></field>
        <field name="noteParty"><display/></field>
        <field name="removeNote" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonDelete}" target="deleteTaskNote">
                <parameter param-name="noteId" from-field="noteId"/>
                <parameter param-name="taskId" from-field="workEffortId"/>
                <parameter param-name="workEffortId" from-field="workEffortId"/>
            </hyperlink>
        </field>
    </form>
    <form name="ListTaskNoteInfo" extends="ListTaskNote">
        <field name="removeNote"><ignored/></field>
    </form>
    <form name="AddTaskPartyAssign" target="addScrumTaskAssignment" title="" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <entity-one entity-name="WorkEffort" value-field="task"/>
            <entity-condition entity-name="WorkEffortPartyAssignView"  filter-by-date="true" list="sprintMembers">
                <condition-expr field-name="workEffortId" from-field="task.workEffortParentId"/>
                <select-field field-name="partyId"/>
                <select-field field-name="lastName"/>
                <select-field field-name="firstName"/>
                <select-field field-name="middleName"/>
                <select-field field-name="groupName"/>
                <order-by field-name="lastName"/>
                <order-by field-name="firstName"/>
                <order-by field-name="middleName"/>
                <order-by field-name="groupName"/>
            </entity-condition>
        </actions>
        <field name="statusId"><hidden value="SCAS_ASSIGNED"/></field>
        <field name="workEffortId"><hidden value="${parameters.taskId}"/></field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
        <field name="partyId">
            <drop-down  allow-empty="true" current="selected">
                <list-options list-name="sprintMembers" key-name="partyId" description="${lastName} ${firstName} ${middleName} ${groupName}"/>
            </drop-down>
        </field>
        <field name="roleTypeId"><hidden value="SCRUM_MEMBER"/></field>
        <field name="fromDate"><date-time type="date"/></field>
        <field name="thruDate"><date-time type="date"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="ListTaskParties" type="list" list-name="taskMembers" target="deleteTaskPartyAssign"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" use-row-submit="true">
        <actions>
            <entity-condition entity-name="WorkEffortPartyAssignView"  filter-by-date="true" list="taskMembers">
                <condition-expr field-name="workEffortId" from-field="parameters.taskId"/>
                <order-by field-name="lastName"/>
                <order-by field-name="firstName"/>
                <order-by field-name="middleName"/>
                <order-by field-name="groupName"/>
            </entity-condition>
        </actions>
        <field name="partyId" title="${uiLabelMap.CommonName}">
            <hyperlink target="viewprofile" description="${lastName} ${firstName}">
                <parameter param-name="partyId"/>
            </hyperlink>
        </field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
        <field name="workEffortId"><hidden value="${parameters.taskId}"/></field>
        <field name="fromDate"><display type="date"/></field>
        <field name="thruDate"><display type="date"/></field>
        <field name="roleTypeId"><hidden/></field>
        <field name="remove"><submit/></field>
    </form>
    <form name="ListTaskPartiesNoAction" extends="ListTaskParties">
        <field name="remove"><hidden/></field>
    </form>
    
    <form name="MyTasks" type="list" list-name="taskPartyList" paginate-target="MyWork" paginate-index-field="MyTasks_index" paginate-size-field="MyTasks_size"
    odd-row-style="alternate-row" default-table-style="basic-table hover-bar" target="updateMyTask?${MyTasks_url}">
        <row-actions>
            <service service-name="getScrumActualHour" result-map="results">
                <field-map field-name="taskId" from-field="taskId"/>
            </service>
            <service service-name="getScrumTaskInfo" result-map="taskInfo">
                <field-map field-name="taskId" from-field="taskId"/>
                <field-map field-name="partyId" from-field="partyId"/>
            </service>
            <set field="workEffortId"  from-field="taskId"/>
            <entity-and entity-name="WorkEffortPartyAssignment" list="listWorkAssignment">
                <field-map field-name="workEffortId" from-field="taskId"/>
                <field-map field-name="partyId" from-field="partyId"/>
            </entity-and>
            <set field="roleTypeId" from-field="listWorkAssignment[0].roleTypeId"/>
            <set field="fromDate" from-field="listWorkAssignment[0].fromDate"/>
        </row-actions>
        <field name="workEffortId"><hidden/></field>
        <field name="taskName" title="${uiLabelMap.ScrumTaskName}" widget-style="buttontext">
            <hyperlink also-hidden="false" description="${taskName} - [${taskId}] " target="taskView">
                <parameter param-name="taskId" from-field="workEffortId"/>
            </hyperlink>
        </field>
        <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}" use-when="&quot;SCRUM_TASK_ERROR&quot;.equals(taskTypeId)" widget-style="alert">
            <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${description}"/>
        </field>
        <field name="taskTypeId" title="${uiLabelMap.ScrumTaskType}" use-when="!&quot;SCRUM_TASK_ERROR&quot;.equals(taskTypeId)">
            <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${description}"/>
        </field>
        <field name="sprintName" title="${uiLabelMap.ScrumSprint}"><display/></field>
        <field name="productBacklogName" entry-name="description" title="${uiLabelMap.ScrumProductBacklog}" ><display/></field>
        <field name="taskCurrentStatusId"><display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/></field>
        <field name="taskActualStartDate" title="${uiLabelMap.CommonActualStartDate}"><display type="date"/></field>
        <field name="actualHours"><display description="${results.actualHours}"/></field>
        <field name="planHours">
            <text default-value="${taskInfo.planHours}" size="2"/>
        </field>
        <field name="UpdateButton" title="${uiLabelMap.CommonUpdate}"><submit/></field>
        <field name="RemoveButton" title="${uiLabelMap.CommonRemove}" widget-style="buttontext">
            <hyperlink target="unassignPartyFromWorkEffort" description="${uiLabelMap.CommonRemove}" confirmation-message="Are you sure to remove this task ?" link-type="hidden-form">
                <parameter param-name="workEffortId" from-field="taskId"/>
                <parameter param-name="partyId" from-field="partyId"/>
                <parameter param-name="roleTypeId" from-field="roleTypeId"/>
                <parameter param-name="fromDate" from-field="fromDate"/>
            </hyperlink>
        </field>
    </form>
    
    <form name="assignTaskToMe" type="single" target="addTaskAssignment">
        <field name="partyId"><hidden value="${userLogin.partyId}"/></field>
        <field name="taskId" parameter-name="workEffortId" title="${uiLabelMap.ScrumTaskName}">
            <drop-down allow-empty="true">
                <list-options key-name="taskId" list-name="taskList" description="${projectName}${productName} - ${sprintName} - ${groovy:description.substring(0,Math.min(description.length(),30))} - ${groovy:taskName.substring(0,Math.min(taskName.length(),20))} [${taskId}]"/>
            </drop-down>
        </field>
        <field name="addButton"><submit/></field>
    </form>
    
    <form name="TasksList" type="list" list-name="projectSprintBacklogAndTasks" target="updateTaskList" paginate-target="FindTask" 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-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="party">
                <condition-list combine="and">
                    <condition-expr field-name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/>
                    <condition-expr field-name="groupId" operator="equals" value="SCRUM_TEAM"/>
                    <condition-expr field-name="partyId" operator="equals" from-field="partyId"/>
                </condition-list>
            </entity-condition>
            <set field="taskActualMilliSeconds" value="${groovy: if (taskActualMilliSeconds != null) return taskActualMilliSeconds/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="nullField"/>
                <field-map field-name="custRequestId"/>
                <field-map field-name="sprintId" from-field="nullField"/>
                <field-map field-name="projectId" from-field="nullField"/>
            </service>
            <set field="taskEstimatedMilliSeconds" from-field="resultMap.initPlanHours"/>
        </row-actions>
        <field name="taskId" title="${uiLabelMap.ScrumTask}" parameter-name="workEffortId">
            <hyperlink target="taskView" link-type="hidden-form"  description="${taskName} - [${taskId}]">
                <parameter param-name="taskId"/>
            </hyperlink>
        </field>
        <field name="sprintId" title="${uiLabelMap.ScrumSprint}" use-when="sprintId!=null">
            <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description=" ">
                <sub-hyperlink target="ViewSprint" description="${sprintName} - [${sprintId}]" >
                    <parameter param-name="projectId"/>
                    <parameter param-name="sprintId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="sprintId" use-when="sprintId==null">
            <hyperlink target="unplanBacklog" description="${uiLabelMap.ScrumUnplanSprint}">
                <parameter param-name="productId" from-field="productId"/>
            </hyperlink>
        </field>
        <field name="projectId" title="${uiLabelMap.ScrumProject}" use-when="projectId!=null">
            <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description=" ">
                <sub-hyperlink target="viewScrumProject" description="${projectName} - [${projectId}]">
                    <parameter param-name="projectId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}">
            <display-entity entity-name="CustRequest" key-field-name="custRequestId" description=" ">
                <sub-hyperlink target="ViewProdBacklogItem" description="${description} - [${custRequestId}]">
                    <parameter param-name="custRequestId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="taskTypeId" >
            <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${description}"/>
        </field>
        <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}">
            <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/>
        </field>
        
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" >
            <display description="${party[0].lastName} ${party[0].firstName}"/>
        </field>
        <field name="taskCreatedDate" title="${uiLabelMap.FormFieldTitle_createdDate}"><display type="date"/></field>
        <field name="taskEstimatedMilliSeconds" title="${uiLabelMap.ScrumPlannedHours}" parameter-name="planHours"><display></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>
        <field name="editButton" title=" " widget-style="buttontext">
            <hyperlink target="EditTask" description="${uiLabelMap.CommonEdit}" link-type="hidden-form">
                <parameter param-name="taskId"/>
                <parameter param-name="sprintId"></parameter>
            </hyperlink>
        </field>
        <field name="deleteButton" title=" " widget-style="buttontext">
            <hyperlink target="deleteTask" description="${uiLabelMap.CommonDelete}" link-type="hidden-form" confirmation-message="Are you sure to delete this task?">
                <parameter param-name="custRequestId"/>
                <parameter param-name="workEffortId" from-field="taskId"/>
            </hyperlink>
        </field>
    </form>

    <form name="TasksListError" extends="TasksList" list-name="errorTaskList" paginate-index-field="TasksListError_index" paginate-size-field="TasksListError_size">
    </form>
    <form name="TasksListInstall" extends="TasksList" list-name="installTaskList" paginate-index-field="TasksListInstall_index" paginate-size-field="TasksListInstall_size">
    </form>
    <form name="TasksListTest" extends="TasksList" list-name="testTaskList" paginate-index-field="TasksListTest_index" paginate-size-field="TasksListTest_size">
    </form>
    <form name="TasksListCoding" extends="TasksList" list-name="implementTaskList" paginate-index-field="TasksListCoding_index" paginate-size-field="TasksListCoding_size">
    </form>
    <form name="FindTask" type="single" target="FindTask">
        <actions>
            <entity-condition entity-name="StatusItem" list="statusItemList">
               <condition-list combine="and">
                   <condition-expr field-name="statusTypeId" operator="equals" value="SCRUM_TASK_STATUS"/>
                   <condition-expr field-name="statusId" operator="not-equals" value="STS_CREATED_AS"/>
                   <condition-expr field-name="statusId" operator="not-equals" value="STS_CREATED_IP"/>
                   <condition-expr field-name="statusId" operator="not-equals" value="STS_CREATED_UA"/>
               </condition-list>
            </entity-condition>
        </actions>
        <field name="taskId"><text/></field>
        <field name="taskName" position="2"><text/></field>
        <field name="taskTypeId" title="Task Type">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="WorkEffortType" key-field-name="workEffortTypeId">
                    <entity-constraint name="parentTypeId" value="SCRUM_TASK"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="unplannedFlag" position="2" title="${uiLabelMap.ScrumUnplanBacklog}">
            <drop-down allow-empty="true" >
                <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">
                <list-options key-name="statusId" list-name="statusItemList" description="${description}"/>
            </drop-down>
        </field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" position="2">
            <lookup target-form-name="LookupPerson" client-autocomplete-field="true" />
        </field>
        <field name="sprintId"><text/></field>
        <field name="sprintName" position="2"><text/></field>
        <field name="projectId"><text/></field>
        <field name="projectName" position="2"><text/></field>
        <field name="findButton" title="${uiLabelMap.CommonFind}"><submit/></field>
    </form>
    <form name="TasksListNoAction" extends="TasksList">
        <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="TasksListErrorNoAction" extends="TasksListNoAction" list-name="errorTaskList" paginate-index-field="TasksListErrorNoAction_index" paginate-size-field="TasksListErrorNoAction_size">
    </form>
    <form name="TasksListInstallNoAction" extends="TasksListNoAction" list-name="installTaskList" paginate-index-field="TasksListInstallNoAction_index" paginate-size-field="TasksListInstallNoAction_size">
    </form>
    <form name="TasksListTestNoAction" extends="TasksListNoAction" list-name="testTaskList" paginate-index-field="TasksListTestNoAction_index" paginate-size-field="TasksListTestNoAction_size">
    </form>
    <form name="TasksListCodingNoAction" extends="TasksListNoAction" list-name="implementTaskList" paginate-index-field="TasksListCodingNoAction_index" paginate-size-field="TasksListCodingNoAction_size">
    </form>
    <form name="FindTaskRevision" target="FindTaskRevision" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="productId"><text/> </field>
        <field name="custRequestId" title="${uiLabelMap.ScrumBacklogId}"><text/> </field>
        <field name="workEffortId" title="${uiLabelMap.ScrumTaskId}"><text/> </field>
        <field name="findButton" title="${uiLabelMap.CommonFind}"><submit/></field>
     </form>
    <form name="ListTaskRevisions" list-name="listIt" title="" type="list" paginate-target="TaskView" separate-columns="true"
        odd-row-style="alternate-row" even-row-style="even-row" default-table-style="basic-table hover-bar">
        <row-actions>
            <entity-and entity-name="ContentRole" list="contentRole">
                <field-map field-name="roleTypeId" value="OWNER"/>
                <field-map field-name="contentId" from-field="contentId"/>
            </entity-and>
            <set field="partyId" value="${contentRole[0].partyId}"/>
            <property-to-field resource="revision" property="revision.url" field="url"/>
        </row-actions>
        <field name="contentName" title="${uiLabelMap.ScrumRevision}" widget-style="buttontext">
                <hyperlink target="RevisionInfo?repository=${url}${drObjectInfo}" description="${contentName}" link-type="anchor" target-window="_BLANK" target-type="plain"/>
        </field>
        <field name="description" title="${uiLabelMap.CommonMessage}"><display description="${groovy:description.toString().substring(0,Math.min(description.toString().length(),100))}"/></field>
        <field name="partyId" title="${uiLabelMap.ScrumCommitter}">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${lastName} ${middleName}"/>
        </field>
    </form>
    <form name="TaskRevisionTotals" extends="ListTaskRevisions" paginate-target="FindTaskRevision">
        <field name="productId" title="${uiLabelMap.ScrumProductName}">
            <display-entity entity-name="Product" description="${groovy:internalName.toString().substring(0,Math.min(internalName.toString().length(),25))}" key-field-name="productId">
             <sub-hyperlink target="ViewProduct" description="[${productId}]">
                 <parameter param-name="productId"/>
             </sub-hyperlink>
            </display-entity>
         </field>
        <field name="custRequestId" title="${uiLabelMap.ScrumProductBacklog}">
            <display-entity entity-name="CustRequest" description="${groovy:description.toString().substring(0,Math.min(description.toString().length(),25))}" key-field-name="custRequestId">
                <sub-hyperlink target="ViewProdBacklogItem" description="[${custRequestId}]">
                    <parameter param-name="custRequestId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="workEffortId" title="${uiLabelMap.ScrumTaskName}">
            <display-entity entity-name="WorkEffort" description="${groovy:workEffortName.toString().substring(0,Math.min(workEffortName.toString().length(),25))}" key-field-name="workEffortId">
                <sub-hyperlink target="taskView" description="[${workEffortId}]">
                    <parameter param-name="taskId" from-field="workEffortId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="fromDate"><display/></field>
        <sort-order>
            <sort-field name="contentName"/>
            <sort-field name="description"/>
            <sort-field name="productId"/>
            <sort-field name="custRequestId"/>
            <sort-field name="workEffortId"/>
            <sort-field name="fromDate"/>
            <sort-field name="partyId"/>
        </sort-order>
    </form>
    <form name="taskMember" type="single" target="addMemberTask">
        <actions>
            <entity-condition entity-name="RoleType" list="roleTypeList">
                <condition-list combine="or">
                    <condition-expr field-name="roleTypeId" value="SCRUM_MASTER"/>
                    <condition-expr field-name="roleTypeId" value="SCRUM_TEAM"/>
                </condition-list>
                <order-by field-name="-description"/>
            </entity-condition>
            <entity-condition entity-name="WorkEffortPartyAssignView" list="scrumMembers">
                <condition-list combine="and">
                    <condition-expr field-name="workEffortId" from-field="sprint.sprintId"/>
                    <condition-expr field-name="roleTypeId" value="SCRUM_TEAM"/>
                </condition-list>
            </entity-condition>
        </actions>
        <field name="workEffortId"><hidden value="${parameters.taskId}"/></field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
        <field name="sprintId"><hidden value="${parameters.sprintId}"/></field>
        <field name="statusId"><hidden value="SCAS_ASSIGNED"/></field>
        <field name="partyId"  title="${uiLabelMap.ScrumProjectMembers}" use-when="parameters.get(&quot;partyId&quot;)!=null&amp;&amp;sprint!=null">
            <display-entity entity-name="PartyNameView"  description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId">
                <sub-hyperlink target="taskMember?taskId=${parameters.taskId}" description="[${uiLabelMap.CommonChange}]"/>
            </display-entity>
        </field>
        <field name="partyId"  title="${uiLabelMap.ScrumAssignTo}" use-when="parameters.get(&quot;partyId&quot;)!=null&amp;&amp;sprint==null">
            <display-entity entity-name="PartyNameView"  description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId">
                <sub-hyperlink target="taskMember?taskId=${parameters.taskId}" description="[${uiLabelMap.CommonChange}]"/>
            </display-entity>
        </field>
        <field name="partyId" title="${uiLabelMap.ScrumProjectMembers}" event="onChange" action="javascript:document.taskMember.action='taskMember';document.taskMember.submit();" use-when="parameters.get(&quot;partyId&quot;)==null&amp;&amp;sprint!=null">
            <drop-down allow-empty="true">
                <list-options key-name="partyId" list-name="scrumMembers" description="${lastName} ${firstName} ${middleName}" list-entry-name=""/>
            </drop-down>
        </field>
        <field name="partyId" title="${uiLabelMap.ScrumAssignTo}" event="onChange" action="javascript:document.taskMember.action='taskMember';document.taskMember.submit();" use-when="parameters.get(&quot;partyId&quot;)==null&amp;&amp;sprint==null">
            <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="roleTypeId" use-when="parameters.get(&quot;partyId&quot;)!=null&amp;&amp;sprint==null">
            <drop-down current="selected" allow-empty="false">
                <list-options key-name="roleTypeId" list-name="roleTypeList" description="${description}"/>
            </drop-down>
        </field>
        <field name="roleTypeId" use-when="parameters.get(&quot;partyId&quot;)!=null&amp;&amp;sprint!=null">
            <drop-down current="selected" allow-empty="false">
                <entity-options entity-name="WorkEffortPartyAssignAndRoleType" description="${description}">
                    <entity-constraint name="partyId" operator="equals" value="${parameters.partyId}"/>
                    <entity-constraint name="workEffortId" operator="equals" value="${sprint.sprintId}"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="fromDate"><date-time/></field>
        <field name="thruDate"><date-time/></field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit/></field>
    </form>
    
    <form name="taskMemberList" type="list" target="removeMemberTask" list-name="taskMembers" use-row-submit="true" paginate-target="taskMember" 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="WorkEffortPartyAssignView" list="taskMembers" filter-by-date="true">
                <field-map field-name="workEffortId" from-field="workEffortId"/>
            </entity-and>
        </actions>
        <field name="workEffortId"><hidden value="${parameters.taskId}"/></field>
        <field name="taskId"><hidden value="${parameters.taskId}"/></field>
        <field name="sprintId"><hidden value="${parameters.sprintId}"/></field>
        <field name="partyId"><hidden/></field>
        <field name="memberName" title="${uiLabelMap.ScrumMembersName}">
            <hyperlink target="viewprofile" description="${lastName} ${firstName} ${middleName} [${partyId}]">
                <parameter param-name="partyId"/>
            </hyperlink>
        </field>
        <field name="roleTypeId">
            <display-entity entity-name="RoleType" description="${description}"/>
        </field>
        <field name="fromDate"><display type="date"/></field>
        <field name="thruDate"><display type="date"/></field>
        <field name="noConditionFind"><hidden value="Y"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonRemove}"><submit/></field>
    </form>
    <form name="taskMemberListInfo" type="list" extends="taskMemberList" 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">
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><hidden/></field>
    </form>
    <form name="taskMemberListInfoForStakeholder" type="list" extends="taskMemberList" 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">
        <field name="memberName" title="${uiLabelMap.ScrumMembersName}">
            <display description="${lastName} ${firstName} ${middleName} [${partyId}]"></display>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><hidden/></field>
    </form>
</forms>