|
Added: ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/scrumForms.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,3227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> + + <form name="sprintList" type="list" use-row-submit="true" list-name="listIt" target="DeleteSprint" paginate-target="SprintList" separate-columns="true" + odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <actions> + <set field="input.noConditionFind" value="N"/> + <set field="input.workEffortParentId" from-field="parameters.projectId"/> + <set field="input.workEffortTypeId" value="SCRUM_SPRINT"/> + <set field="input.currentStatusId" value="SPRINT_ACTIVE"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="input"/> + <field-map field-name="entityName" value="WorkEffort"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + <field-map field-name="orderBy" value="estimatedStartDate"/> + </service> + </actions> + <row-actions> + <set field="estimatedHours" value="${estimatedMilliSeconds/1000/60/60}" type="Long"/> + </row-actions> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="workEffortId"><hidden value="${workEffortId}"/></field> + <field name="workEffortName" title="Sprint Name"> + <hyperlink target="ViewSprint" description="${workEffortName}"> + <parameter param-name="sprintId" from-field="workEffortId"/> + <parameter param-name="projectId" from-field="projectWorkEffort.workEffortId"/> + </hyperlink> + </field> + <field name="currentStatusId" title="Current Status"><display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"></display-entity></field> + <field name="actualStartDate" title="Start Date"><display></display></field> + <field name="actualCompletionDate" title="End Date"><display></display></field> + <field name="estimatedHours" title="Sprint Length (hours)"><display></display></field> + </form> + + <form name="sprintListClosed" extends="sprintList"> + <actions> + <set field="input.noConditionFind" value="N"/> + <set field="input.workEffortParentId" from-field="parameters.projectId"/> + <set field="input.workEffortTypeId" value="SCRUM_SPRINT"/> + <set field="input.currentStatusId" value="SPRINT_CLOSED"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="input"/> + <field-map field-name="entityName" value="WorkEffort"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + <field-map field-name="orderBy" value="estimatedStartDate"/> + </service> + </actions> + </form> + + <form name="sprintBacklogList" type="list" use-row-submit="true" list-name="custRequestAndCustRequestItem" paginate-target="sprintBacklogListTarget" separate-columns="true" + odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <actions> + <entity-and entity-name="WorkEffortAndProduct" list="projectList"> + <field-map field-name="workEffortId" from-field="parameters.projectId"/> + </entity-and> + <set field="productId" from-field="projectList[0].productId"/> + <entity-condition list="custRequestAndCustRequestItem" entity-name="CustRequestAndCustRequestItem"> + <condition-list combine="and"> + <condition-expr field-name="custRequestTypeId" value="RF_PROD_BACKLOG" /> + <condition-expr field-name="statusId" value="CRQ_ACCEPTED" /> + <condition-expr field-name="productId" from-field="productId"/> + </condition-list> + <order-by field-name="sequenceNum"/> + </entity-condition> + </actions> + <field name="custRequestId"><hidden/></field> + <field name="description" title="${uiLabelMap.ScrumProductBacklogName}"> + <hyperlink target="ViewProdBacklogItem" description="${context.description} - [${custRequestId}]"> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + </hyperlink> + </field> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="custRequestId"><hidden/></field> + </form> + + <form name="sprintBacklogListItems" type="list" use-row-submit="true" list-name="listIt" target="UpdateHours" paginate-target="ViewSprint" separate-columns="true" + odd-row-style="alternate-row" default-table-style="hover-bar basic-table"> + <row-actions> + <!-- get total backlog item's plan hours --> + <set field="nullField" type="String"/> + <service service-name="getScrumPlanHour" result-map="backlogPlanHourOutMap"> + <field-map field-name="custRequestId"/> + <field-map field-name="sprintId" from-field="nullField"/> + <field-map field-name="projectId" from-field="nullField"/> + </service> + <set field="backlogPlanHours" from-field="backlogPlanHourOutMap.planHours"/> + <!-- get task's plan hours --> + <service service-name="getScrumPlanHour" result-map="taskPlanHourOutMap"> + <field-map field-name="taskId"/> + <field-map field-name="custRequestId" from-field="nullField"/> + <field-map field-name="sprintId" from-field="nullField"/> + <field-map field-name="projectId" from-field="nullField"/> + </service> + <set field="planHours" from-field="taskPlanHourOutMap.planHours"/> + <!-- condition --> + <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("custRequestId");return new Boolean(!(prev!=null&&prev.equals(custRequestId)));}" type="Boolean"/> + <!-- Get list of task for each sprint backlog --> + <entity-and entity-name="WorkEffortPartyAssignView" list="sprintMember"> + <field-map field-name="workEffortId" from-field="sprintId"/> + <field-map field-name="roleTypeId" value="SCRUM_TEAM"/> + </entity-and> + <entity-and entity-name="WorkEffortPartyAssignView" list="assignedTos"> + <field-map field-name="workEffortId" from-field="taskId"/> + </entity-and> + <set field="partyId" value="${assignedTos[0].partyId}"/> + <service service-name="getScrumActualHour" result-map="result"> + <field-map field-name="taskId" from-field="taskId"/> + <field-map field-name="partyId" from-field="partyId"/> + </service> + <set field="taskActualHours" from-field="result.actualHours"/> + <entity-one entity-name="CustRequest" value-field="custRequest"/> + <set field="defaultBacklogPlanHours" value="${custRequest.estimatedMilliSeconds/3600000}"/> + <set field="initialPlannedHours" from-field="defaultBacklogPlanHours"/> + <entity-and entity-name="CustRequestItem" list="custRequestItems"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + </entity-and> + <entity-condition entity-name="CustRequestItem" list="custRequestItems"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="custRequestId"/> + <condition-expr field-name="productId" operator="not-equals" from-field="nullValue"/> + </condition-list> + </entity-condition> + <set field="productId" from-field="custRequestItems[0].productId"/> + </row-actions> + <field name="projectId" position="2"><hidden/></field> + <field name="sprintId" position="2"><hidden/></field> + <field name="taskId" position="2"><hidden/></field> + <field name="VIEW_SIZE_2" position="2"><hidden value="${parameters.VIEW_SIZE_2}"/></field> + <field name="VIEW_INDEX_2" position="2"><hidden value="${parameters.VIEW_INDEX_2}"/></field> + <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" position="1" use-when="showPosition1&&"${custRequestTypeId}"!="RF_SCRUM_MEETINGS""> + <display-entity entity-name="CustRequest" key-field-name="custRequestId" description=" "> + <sub-hyperlink target="ViewProdBacklogItem" description="${context.description} - [${custRequestId}]" link-type="hidden-form" target-window="_BLANK" link-style="buttontext"> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="custRequestId" title="${uiLabelMap.ScrumSprintBacklog}" position="1" use-when="showPosition1&&"${custRequestTypeId}"=="RF_SCRUM_MEETINGS"" widget-style="disabled"> + <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${context.description} - [${custRequestId}]"> + </display-entity> + </field> + <field name="custRequest.statusId" title="${uiLabelMap.ScrumStatusBacklog}" position="1" use-when="showPosition1&&"Any".equals(paraBacklogStatusId)"> + <display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/> + </field> + <field name="taskId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTask}" position="2" parameter-name="workEffortId" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"> + <display-entity entity-name="WorkEffort" key-field-name="workEffortId" description=" "> + <sub-hyperlink target="taskView" description="${uiLabelMap.ScrumTab} ${taskName} - [${taskId}]" link-type="hidden-form" target-window="_BLANK"> + <parameter param-name="projectId"/> + <parameter param-name="taskId"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="taskTypeId" title="${uiLabelMap.ScrumTab} ${uiLabelMap.ScrumTaskType}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"> + <display-entity entity-name="WorkEffortType" key-field-name="workEffortTypeId" description="${uiLabelMap.ScrumTab} ${description}"/> + </field> + <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/></field> + <field name="taskCurrentStatusId" title="${uiLabelMap.CommonStatus}" position="2" use-when=""STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="alert"><display-entity entity-name="StatusItem" description="${description}" key-field-name="statusId"/></field> + <field name="dummy1" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> + <field name="dummy2" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> + <field name="dummy3" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> + <field name="initialPlannedHours" title="Initial Plan / Total Plan" position="1" use-when="showPosition1"><display description="${initialPlannedHours} / ${backlogPlanHours}"/></field> + <field name="dummy4" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> + <field name="dummy5" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1"><display description=" "/></field> + <field name="taskActualHours" title="${uiLabelMap.ScrumActualHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display/></field> + <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display></display> + </field> + <field name="deleteButton" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> + <hyperlink target="DeleteSprintBackLogs" description="Delete" confirmation-message="Are you sure to delete this sprint backlog ?" link-type="hidden-form"> + <parameter param-name="custRequestId"/> + <parameter param-name="sprintId"/> + <parameter param-name="projectId"/> + </hyperlink> + </field> + <field name="newTask" title="${uiLabelMap.CommonEmptyHeader}" position="1" use-when="showPosition1&&!"CRQ_COMPLETED".equals("${custRequest.statusId}")" widget-style="buttontext"> + <hyperlink target="NewSprintBacklogTask" description="Add Task" link-type="hidden-form"> + <parameter param-name="custRequestId"/> + <parameter param-name="sprintId"/> + <parameter param-name="projectId"/> + </hyperlink> + </field> + <field name="dummy6" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display description=" "/></field> + <field name="partyId" title="${uiLabelMap.ScrumAssignedTo}" position="2" parameter-name="partyId" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"> + <display-entity entity-name="PartyNameView" description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"/> + </field> + <field name="editTaskParty" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="buttontext"> + <hyperlink target="EditTask" description="${uiLabelMap.CommonEdit}" link-type="hidden-form" target-window="_BLANK"> + <parameter param-name="taskId"/> + <parameter param-name="sprintId"></parameter> + </hyperlink> + </field> + <field name="deleteTaskButton" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" widget-style="buttontext"> + <hyperlink target="DeleteTaskFromSprintOverview" description="Delete" confirmation-message="Are you sure to delete this task ?" link-type="hidden-form"> + <parameter param-name="workEffortId" from-field="taskId"/> + <parameter param-name="custRequestId"/> + <parameter param-name="sprintId"/> + <parameter param-name="projectId"/> + </hyperlink> + </field> + <field name="setCompleteButton" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)" + position="2"> + <hyperlink target="setCompleteTask" description="${uiLabelMap.ScrumSetComplete}" link-type="hidden-form"> + <parameter param-name="workEffortId" from-field="taskId"/> + <parameter param-name="sprintId"></parameter> + </hyperlink> + </field> + <field name="dummy7" title="${uiLabelMap.CommonEmptyHeader}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display description=" "/></field> + </form> + + <form name="sprintBacklogListItemsHideDelete" extends="sprintBacklogListItems"> + <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}" position="2" use-when="!"SCRUM_SPRINT".equals(taskTypeId)"><display/></field> + <field name="deleteButton" position="1" use-when="showPosition1"><hidden/></field> + <field name="deleteTaskButton" position="2" use-when="!"STS_COMPLETED".equals(taskCurrentStatusId)&&!"SCRUM_SPRINT".equals(taskTypeId)"><hidden/></field> + <sort-order> + <sort-field name="custRequestId"/> + <sort-field name="taskId"/> + <sort-field name="custRequest.statusId"/> + <sort-field name="dummy1"/> + <sort-field name="dummy2"/> + <sort-field name="dummy4"/> + <sort-field name="dummy5"/> + <sort-field name="taskTypeId"/> + <sort-field name="taskCurrentStatusId"/> + <sort-field name="initialPlannedHours"/> + <sort-field name="planHours"/> + <sort-field name="newTask"/> + <sort-field name="dummy3"/> + </sort-order> + </form> + + <form name="ViewSprintItem" type="single" default-entity-name="WorkEffort" target="EditSprintItem?projectId=${parameters.projectId}"> + <actions> + <entity-and entity-name="WorkEffortCustRequestItemView" list="custRequestItems"> + <field-map field-name="workEffortId" from-field="parameters.workEffortId"/> + </entity-and> + <entity-and entity-name="CustRequestItem" list="custRequestItems"> + <field-map field-name="custRequestId" from-field="custRequestItems[0].custRequestId"/> + <field-map field-name="custRequestItemSeqId" from-field="custRequestItems[0].custRequestItemSeqId"/> + </entity-and> + <entity-one entity-name="WorkEffort"> + <field-map field-name="workEffortId" from-field="parameters.workEffortId"/> + </entity-one> + </actions> + <field name="workEffortName" title="Sprint Item Name"><display></display></field> + <field name="description" title="${uiLabelMap.CommonDescription}" use-when="description!=null"><display></display></field> + <field name="custRequestItemName" title="${uiLabelMap.ScrumCustomerRequestItemName}"><display description="${custRequestItems[0].description}"></display></field> + <field name="custRequestId"><hidden value="${custRequestItems[0].custRequestId}"/></field> + <field name="custRequestItemSeqId"><hidden value="${custRequestItems[0].custRequestItemSeqId}"/></field> + <field name="sprintItemId"><hidden value="${parameters.workEffortId}"/></field> + <field name="estimatedMilliSeconds" title="${uiLabelMap.ScrumEstimatedHours}"><display></display></field> + <field name="submitButton" title="${uiLabelMap.CommonEdit}"><submit button-type="button"/></field> + </form> + + <form name="showSprintInfo" type="single" default-entity-name="WorkEffort" target="EditSprint" > + <actions> + <entity-one entity-name="WorkEffort" value-field="sprint"> + <field-map field-name="workEffortId" from-field="parameters.sprintId"/> + </entity-one> + <entity-one entity-name="StatusItem" value-field="status"> + <field-map field-name="statusId" from-field="sprint.currentStatusId"/> + </entity-one> + + <set field="estimatedHrs" value="${sprint.estimatedMilliSeconds/1000/60/60/40}" type="Integer"/> + <entity-and entity-name="WorkEffortCustRequestView" list="custRequests"> + <field-map field-name="workEffortId" from-field="parameters.sprintId"/> + </entity-and> + <entity-and entity-name="WorkEffortAndProduct" list="workeffAndProList"> + <field-map field-name="workEffortId" from-field="sprint.workEffortParentId"/> + </entity-and> + <entity-one entity-name="Product" value-field="resultProduct"> + <field-map field-name="productId" from-field="workeffAndProList[0].productId"/> + </entity-one> + <set field="maxHours" value="${groovy: + def memberSize = delegator.findByAnd("WorkEffortPartyAssignment", ["workEffortId": parameters.sprintId]); + maxHours = memberSize.size() * context.estimatedHrs * 40; + }"/> + <service service-name="getScrumPlanHour" result-map="planHourOutMap"> + <field-map field-name="sprintId" from-field="parameters.sprintId"/> + </service> + <set field="planHours" from-field="planHourOutMap.planHours"/> + <set field="actualStartDate" from-field="sprint.actualStartDate" type="Timestamp"/> + <set field="actualCompletionDate" from-field="sprint.actualCompletionDate" type="Timestamp"/> + </actions> + <field name="productId" title="${uiLabelMap.ScrumProductName}"> + <hyperlink target="ViewProduct" description="${resultProduct.internalName} [${resultProduct.productId}]"> + <parameter param-name="productId" from-field="resultProduct.productId"/> + </hyperlink> + </field> + <field name="projectId" title="${uiLabelMap.ScrumProjectName}"> + <hyperlink target="viewScrumProject" description="${project.workEffortName} [${project.workEffortId}]"> + <parameter param-name="projectId" from-field="parameters.projectId"/> + </hyperlink> + </field> + <field name="workEffortName" title="${uiLabelMap.ScrumSprintName}"><display description="${sprint.workEffortName}"/></field> + <field name="description" title="${uiLabelMap.ScrumSprintGoal}" use-when="description!=null"><display description="${sprint.description}"/></field> + <field name="currentStatusId"><hidden/></field> + <field name="workEffortId"><hidden/></field> + <field name="statusId" title="${uiLabelMap.CommonStatus}"> + <display description="${status.description}"/> + </field> + <field name="actualStartDate" title="${uiLabelMap.CommonStartDate}"><display type="date"/></field> + <field name="actualCompletionDate" title="${uiLabelMap.CommonEndDate}"><display type="date"/></field> + <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLengthWeeks}"><display description="${estimatedHrs} week(s)"/></field> + <field name="planHours" title="${uiLabelMap.ScrumPlanedHours}"><display description="${planHours} hours"/></field> + <field name="totalBacklogs" title="${uiLabelMap.PageTitleTotalBacklog}"><display description="reviewed:${reviewedBacklog} completed:${completedBacklog} total:${totalbacklog}"></display></field> + <field name="totalTasks" title="${uiLabelMap.PageTitleTotalTask}"><display description="created:${createdTask} completed:${completedTask} total:${totalTask}"></display></field> + <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> + <field name="sprintDuration"><hidden value="${estimatedMilliSeconds/144000000}"/></field> + </form> + + <form name="EditSprint" type="single" extends="showSprintInfo" target="UpdateSprint"> + <field name="workEffortParentId" entry-name="projectId" title="${uiLabelMap.ScrumSprintMoveToProject}"> + <drop-down allow-empty="true"> + <entity-options description="${workEffortName} [${workEffortId}]" entity-name="WorkEffortAndProduct" key-field-name="workEffortId"> + <entity-constraint name="workEffortTypeId" operator="equals" value="SCRUM_PROJECT"/> + <entity-constraint name="currentStatusId" operator="equals" value="SPJ_ACTIVE"/> + <entity-constraint name="productId" operator="equals" value="${resultProduct.productId}"/> + </entity-options> + </drop-down> + </field> + <field name="workEffortName" title="${uiLabelMap.ScrumSprintName}"><text default-value="${sprint.workEffortName}"></text></field> + <field name="description" title="${uiLabelMap.ScrumSprintGoal}"><textarea default-value="${sprint.description}"/></field> + <field name="currentStatusId"><hidden value="${sprint.currentStatusId}"/></field> + <field name="actualStartDate"><date-time type="date" default-value="${sprint.actualStartDate}"/></field> + <field name="estimatedHrs" title="${uiLabelMap.ScrumSprintLength}"><hidden/></field> + <field name="sprintDuration" title="${uiLabelMap.ScrumSprintLengthWeeks}" > + <drop-down current-description="${estimatedHrs}" no-current-selected-key="${estimatedHrs}"> + <option key="1" description="1"/> + <option key="2" description="2"/> + <option key="3" description="3"/> + <option key="4" description="4"/> + </drop-down> + </field> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="sprintId"> <hidden value="${parameters.sprintId}"/></field> + <field name="workEffortId"><hidden value="${parameters.sprintId}"/></field> + <field name="workEffortTypeId"><hidden value="SCRUM_SPRINT"/></field> + <field name="statusName"><hidden/></field> + <field name="statusId" title="${uiLabelMap.CommonStatus}"> + <drop-down> + <entity-options description="${description}" entity-name="StatusItem"> + <entity-constraint name="statusTypeId" value="SPRINT_STATUS" operator="equals"/> + </entity-options> + </drop-down> + </field> + <field name="totalBacklogs" ><ignored/> </field> + <field name="totalTasks"><ignored/> </field> + <field name="deleteButton"><hidden/></field> + <field name="actualDate" title="${uiLabelMap.CommonEndDate}"><hidden/></field> + <field name="maxHours" title="${uiLabelMap.ScrumMaximumHours}"><hidden/></field> + <field name="updateButton" title="${uiLabelMap.CommonUpdate}"><submit/></field> + <sort-order> + <sort-field name="productId"/> + <sort-field name="workEffortParentId"/> + <sort-field name="workEffortName"/> + <sort-field name="description"/> + <sort-field name="statusId"/> + <sort-field name="actualStartDate"/> + <sort-field name="actualCompletionDate"/> + <sort-field name="planHours"/> + <sort-field name="sprintDuration"/> + <sort-field name="updateButton"/> + </sort-order> + </form> + + <form name="addSprint" skip-end="true" type="single" target="createSprint" default-entity-name="WorkEffort" default-map-name="projectWorkEffort"> + <field name="sprintName" title="${uiLabelMap.ScrumSprintName}"><text size="60"></text></field> + <field name="sprintDescription" title="${uiLabelMap.ScrumSprintGoal}"><textarea/></field> + <field name="workEffortTypeId"><hidden value="SCRUM_SPRINT"/></field> + <field name="currentStatusId"><hidden value="CRQ_DRAFT"/></field> + <field name="sprintEstimatedStart" title="${uiLabelMap.CommonStartDate}"><date-time type="date"/></field> + <field name="sprintDuration" title="${uiLabelMap.ScrumSprintLengthWeeks}"> + <drop-down current-description="2" no-current-selected-key="2"> + <option key="1" description="1"/> + <option key="2" description="2"/> + <option key="3" description="3"/> + <option key="4" description="4"/> + </drop-down> + </field> + </form> + + <form name="addSprintMember" type="single" target="addSprintMember" default-map-name="projectMembers"> + <actions> + <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" distinct="true" list="listPerson"> + <condition-list combine="and"> + <condition-expr field-name="partyStatusId" operator="not-equals" value="PARTY_DISABLED"/> + <condition-expr field-name="thruDate" value="" operator="equals" ignore-if-empty="true"/> + <condition-expr field-name="groupId" value="SCRUM_TEAM" operator="equals"/> + </condition-list> + <select-field field-name="lastName"/> + <select-field field-name="firstName"/> + <select-field field-name="middleName"/> + <select-field field-name="partyId"/> + <order-by field-name="lastName"/> + </entity-condition> + <entity-and entity-name="WorkEffortAndProduct" list="projectList"> + <field-map field-name="workEffortId" from-field="parameters.projectId"/> + </entity-and> + <set field="productId" from-field="projectList[0].productId"/> + <set field="sprintId" from-field="parameters.sprintId"/> + </actions> + <field name="productId"><hidden/></field> + <field name="partyId" title="${uiLabelMap.Person}" tooltip="${uiLabelMap.CommonPerson}" use-when="parameters.get("partyId")!=null" parameter-name="partyId"> + <display-entity entity-name="PartyNameView" description="${lastName}, ${firstName} ${middleName}" key-field-name="partyId"> + <sub-hyperlink target="SprintMember?sprintId=${parameters.sprintId}" description="[${uiLabelMap.CommonChange}]"/> + </display-entity> + </field> + <field name="partyId" title="${uiLabelMap.Person}" tooltip="${uiLabelMap.CommonPerson}" event="onchange" action="javascript:document.addSprintMember.action='SprintMember';document.addSprintMember.submit();" use-when="parameters.get("partyId")==null" parameter-name="partyId"> + <drop-down allow-empty="false"> + <option key="" description="- ${uiLabelMap.CommonSelectOne} -"/> + <list-options key-name="partyId" list-name="listPerson" description="${lastName} ${firstName} ${middleName}"/> + </drop-down> + </field> + <field name="roleTypeId"> + <drop-down current="selected" allow-empty="false"> + <entity-options entity-name="PartyRoleDetailAndPartyDetail" description="${description}"> + <entity-constraint name="partyId" operator="equals" value="${parameters.partyId}"/> + <entity-constraint name="parentTypeId" operator="equals" value="SCRUM_MEMBER"/> + </entity-options> + </drop-down> + </field> + <field name="fromDate"><date-time/></field> + <field name="thruDate"><date-time/></field> + <field name="statusId"><hidden value="PRTYASGN_ASSIGNED"/></field> + <field name="workEffortId"><hidden value="${parameters.sprintId}"/></field> + <field name="submitButton" title="${uiLabelMap.ScrumAssign}"><submit button-type="button"/></field> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="sprintId"><hidden value="${parameters.sprintId}"/></field> + </form> + <form name="listSprintMember" type="list" target="delSprintMember" list-name="listIt" use-row-submit="true" paginate-target="ViewSprint" separate-columns="true" + odd-row-style="alternate-row" even-row-style="even-row" header-row-style="header-row" default-table-style="basic-table hover-bar"> + <actions> + <set field="input.noConditionFind" from-field="parameters.noConditionFind" default-value="Y"/> + <set field="input.workEffortId" from-field="parameters.sprintId"/> + <service service-name="performFind" result-map="result" result-map-list="listIt"> + <field-map field-name="inputFields" from-field="input"/> + <field-map field-name="entityName" value="WorkEffortPartyAssignView"/> + <field-map field-name="orderBy" value="firstName"/> + <field-map field-name="viewIndex" from-field="viewIndex"/> + <field-map field-name="viewSize" from-field="viewSize"/> + </service> + </actions> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="sprintId"> <hidden value="${parameters.sprintId}"/></field> + <field name="partyId"><hidden/></field> + <field name="workEffortId"><hidden value="${parameters.sprintId}"/></field> + <field name="memberName" title="${uiLabelMap.ScrumMembersName}"><hyperlink target="viewprofile" description="${lastName}, ${firstName} ${middleName} [${partyId}]"><parameter param-name="partyId"/></hyperlink></field> + <field name="roleTypeId"> + <display-entity entity-name="RoleType" description="${description}"/> + </field> + <field name="fromDate"><display type="date"/></field> + <field name="thruDate"><display type="date"/></field> + <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> + <field name="submitButton" title="${uiLabelMap.CommonRemove}"><submit confirmation-message="Are you sure to delete selected member ?"/></field> + </form> + <form name="listSprintMemberNoAction" extends="listSprintMember"> + <field name="submitButton"><hidden/></field> + </form> + <form name="listSprintMemberForStakeholder" extends="listSprintMember"> + <field name="memberName" title="${uiLabelMap.ScrumMembersName}"> + <display description="${lastName}, ${firstName} ${middleName} [${partyId}]"></display> + </field> + <field name="submitButton"><hidden/></field> + </form> + + <form name="editScrumProject" default-map-name="workEffort" target="updateScrumProject" title="" type="single"> + <actions> + <entity-one value-field="workEffortAttMap" entity-name="WorkEffortAttribute"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + <field-map field-name="attrName" value="PROJECT_BILLED"/> + </entity-one> + <set field="workEffAttMap.billed" from-field="workEffortAttMap.attrValue"/> + </actions> + <alt-target use-when="workEffort==null" target="createScrumProject"/> + <field name="productId" title="${uiLabelMap.ScrumProductName}" use-when="workEffort==null"> + <drop-down> + <entity-options description="${groupName} -- ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> + <entity-constraint name="statusId" value="PRODUCT_ACTIVE"/> + <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="statusId" value="PRODUCT_ACTIVE"/> + <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> + <entity-order-by field-name="groupName"/> + <entity-order-by field-name="internalName"/> + </entity-options> + </drop-down> + </field> + <field name="productName" entry-name="productId" title="${uiLabelMap.ScrumProductName}" use-when="workEffort!=null" parameter-name="productName"> + <display-entity entity-name="Product" key-field-name="productId" description="${internalName}"/> + </field> + <field name="workEffortId"><hidden/></field> + <field name="workEffortTypeId"><hidden value="SCRUM_PROJECT"/></field> + <field name="partyId"><hidden value="${userLogin.partyId}"/></field> + <field name="productOwnerId"><hidden value="${parameters.partyId}"/></field> + <field name="workEffortName" title="${uiLabelMap.ScrumProjectName}"><text/></field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" map-name="workEffAttMap"> + <drop-down allow-empty="true"> + <option key="Y" description="${uiLabelMap.CommonY}"/> + <option key="N" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="currentStatusId" use-when="workEffortId==null"><hidden value="SPJ_ACTIVE"/></field> + <field name="description" title="${uiLabelMap.ScrumProjectGoal}"><textarea/></field> + <field name="currentStatusId" use-when="workEffortId!=null" title="${uiLabelMap.CommonStatus}"> + <drop-down current="first-in-list" current-description="${currentStatus.description}"> + <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}"> + <entity-constraint name="statusTypeId" value="SCRUM_PROJECT_STATUS"/> + <entity-order-by field-name="description"/> + </entity-options> + </drop-down> + </field> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="smallSubmit"><submit/></field> + </form> + <form name="newScrumProject" extends="editScrumProject"> + <field name="productId" title="${uiLabelMap.ScrumProductName}"><display-entity entity-name="Product" description="${internalName} [${productId}]"/> </field> + </form> + + <form name="ScrumProject" type="single" target="viewScrumProject" default-map-name="project"> + <actions> + <entity-one entity-name="ProjectSprintBacklogAndTask" value-field="showDate"> + <field-map field-name="projectId" from-field="project.workEffortId"/> + </entity-one> + <service service-name="getScrumActualHour" result-map="results"> + <field-map field-name="projectId" from-field="project.workEffortId"/> + </service> + <entity-and entity-name="WorkEffort" list="sprintList"> + <field-map field-name="workEffortParentId" from-field="parameters.projectId"/> + <field-map field-name="workEffortTypeId" value="SCRUM_SPRINT"/> + <order-by field-name="actualStartDate"/> + </entity-and> + <entity-one entity-name="Product" value-field="product"> + <field-map field-name="productId" from-field="project.productId"/> + </entity-one> + <entity-and entity-name="ProductRole" list="productRoleList"> + <field-map field-name="productId" from-field="product.productId"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> + </entity-and> + <set field="partyMap.productOwnerId" from-field="productRoleList[0].partyId"/> + <entity-one value-field="workEffortAttMap" entity-name="WorkEffortAttribute"> + <field-map field-name="workEffortId" from-field="parameters.projectId"/> + <field-map field-name="attrName" value="PROJECT_BILLED"/> + </entity-one> + <set field="actualStartDate" from-field="sprintList[0].actualStartDate" type="Date"/> + </actions> + <field name="productId" title="${uiLabelMap.ScrumProductName}" entity-name="Product" parameter-name="productId"> + <display-entity entity-name="Product" key-field-name="productId" description=" "> + <sub-hyperlink target="ViewProduct" description="${product.internalName} [${project.productId}]"> + <parameter param-name="productId" from-field="project.productId"/> + </sub-hyperlink> + </display-entity> + </field> + <field name="projectId"><hidden value="${parameters.projectId}"/></field> + <field name="workEffortName" title="${uiLabelMap.ScrumProjectName}"><display/></field> + <field name="productOwnerId" title="${uiLabelMap.ScrumProductOwner}" map-name="partyMap"> + <display-entity entity-name="Person" key-field-name="partyId" description="${firstName} ${lastName} ${middleName} [${partyId}]"/> + </field> + <field name="description" title="${uiLabelMap.ScrumProjectGoal}"><display/></field> + <field name="billed" title="${uiLabelMap.ScrumBilled}"><display description="${workEffortAttMap.attrValue}"/></field> + <field name="currentStatusId" title="${uiLabelMap.CommonStatus}"> + <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> + </field> + <field name="actualStartDate"><display description="${actualStartDate}"/></field> + <field name="actualCompletionDate"><display type="date"/></field> + <field name="actualHours"><display description="${results.actualHours}"/></field> + </form> + + <form name="EditProdBacklog" type="single" target="createProductBacklog" default-map-name="custRequest"> + <actions> + <entity-one entity-name="CustRequest" value-field="custRequest"/> + <set field="nullField" type="Timestamp"/> + <set field="custRequestName" from-field="custRequest.custRequestName"/> + <set field="openDateTime" from-field="custRequest.openDateTime"/> + <set field="closedDateTime" from-field="custRequest.closedDateTime"/> + <entity-one entity-name="Product" value-field="product"> + <field-map field-name="productId" from-field="parameters.productId"/> + </entity-one> + <entity-and entity-name="CustRequestNoteView" list="custRequestNotes"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + <field-map field-name="noteName" value="How to test"/> + </entity-and> + <entity-condition entity-name="ProductBacklog" list="workEffortlist"> + <condition-list> + <condition-expr field-name="custRequestId" from-field="custRequestId"/> + <condition-expr field-name="workEffortTypeId" value="SCRUM_SPRINT"/> + </condition-list> + </entity-condition> + <entity-one entity-name="WorkEffort" value-field="workEffort"> + <field-map field-name="workEffortId" from-field="workEffortlist[0].workEffortId"/> + </entity-one> + <set field="sprintName" from-field="workEffort.workEffortName"/> + <set field="projectId" from-field="workEffort.workEffortParentId"/> + <set field="noteInfo" from-field="custRequestNotes[0].noteInfo"/> + <entity-one value-field="workEffortAttMap" entity-name="WorkEffortAttribute"> + <field-map field-name="workEffortId" from-field="projectId"/> + <field-map field-name="attrName" value="PROJECT_BILLED"/> + </entity-one> + <set field="projectBilled" from-field="workEffortAttMap.attrValue"/> + <entity-and entity-name="ProductRole" list="productRole"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="thruDate" from-field="nullField"/> + <order-by field-name="roleTypeId"/> + </entity-and> + <entity-one entity-name="ProductAndRole" value-field="Owner"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="partyId" from-field="productRole[0].partyId"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> + <field-map field-name="fromDate" from-field="productRole[0].fromDate"/> + </entity-one> + <entity-one entity-name="ProductAndRole" value-field="Company"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="partyId" from-field="productRole[1].partyId"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/> + <field-map field-name="fromDate" from-field="productRole[1].fromDate"/> + </entity-one> + <entity-and entity-name="PartyRelationshipAndPartyDetail" list="party"> + <field-map field-name="partyIdFrom" from-field="Company.partyId"/> + <field-map field-name="roleTypeIdFrom" value="ACCOUNT"/> + <field-map field-name="roleTypeIdTo" value="CONTACT"/> + <field-map field-name="thruDate" from-field="nullField"/> + </entity-and> + <entity-condition entity-name="PartyRelationshipAndDetail" list="request"> + <condition-expr field-name="partyId" from-field="custRequest.fromPartyId"/> + </entity-condition> + <entity-and entity-name="CustRequestItem" list="custRequestItems"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + </entity-and> + <set field="story" from-field="custRequestItems[0].story"/> + </actions> + <alt-target use-when="custRequestId!=null" target="updateProductBacklog?custRequestId=${parameters.custRequestId}"/> + <field name="sequence"><hidden value="${sequence}"/></field> + <field name="backStatusId" use-when="custRequest==null"><hidden value="CRQ_ACCEPTED"/> </field> + <field name="noteId"><hidden value="${custRequestNotes[0].noteId}"/></field> + <field name="productId"><hidden value="${parameters.productId}"/></field> + <field name="partyId"><hidden value="userLogin.partyId"/></field> + <field name="custRequestTypeId" use-when="custRequest==null"><hidden/></field> + <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.ScrumMax255Chars}" use-when="custRequest==null"> + <text size="63" maxlength="255"/> + </field> + <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.ScrumMax255Chars}" use-when="custRequest!=null&&isTeamMember==false"><text size="63" maxlength="255"/></field> + <field name="description" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="required" tooltip="${uiLabelMap.CommonRequired}" use-when="custRequest!=null&&isTeamMember==true"><display/></field> + <field name="productId" map-name="product" title="${uiLabelMap.ScrumProjectMoveToProduct}" use-when="custRequest!=null&&isTeamMember==false"> + <drop-down> + <entity-options description="${groupName} ${internalName}[${productId}]" entity-name="ProductAndRole" key-field-name="productId"> + <entity-constraint name="partyId" operator="equals" value="${Company.partyId}"/> + <entity-constraint name="statusId" value="PRODUCT_ACTIVE"/> + <entity-constraint name="roleTypeId" value="PRODUCT_OWNER_COMP"/> + <entity-order-by field-name="groupName"/> + <entity-order-by field-name="internalName"/> + </entity-options> + </drop-down> + </field> + <field name="productId" map-name="product" title="${uiLabelMap.ScrumProjectMoveToProduct}" use-when="custRequest!=null&&isTeamMember==true"> + <display-entity entity-name="Product" description="${internalName} [${productId}]" key-field-name="productId"/> + </field> + <field name="groupName" title="${uiLabelMap.ScrumCompany}" parameter-name="partyIdFrom" use-when="custRequest!=null"> + <display description="${Company.groupName}"/> + </field> + <field name="productOwerId" title="${uiLabelMap.ScrumProductOwner}" use-when="custRequest!=null"> + <display description="${Owner.lastName} ${Owner.firstName} ${Owner.middleName}"/> + </field> + <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="custRequest==null"> + <drop-down allow-empty="true"> + <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> + <entity-constraint name="productId" env-name="productId"/> + <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + <entity-order-by field-name="custRequestName"/> + </entity-options> + </drop-down> + </field> + <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="custRequest!=null&&isTeamMember==false"> + <drop-down allow-empty="true"> + <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> + <entity-constraint name="productId" env-name="productId"/> + <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + </entity-options> + </drop-down> + </field> + <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}" use-when="custRequest!=null&&isTeamMember==true"> + <display-entity entity-name="CustRequest" description="${custRequestName}" key-field-name="custRequestId"/> + </field> + <field name="planedTime" parameter-name="estimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest==null"> + <text size="3"/> + </field> + <field name="planedTime" parameter-name="estimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest!=null&&isTeamMember==false"><text size="3" default-value="${custRequest.estimatedMilliSeconds/3600000}"/></field> + <field name="planedTime" parameter-name="estimatedMilliSeconds" title="${uiLabelMap.ScrumPlanedTime}" tooltip="${uiLabelMap.ScrumHrs}" use-when="custRequest!=null&&isTeamMember==true"><display description="${custRequest.estimatedMilliSeconds/3600000}"/></field> + <field name="sequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest==null"> + <text size="3"></text> + </field> + <field name="sequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest!=null&&isTeamMember==false"><text size="3"></text></field> + <field name="sequenceNum" title="${uiLabelMap.CommonSequenceNum}" use-when="custRequest!=null&&isTeamMember==true"><display/></field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest==null"> + <drop-down allow-empty="false" no-current-selected-key="Y"> + <option key="Y" description="${uiLabelMap.CommonY}"/> + <option key="N" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&&isTeamMember==false&&projectBilled==null"> + <drop-down allow-empty="false" no-current-selected-key="Y"> + <option key="Y" description="${uiLabelMap.CommonY}"/> + <option key="N" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&&isTeamMember==false&&projectBilled!=null" tooltip="${uiLabelMap.ScrumSetOnProjectLevel}"> + <display/> + </field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" use-when="custRequest!=null&&isTeamMember==true"><display/></field> + <field name="custRequestTypeId" title="${uiLabelMap.ScrumUnplanBacklog}" use-when="isTeamMember==false"> + <drop-down allow-empty="false" no-current-selected-key="N"> + <option key="RF_UNPLAN_BACKLOG" description="${uiLabelMap.CommonY}"/> + <option key="RF_PROD_BACKLOG" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="custRequestTypeId" title="${uiLabelMap.ScrumUnplanBacklog}" use-when="custRequest!=null&&isTeamMember==true"> + <display-entity entity-name="CustRequestType" description="${description}" key-field-name="custRequestTypeId"/> + </field> + <field name="unplannedFlag" title="${uiLabelMap.ScrumUnplanBacklog}" use-when="custRequest==null"> + <drop-down allow-empty="false" no-current-selected-key="N"> + <option key="Y" description="${uiLabelMap.CommonY}"/> + <option key="N" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="statusId" title="${uiLabelMap.CommonStatus}" use-when="custRequest!=null"> + <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"></display-entity> + </field> + <field name="partyIdTo" title="${uiLabelMap.ScrumRequestName}" parameter-name="partyIdTo" use-when="custRequest!=null&&isTeamMember==false"> + <drop-down no-current-selected-key="${custRequest.fromPartyId}" allow-empty="false"> + <list-options list-name="party" description="${toLastName} ${toFirstName} ${toMiddleName}" key-name="partyIdTo"/> + </drop-down> + </field> + <field name="partyIdTo" title="${uiLabelMap.ScrumRequestName}" parameter-name="partyIdTo" use-when="custRequest!=null&&isTeamMember==true"> + <display description="${request[0].lastName} ${request[0].firstName} ${request[0].middleName}"/> + </field> + <field name="Sprint" title="${uiLabelMap.ScrumSprintName}" use-when="sprintName!=null"> + <hyperlink target="ViewSprint" description="${sprintName} [${workEffortlist[0].workEffortId}]"> + <parameter param-name="prjectId" from-field="projectId"/> + <parameter param-name="sprintId" from-field="workEffortlist[0].workEffortId"/> + </hyperlink> + </field> + <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest==null"> + <textarea rows="4" cols="60" default-value="${story}" /> + </field> + <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest!=null&&isTeamMember==false"><textarea rows="4" cols="60" default-value="${story}" /></field> + <field name="story" title="${uiLabelMap.ScrumStory}" use-when="custRequest!=null&&isTeamMember==true"><display description="${story}"/></field> + <field name="noteInfo" title="${uiLabelMap.ScrumHowToTest}"><textarea rows="4" cols="60" default-value="${noteInfo}" /></field> + <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field> + <sort-order> + <sort-field name="description"/> + <sort-field name="productId"/> + <sort-field name="partyId"/> + <sort-field name="groupName"/> + <sort-field name="productOwerId"/> + <sort-field name="parentCustRequestId"/> + <sort-field name="Sprint"/> + <sort-field name="planedTime"/> + <sort-field name="sequenceNum"/> + <sort-field name="billed"/> + <sort-field name="unplannedFlag"/> + <sort-field name="custRequestTypeId"/> + <sort-field name="statusId"/> + <sort-field name="partyIdTo"/> + <sort-field name="productId"/> + <sort-field name="story"/> + <sort-field name="noteId"/> + <sort-field name="noteInfo"/> + <sort-field name="custRequestTypeId"/> + <sort-field name="submitButton"/> + </sort-order> + </form> + + <form name="FindProdBacklog" type="single" target="ViewTotalBacklog"> + <actions> + <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="requesterList"> + <condition-list combine="or" > + <condition-expr field-name="groupId" value="SCRUM_MASTER"/> + <condition-expr field-name="groupId" value="SCRUM_PRODUCT_OWNER"/> + </condition-list> + </entity-condition> + </actions> + <field name="sequence"><hidden value="${sequence}"/></field> + <field name="productId"><hidden value="${parameters.productId}"/></field> + <field name="custRequestId" title="${uiLabelMap.ScrumProductBacklogId}"><text-find/></field> + <field name="fromPartyId" title="${uiLabelMap.ScrumRequesterName}" position="2"> + <drop-down allow-empty="true"> + <option key=""/> + <list-options key-name="partyId" list-name="requesterList" description="${lastName} ${firstName} ${middleName}"/> + </drop-down> + </field> + <field name="description" title="${uiLabelMap.ScrumProductBacklogName}"><text-find/></field> + <field name="custRequestDate" title="${uiLabelMap.ScrumRequestDate}" position="2"> + <date-time type="date"/> + </field> + <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}"> + <drop-down allow-empty="true"> + <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> + <entity-constraint name="productId" value="${parameters.productId}"/> + <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + <entity-order-by field-name="custRequestName"/> + </entity-options> + </drop-down> + </field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" position="2"> + <drop-down allow-empty="true" current-description="" > + <option key="Y" description="${uiLabelMap.CommonY}"/> + <option key="N" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="custRequestTypeId" title="${uiLabelMap.ScrumPlanned}"> + <drop-down allow-empty="false"> + <option key="${uiLabelMap.CommonAny}" description=" "/> + <option key="RF_PROD_BACKLOG" description="${uiLabelMap.CommonY}"/> + <option key="RF_UNPLAN_BACKLOG" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"> + <drop-down allow-empty="false"> + <option key="${uiLabelMap.CommonAny}" description=" "/> + <entity-options entity-name="StatusItem" description="${description}" key-field-name="statusId"> + <entity-constraint name="statusTypeId" value="CUSTREQ_STTS"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_PENDING"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_REJECTED"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_DRAFT"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_SUBMITTED"/> + <entity-order-by field-name="sequenceId"/> + </entity-options> + </drop-down> + </field> + <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> + <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + <form name="FindTotalBacklog" type="single" target="FindTotalBacklog"> + <actions> + <entity-condition entity-name="ScrumMemberUserLoginAndSecurityGroup" list="requesterList"> + <condition-list combine="or" > + <condition-expr field-name="groupId" value="SCRUM_MASTER"/> + <condition-expr field-name="groupId" value="SCRUM_PRODUCT_OWNER"/> + </condition-list> + </entity-condition> + </actions> + <field name="custRequestId" title="${uiLabelMap.ScrumProductBacklogId}"><text/></field> + <field name="productId" position="2"><text/></field> + <field name="description" title="${uiLabelMap.ScrumProductBacklogName}"><text/></field> + <field name="fromPartyId" title="${uiLabelMap.ScrumRequesterName}" position="2"> + <drop-down allow-empty="true"> + <option key=""/> + <list-options key-name="partyId" list-name="requesterList" description="${lastName} ${firstName} ${middleName}"/> + </drop-down> + </field> + <field name="parentCustRequestId" title="${uiLabelMap.ScrumBacklogItemCategory}"> + <drop-down allow-empty="true"> + <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> + <entity-constraint name="productId" value="${parameters.productId}"/> + <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + <entity-order-by field-name="custRequestName"/> + </entity-options> + </drop-down> + </field> + <field name="custRequestDate" title="${uiLabelMap.ScrumRequestDate}" position="2"> + <date-time type="date"/> + </field> + <field name="custRequestTypeId" title="${uiLabelMap.ScrumPlanned}"> + <drop-down allow-empty="false"> + <option key="${uiLabelMap.CommonAny}" description=" "/> + <option key="RF_PROD_BACKLOG" description="${uiLabelMap.CommonY}"/> + <option key="RF_UNPLAN_BACKLOG" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="billed" title="${uiLabelMap.ScrumBilled}" position="2"> + <drop-down allow-empty="true" current-description="" > + <option key="Y" description="${uiLabelMap.CommonY}"/> + <option key="N" description="${uiLabelMap.CommonN}"/> + </drop-down> + </field> + <field name="statusId" title="${uiLabelMap.CommonStatus}"> + <drop-down allow-empty="false"> + <option key="${uiLabelMap.CommonAny}" description=" "/> + <entity-options entity-name="StatusItem" description="${description}" key-field-name="statusId"> + <entity-constraint name="statusTypeId" value="CUSTREQ_STTS"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_PENDING"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_REJECTED"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_DRAFT"/> + <entity-constraint name="statusId" operator="not-equals" value="CRQ_SUBMITTED"/> + <entity-order-by field-name="sequenceId"/> + </entity-options> + </drop-down> + </field> + <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + + <form name="ListProdBacklog" type="multi" use-row-submit="true" list-name="custRequestAndCustRequestItems" target="updateProductBacklogItemRow?productId=${productId}&sequence=${sequence}&" paginate-target="AddProdBacklog" separate-columns="true" + odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate="true"> + <actions> + <set field="parentCustRequestId" from-field="parameters.parentCustRequestId" default-value=""/> + </actions> + <row-actions> + <entity-one entity-name="CustRequest" value-field="custRequest"/> + <set field="description" from-field="custRequest.description"/> + <set field="custRequestCategoryGroupId" from-field="parentCustRequestId"/> + <set field="estimatedHours" value="${groovy:estimatedMilliSeconds!=null?estimatedMilliSeconds/3600000:0;}"/> + <set field="showPosition1" value="${bsh:String prev=(String)previousItem.get("parentCustRequestId");return new Boolean(!(prev!=null&&prev.equals(parentCustRequestId)));}" type="Boolean"/> + </row-actions> + <field name="postWorkHours"><hidden value="1"/></field> + <field name="priority"><hidden/></field> + <field name="custRequestCategoryGroupId" position="1" use-when="${groovy:showPosition1==true}" title="${uiLabelMap.ScrumCategory}"> + <display-entity entity-name="CustRequest" key-field-name="custRequestId" description="${custRequestName}"/> + </field> + <!-- order button --> + <field name="top" position="2" title="${uiLabelMap.CommonEmptyHeader}"> + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-up-green.png"> + <parameter param-name="mode" value="TOP"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="orderBy" from-field="orderBy"/> + <parameter param-name="sequence" value="N"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="bot" position="2" title="${uiLabelMap.CommonEmptyHeader}"> + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-down-green.png"> + <parameter param-name="mode" value="BOT"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="orderBy" from-field="orderBy"/> + <parameter param-name="sequence" value="N"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="up" position="2" title="${uiLabelMap.CommonEmptyHeader}" > + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-up-green.png"> + <parameter param-name="mode" value="UP"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="orderBy" from-field="orderBy"/> + <parameter param-name="sequence" value="N"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="dwn" position="2" title="${uiLabelMap.CommonEmptyHeader}"> + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-down-green.png"> + <parameter param-name="mode" value="DWN"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="orderBy" from-field="orderBy"/> + <parameter param-name="sequence" value="N"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="sequenceNum" position="2" title="${uiLabelMap.ScrumSeq}"><display/></field> + <field name="custRequestId" position="2" title="${uiLabelMap.ScrumProductBacklogItem}"> + <hyperlink target="ViewProdBacklogItem" description="${description} [${custRequestId}]"> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + </hyperlink> + </field> + <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><text size="3"/></field> + <field name="parentCustRequestId" position="2" title="${uiLabelMap.ScrumCategory}"> + <drop-down allow-empty="true"> + <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> + <entity-constraint name="productId" env-name="productId"/> + <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + </entity-options> + </drop-down> + </field> + <field name="deleteFlag" position="2" title="${uiLabelMap.CommonDelete}"><check/></field> + <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> + </form> + <form name="ListProdBacklogForOwner" extends="ListProdBacklog"> + <field name="estimatedHours" position="2" title="${uiLabelMap.ScrumPlanedHours}"><display/></field> + <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> + </form> + <form name="ListProdBacklogBySeq" type="multi" use-row-submit="false" list-name="custRequestAndCustRequestItems" target="updateProductBacklogItemRow?productId=${productId}&sequence=${sequence}&backStatusId=CRQ_ACCEPTED" + paginate-target="AddProdBacklog" separate-columns="true" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate="true"> + <row-actions> + <entity-one entity-name="CustRequest" value-field="custRequest"/> + <set field="product" from-field="custRequest.description"/> + <set field="estimatedHours" value="${groovy:estimatedMilliSeconds!=null?estimatedMilliSeconds/3600000:0;}"/> + </row-actions> + <field name="sequence"><hidden value="Y"/></field> + <field name="custRequestCategoryGroupId"><hidden/></field> + <!-- order button --> + <field name="top" position="1" title="${uiLabelMap.CommonEmptyHeader}"> + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-up-green.png"> + <parameter param-name="mode" value="TOP"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="sequence" value="Y"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="bot" position="1" title="${uiLabelMap.CommonEmptyHeader}"> + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-end-down-green.png"> + <parameter param-name="mode" value="BOT"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="sequence" value="Y"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="up" position="1" title="${uiLabelMap.CommonEmptyHeader}" > + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-up-green.png"> + <parameter param-name="mode" value="UP"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="sequence" value="Y"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="dwn" position="1" title="${uiLabelMap.CommonEmptyHeader}"> + <hyperlink target="updateSprintBacklogseq" image-location="/images/arrow-single-down-green.png"> + <parameter param-name="mode" value="DWN"/> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + <parameter param-name="custRequestItemSeqId"/> + <parameter param-name="statusId" value="${parameters.statusId}"/> + <parameter param-name="sequence" value="Y"/> + <parameter param-name="VIEW_SIZE_1" from-field="viewSize"/> + <parameter param-name="VIEW_INDEX_1" from-field="viewIndex"/> + <parameter param-name="searchOption_custRequestId" value="${parameters.custRequestId}"/> + <parameter param-name="searchOption_custRequestId_op" value="${parameters.custRequestId_op}"/> + <parameter param-name="searchOption_custRequestId_ic" value="${parameters.custRequestId_ic}"/> + <parameter param-name="searchOption_description" value="${parameters.description}"/> + <parameter param-name="searchOption_description_op" value="${parameters.description_op}"/> + <parameter param-name="searchOption_description_ic" value="${parameters.description_ic}"/> + <parameter param-name="searchOption_parentCustRequestId" value="${parameters.parentCustRequestId}"/> + <parameter param-name="searchOption_statusId" value="${parameters.statusId}"/> + </hyperlink> + </field> + <field name="sequenceNum" position="1" title="${uiLabelMap.ScrumSeq}"><display/></field> + <field name="realSequenceNum"><hidden/></field> + <field name="custRequestId"><hidden/></field> + <field name="backlogId" position="1" title="${uiLabelMap.ScrumBacklogId}"> + <hyperlink target="ViewProdBacklogItem" description="${custRequestId}"> + <parameter param-name="custRequestId"/> + <parameter param-name="productId"/> + </hyperlink> + </field> + <field name="description" position="1" title="${uiLabelMap.ScrumProductBacklogItem}" widget-style="tabletext"> + <display description="${product}"> + <in-place-editor url="updateCustRequest" cancel-control="button" saving-text="Updating..." text-between-controls=" "> + <simple-editor/> + <field-map field-name="custRequestId" from-field="custRequestId"/> + </in-place-editor> + </display> + </field> + <field name="newSequenceNum" title="${uiLabelMap.ScrumNewSequence}"><text size="3"/></field> + <field name="estimatedHours" position="1" title="${uiLabelMap.ScrumPlanedHours}"><text size="3"/></field> + <field name="parentCustRequestId" position="1" title="${uiLabelMap.ScrumCategory}"> + <drop-down allow-empty="true"> + <entity-options description="${custRequestName}" entity-name="CustRequestAndCustRequestItem" key-field-name="custRequestId"> + <entity-constraint name="productId" env-name="productId"/> + <entity-constraint name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + </entity-options> + </drop-down> + </field> + <field name="setToReview" widget-style="buttontext" title="${uiLabelMap.ScrumMoveToUnplannedSprint}"><hidden/></field> + <field name="deleteFlag" position="1" title="${uiLabelMap.CommonDelete}" widget-style="buttontext"> + <hyperlink target="DeleteProductBacklogItem" description="${uiLabelMap.CommonDelete}"> + <parameter param-name="productId" from-field="parameters.productId"/> + <parameter param-name="custRequestId" from-field="custRequestId"/> + <parameter param-name="statusId" from-field="parameters.statusId"/> + </hyperlink> + </field> + <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> + </form> + <form name="ListProdBacklogBySeqForOwner" extends="ListProdBacklogBySeq"> + <field name="estimatedHours"><display/></field> + <field name="submitButton" widget-style="buttontext"><submit button-type="text-link"/></field> + </form> + <form name="projectList" type="list" target="main" odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="Sprints" list-name="sprints"> + <actions> + <set field="isCurrentProject" value="${groovy: request.setAttribute("isCurrentProject", false);}" type="Boolean"/> + <set field="currentProject" value="${groovy: request.setAttribute("currentProject", ' ');}" type="String"/> + </actions> + <row-actions> + <set field="isCurrentProject" value="${groovy: + if (request.getAttribute("currentProject") != context.projectId) + request.setAttribute("isCurrentProject", false); + else + request.setAttribute("isCurrentProject", true); + if (request.getAttribute("currentProject") != context.projectId) + request.setAttribute("currentProject", context.projectId); + return (boolean)request.getAttribute("isCurrentProject"); + }" + type="Boolean"/> + <set field="isCurrentCompany" value="${groovy: + if (request.getAttribute("currentCompany") != context.companyId) + request.setAttribute("isCurrentCompany", false); + else + request.setAttribute("isCurrentCompany", true); + if (request.getAttribute("currentCompany") != context.companyId) + request.setAttribute("currentCompany", context.companyId); + return (boolean)request.getAttribute("isCurrentCompany"); + }" + type="Boolean"/> + <set field="estimatedHrs" value="${sprintEstimatedMilliSeconds/1000/60/60/40}" type="Integer"/> + <entity-and entity-name="WorkEffortCustRequestView" list="custRequests"> + <field-map field-name="workEffortId" from-field="parameters.sprintId"/> + </entity-and> + <set field="nullField" type="String"/> + <service service-name="getScrumPlanHour" result-map="planHourOutMap"> + <field-map field-name="projectId" from-field="nullField"/> + <field-map field-name="sprintId" from-field="context.sprintId"/> + </service> + <set field="planHours" from-field="planHourOutMap.planHours"/> + + <service service-name="getScrumActualHour" result-map="resultActualHours" > + <field-map field-name="projectId" from-field="nullField"/> + <field-map field-name="sprintId" from-field="context.sprintId"/> + </service> + <set field="actualHours" from-field="resultActualHours.actualHours"/> + <set field="actualHoursNotBillYet" from-field="resultActualHours.actualHoursNotBillYet"/> + <service service-name="getScrumProject" result-map="result"> + <field-map field-name="projectId" from-field="projectId"/> + </service> + <set field="productId" value="${result.projectInfo.productId}"/> + <set field="productOwnerId" value="${result.projectInfo.productOwnerId}"/> + <set field="productOwnerName" value="${result.projectInfo.productOwnerName}"/> + <entity-one entity-name="Product" value-field="product"> + <field-map field-name="productId" from-field="productId"/> + </entity-one> + </row-actions> + <field name="companyId" title="${uiLabelMap.ScrumOwnerCompany}" position="1" use-when="!isCurrentCompany" widget-style="buttontext"> + <hyperlink target="viewprofile" description="${companyName} [${companyId}]"> + <parameter param-name="partyId" from-field="companyId"/> + </hyperlink> + </field> + <field name="projectName" title="${uiLabelMap.ScrumProject}" position="1" use-when="!isCurrentProject" widget-style="buttontext"> + <hyperlink target="viewScrumProject" description="${projectName} [${projectId}]"> [... 2012 lines stripped ...] |
| Free forum by Nabble | Edit this page |
