|
Added: ofbiz/trunk/specialpurpose/scrum/widget/scrumScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/scrum/widget/scrumScreens.xml?rev=1142915&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/scrum/widget/scrumScreens.xml (added) +++ ofbiz/trunk/specialpurpose/scrum/widget/scrumScreens.xml Tue Jul 5 08:15:32 2011 @@ -0,0 +1,2965 @@ +<?xml version="1.0" encoding="UTF-8"?> +<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd"> + + <screen name="Sprints"> + <section> + <actions> + <set field="titleProperty" value="PageTitleProjectAndSprintList"/> + <set field="headerItem" value="Sprints"/><!--this highlights the selected menu-item with name "Sprints" --> + <set field="partyId" from-field="userLogin.partyId"/> + <set field="permissionMap.projectId" from-field="parameters.projectId"/> + <set field="workEffortId" from-field="parameters.projectId"/> + <entity-one entity-name="WorkEffort" value-field="project"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/ListCurrentSprints.groovy"/> + </actions> + <widgets> + <decorator-screen name="scrumCommonDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="SPRINT"/> + </condition> + <widgets> + <container style="button-bar"> + <link text="${uiLabelMap.ScrumCreateProject}" target="editScrumProject" style="buttontext create"/> + </container> + </widgets> + </section> + <section> + <widgets> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="TASK"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumSprintList}"> + <include-form name="projectList" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumSprintList}"> + <include-form name="projectListWithNoLinkProfile" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </fail-widgets> + </section> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="AddSprint"> + <section> + <actions> + <set field="titleProperty" value="PageTitleAddSprint"/> + <set field="tabButtonItem" value="editProject"/> + <set field="sprintId" from-field="parameters.sprintId"/> + <entity-one value-field="projectWorkEffort" entity-name="WorkEffort"> + <field-map field-name="workEffortId" from-field="parameters.projectId"/> + </entity-one> + </actions> + <widgets> + <decorator-screen name="CommonProjectScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="CREATE" resource-description="SPRINT"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumCreateSprint}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="addSprint"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="addSprintBacklog"/> + </screenlet> + <screenlet title="${uiLabelMap.ScrumListOfSprintBacklog}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="sprintBacklogList"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet> + <label style="h3">You[${userLogin.partyId}] are have not permission to perform this action</label> + </screenlet> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="ViewSprint"> + <section> + <actions> + <set field="titleProperty" value="PageTitleSprintOverview"/> + <set field="tabButtonItem" value="SprintSummary"/> + <set field="permissionMap.sprintId" from-field="parameters.sprintId"/> + <entity-one value-field="sprintStatus" entity-name="WorkEffort"> + <field-map field-name="workEffortId" from-field="parameters.sprintId"/> + </entity-one> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/SprintBacklogListItems.groovy"/> + </actions> + <widgets> + <decorator-screen name="CommonSprintScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <or> + <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SPRINT"/> + <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="SCRUM"/> + </or> + </condition> + <widgets> + <section> + <actions> + <entity-one value-field="project" entity-name="WorkEffort"> + <field-map field-name="workEffortId" from-field="parameters.projectId"/> + </entity-one> + </actions> + <widgets> + <container style="lefthalf"> + <screenlet title="${uiLabelMap.ScrumSprintInformation}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="showSprintInfo"/> + </screenlet> + </container> + <container style="righthalf"> + <include-screen name="sprintMemberList"/> + </container> + <container style="clear"/> + <container style="body"> + <screenlet title="${uiLabelMap.ScrumBurnDownChart}" id="BDChart" collapsible="true" initially-collapsed="false"> + <platform-specific> + <html><html-template location="component://scrum/webapp/scrum/includes/burndown.ftl"/></html> + </platform-specific> + </screenlet> + </container> + <container style="clear"/> + <section> + <condition> + <if-compare operator="equals" value="SPJ_CLOSED" field="project.currentStatusId"/> + </condition> + <widgets> + <section> + <condition> + <and> + <if-compare operator="not-equals" value="SPRINT_CLOSED" field="sprintStatus.currentStatusId"/> + <or> + <if-compare operator="not-equals" value="Any" field="parameters.backlogStatusId"/> + </or> + </and> + </condition> + <widgets> + <screenlet id="sprintBacklogListItems" title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="AllBacklogItem" collapsible="true"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="AllBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewSprintBacklogListItemsNoAction"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet id="sprintBacklogListItemsOnFail" title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="notCompleteBacklogItem" collapsible="true"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="notCompleteBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewSprintBacklogListItemsNoAction"/> + </screenlet> + </fail-widgets> + </section> + </widgets> + <fail-widgets> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="SPRINT"/> + </condition> + <widgets> + <section> + <condition> + <and> + <if-compare operator="not-equals" value="SPRINT_CLOSED" field="sprintStatus.currentStatusId"/> + <or> + <if-compare operator="not-equals" value="Any" field="parameters.backlogStatusId"/> + </or> + </and> + </condition> + <widgets> + <screenlet id="sprintBacklogListItems" title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="AllBacklogItem" collapsible="true"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="AllBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="sprintBacklogListItems"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet id="sprintBacklogListItemsOnFail" title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="notCompleteBacklogItem" collapsible="true"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="notCompleteBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="sprintBacklogListItems"/> + </screenlet> + </fail-widgets> + </section> + + </widgets> + <fail-widgets> + <screenlet> + <section> + <condition> + <if-has-permission permission="SCRUM_TASK" action="_CREATE"/> + </condition> + <widgets> + <section> + <actions> + <set field="isScrumTeam" value="true" type="Boolean"/> + </actions> + <widgets> + <section> + <condition> + <and> + <if-compare operator="not-equals" value="SPRINT_CLOSED" field="sprintStatus.currentStatusId"/> + <or> + <if-compare operator="not-equals" value="Any" field="parameters.backlogStatusId"/> + </or> + </and> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="AllBacklogItem"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="AllBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="sprintBacklogListItemsHideDelete"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="notCompleteBacklogItem"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="notCompleteBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="sprintBacklogListItemsHideDelete"/> + </screenlet> + </fail-widgets> + </section> + </widgets> + </section> + </widgets> + <fail-widgets> + <section> + <actions> + <set field="isScrumTeam" value="false" type="Boolean"/> + </actions> + <widgets> + <section> + <condition> + <and> + <if-compare operator="not-equals" value="SPRINT_CLOSED" field="sprintStatus.currentStatusId"/> + <or> + <if-compare operator="not-equals" value="Any" field="parameters.backlogStatusId"/> + </or> + </and> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="AllBacklogItem"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="AllBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewSprintBacklogListItemsNoAction"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumSprintBacklogList}" navigation-menu-name="notCompleteBacklogItem"> + <include-menu location="component://scrum/widget/scrumMenus.xml" name="notCompleteBacklogItem"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewSprintBacklogListItemsNoAction"/> + </screenlet> + </fail-widgets> + </section> + </widgets> + </section> + </fail-widgets> + </section> + </screenlet> + </fail-widgets> + </section> + </fail-widgets> + </section> + </widgets> + </section> + </widgets> + <fail-widgets> + <container style="button-bar"> + <link target="SprintList" text="Back" style="buttontext"> + <parameter param-name="projectId" from-field="parameters.projectId"/> + </link> + </container> + <screenlet> + <label style="h3">You[${userLogin.partyId}] are have not permission to perform this action</label> + </screenlet> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="EditSprint"> + <section> + <actions> + <set field="titleProperty" value="PageTitleEditSprint"/> + <set field="tabButtonItem" value="EditSprint"/> + <set field="sprintId" from-field="parameters.sprintId"/> + </actions> + <widgets> + <decorator-screen name="CommonSprintScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="SPRINT"/> + </condition> + <widgets> + <section> + <widgets> + <screenlet title="${uiLabelMap.ScrumEditSprintInformation}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="EditSprint"/> + </screenlet> + </widgets> + </section> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="AddSprintBacklog"> + <section> + <actions> + <set field="titleProperty" value="PageTitleAddSprintBacklog"/> + <entity-one entity-name="WorkEffort" value-field="sprintInfo"> + <field-map field-name="workEffortId" from-field="parameters.sprintId"></field-map> + </entity-one> + </actions> + <widgets> + <decorator-screen name="CommonSprintScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="SPRINT"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumAddSprintBacklog}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="addSprintBacklog"/> + <include-form location="component://scrum/widget/scrumForms.xml" name="sprintBacklogList"/> + </screenlet> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="editScrumProject"> + <section> + <actions> + <set field="titleProperty" value="PageTitleEditScrumProject"/> + <set field="headerItem" value="main"/> + <set field="tabButtonItem" value="editProject"/> + <set field="workEffortId" from-field="parameters.projectId"/> + <entity-and entity-name="WorkEffortAndProduct" list="workEffortList"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <set field="workEffort" from-field="workEffortList[0]"/> + <entity-one entity-name="StatusItem" value-field="currentStatus"> + <field-map field-name="statusId" from-field="workEffort.currentStatusId"/> + </entity-one> + <entity-and entity-name="ProductAndRole" list="productAndRoleList"> + <field-map field-name="productId" from-field="workEffort.productId"/> + <field-map field-name="statusId" value="PRODUCT_ACTIVE"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER_COMP"/> + </entity-and> + <set field="productAndRoleMap" from-field="productAndRoleList[0]"/> + </actions> + <widgets> + <decorator-screen name="CommonProjectScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <widgets> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="PROJECT"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumEditProject}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="editScrumProject"/> + </screenlet> + </widgets> + </section> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="viewScrumProject"> + <section> + <actions> + <set field="titleProperty" value="PageTitleScrumProjectOverview"/> + <set field="tabButtonItem" value="projectSummary"/> + <set field="workEffortId" from-field="parameters.projectId"/> + <set field="permissionMap.projectId" from-field="parameters.projectId"/> + <entity-and entity-name="WorkEffortAndProduct" list="projectList"> + <field-map field-name="workEffortId" from-field="workEffortId"/> + </entity-and> + <set field="project" from-field="projectList[0]"/> + </actions> + <widgets> + <decorator-screen name="CommonProjectScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <container style="lefthalf"> + <screenlet name="ScrumProject" title="${uiLabelMap.ScrumProject} : ${project.workEffortName}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="ScrumProject"/> + </screenlet> + <include-screen name="sprintListInfo"/> + </container> + <container style="righthalf"> + <include-screen name="ListProjectContent"/> + </container> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="sprintListInfo"> + <section> + <widgets> + <screenlet title="${uiLabelMap.ScrumSprintList}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="SprintListInfo"/> + </screenlet> + </widgets> + </section> + </screen> + + <screen name="productInfoList"> + <section> + <widgets> + <screenlet name="projectMemberList" title="Product Information"> + <include-form location="component://scrum/widget/scrumForms.xml" name="ProductListInfo"/> + </screenlet> + </widgets> + </section> + </screen> + + <screen name="tasksInfoList"> + <section> + <actions> + <entity-and list="tasksList" entity-name="ScrumProjectSprintBacklogAndTask"> + <field-map field-name="projectId" from-field="parameters.projectId"/> + <field-map field-name="workEffortTypeId" value="TASK"/> + </entity-and> + </actions> + <widgets> + <screenlet name="tasksListInfo" title="Tasks"> + <screenlet name="taskListErrot" title="Error Tasks List"> + <include-form location="component://scrum/widget/scrumForms.xml" name="TasksListInfoError"/> + </screenlet> + <screenlet name="taskListTest" title="Test Tasks List"> + <include-form location="component://scrum/widget/scrumForms.xml" name="TasksListInfoTest"/> + </screenlet> + <screenlet name="taskListCoding" title="Coding Tasks List"> + <include-form location="component://scrum/widget/scrumForms.xml" name="TasksListInfoCoding"/> + </screenlet> + </screenlet> + </widgets> + </section> + </screen> + + <screen name="AddProdBacklog"> + <section> + <actions> + <set field="titleProperty" value="PageTitleProductBacklog"/> + <set field="tabButtonItem" value="editProductBacklog"/> + <set field="productId" from-field="parameters.productId"/> + <entity-one value-field="product" entity-name="Product"> + <field-map field-name="productId"/> + </entity-one> + <entity-one entity-name="CustRequest" value-field="custRequest"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <set field="parameters.statusId" value="CRQ_ACCEPTED"/> + <set field="description" from-field="parameters.description"/> + <set field="sequence" from-field="parameters.sequence" default-value="Y"/> + <set field="UnplannedSequence" from-field="parameters.UnplannedSequence" default-value="Y"/> + <set field="backlogListTarget" value="AddProdBacklog"/> + <set field="viewIndex" from-field="parameters.VIEW_INDEX_1" type="Integer"/> + <script location="component://scrum/webapp/scrum/WEB-INF/actions/AddProductBacklogItem.groovy"/> + <entity-and list="checkOwnerList" entity-name="ProductAndRole"> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> + <field-map field-name="productId" from-field="productId"/> + <field-map field-name="partyId" from-field="userLogin.partyId"/> + </entity-and> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="BACKLOG"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumAddNewProductBacklogItem}" collapsible="true" id="NewBack" initially-collapsed="true"> + <include-form location="component://scrum/widget/scrumForms.xml" name="EditProdBacklog"/> + </screenlet> + </widgets> + </section> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="DELETE" resource-description="BACKLOG"/> + </condition> + <widgets> + <section> + <condition> + <not><if-empty field="unplanBacklogItems"/></not> + </condition> + <widgets> + <container> + <section> + <condition> + <if-compare field="UnplannedSequence" operator="equals" value="Y"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumUnplannedBacklogItemList}" navigation-menu-name="UnplannedBacklogListOption" id="productBacklogItemList" collapsible="true" initially-collapsed="true"> + <include-menu name="UnplannedBacklogListOption" location="component://scrum/widget/scrumMenus.xml"/> + <section> + <condition> + <not><if-empty field="checkOwnerList"/></not> + </condition> + <widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="unplannedBacklogListForOwner" /> + </widgets> + <fail-widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="unplannedBacklogList" /> + </fail-widgets> + </section> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumUnplannedBacklogItemList}" navigation-menu-name="UnplannedBacklogListOption" id="productBacklogItemList" collapsible="true" initially-collapsed="true"> + <include-menu name="UnplannedBacklogListOption" location="component://scrum/widget/scrumMenus.xml"/> + <section> + <condition> + <not><if-empty field="checkOwnerList"/></not> + </condition> + <widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="unplannedBacklogListByCategoriesForOwner"/> + </widgets> + <fail-widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="unplannedBacklogListByCategories"/> + </fail-widgets> + </section> + </screenlet> + </fail-widgets> + </section> + </container> + </widgets> + </section> + <container> + <section> + <condition> + <if-compare field="sequence" operator="equals" value="Y"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemList}" navigation-menu-name="BacklogListOption" id="productBacklogItemList"> + <include-menu name="BacklogListOption" location="component://scrum/widget/scrumMenus.xml"/> + <section> + <condition> + <not><if-empty field="checkOwnerList"/></not> + </condition> + <widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListProdBacklogBySeqForOwner"/> + </widgets> + <fail-widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListProdBacklogBySeq"/> + </fail-widgets> + </section> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemList}" navigation-menu-name="BacklogListOption" id="productBacklogItemList"> + <include-menu name="BacklogListOption" location="component://scrum/widget/scrumMenus.xml"/> + <section> + <condition> + <not><if-empty field="checkOwnerList"/></not> + </condition> + <widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListProdBacklogForOwner"/> + </widgets> + <fail-widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListProdBacklog"/> + </fail-widgets> + </section> + </screenlet> + </fail-widgets> + </section> + </container> + </widgets> + <fail-widgets> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="DELETE" resource-description="BACKLOG"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemList}" navigation-menu-name="BacklogListOption" id="productBacklogItemList"> + <include-menu name="BacklogListOption" location="component://scrum/widget/scrumMenus.xml"/> + <section> + <condition> + <if-compare field="sequence" operator="equals" value="Y"/> + </condition> + <widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListProdBacklogBySeq"/> + </widgets> + <fail-widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListProdBacklog"/> + </fail-widgets> + </section> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemList}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewListProdBacklog"/> + </screenlet> + </fail-widgets> + </section> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="DeleteProductBacklogItem"> + <section> + <actions> + <set field="tabButtonItem" value="editProductBacklog"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <entity-one value-field="custRequestMap" entity-name="CustRequest"/> + <entity-and entity-name="CustRequestAndCustRequestItem" list="categoryList"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + <field-map field-name="custRequestId" from-field="custRequestMap.parentCustRequestId"/> + </entity-and> + <set field="productId" from-field="parameters.productId"/> + <entity-one entity-name="Product" value-field="productMap"/> + <entity-condition entity-name="ProductBacklog" list="productBacklogs"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_SPRINT"/> + </condition-list> + </entity-condition> + <set field="sprintId" from-field="productBacklogs[0].workEffortId"/> + <entity-one entity-name="WorkEffort" value-field="workEffort"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-one> + <set field="sprintName" from-field="workEffort.workEffortName"/> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <screenlet title="${uiLabelMap.ScrumDeleteBacklogItem}"> + <include-form name="DeleteProductBacklogItem" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemInfo}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewEditProdBacklog"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="ViewProdBacklogItem"> + <section> + <actions> + <set field="titleProperty" value="PageTitleProductBacklogItemsOverview"/> + <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/> + <set field="tabButtonItem" value="view"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <entity-and list="custRequestItemList" entity-name="CustRequestItem"> + <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> + </entity-and> + <entity-one value-field="custRequest" entity-name="CustRequest"/> + <set field="parameters.productId" from-field="custRequestItemList[0].productId"/> + <entity-one entity-name="Product" value-field="productMap"> + <field-map field-name="productId" from-field="parameters.productId"/> + </entity-one> + <entity-and entity-name="CustRequestAndContent" list="custRequestAndContents"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + <field-map field-name="thruDate" value=""></field-map> + </entity-and> + <entity-and entity-name="CustRequestAndCustRequestItem" list="categoryList"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + <field-map field-name="custRequestId" from-field="custRequest.parentCustRequestId"/> + </entity-and> + <set field="update.productId" from-field="custRequestItemList[0].productId"/> + <set field="update.custRequestId" from-field="parameters.custRequestId"/> + <entity-condition list="commEvents" entity-name="CommunicationEventAndCustRequest"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" operator="equals" from-field="parameters.custRequestId"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_CANCELLED"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_DRAFT"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_ENTERED"/> + <condition-list combine="or"> + <condition-expr field-name="communicationEventTypeId" operator="equals" value="EMAIL_COMMUNICATION"/> + <condition-expr field-name="communicationEventTypeId" operator="equals" value="AUTO_EMAIL_COMM"/> + </condition-list> + </condition-list> + <order-by field-name="-entryDate"/> + </entity-condition> + <entity-and entity-name="ProductRole" list="productRole"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> + </entity-and> + <set field="productOwnerId" value="${productRole[0].partyId}"/> + <entity-one value-field="parentCom" entity-name="CommunicationEvent"> + <field-map field-name="communicationEventId" from-field="parameters.parentCommEventId"/> + </entity-one> + <entity-one value-field="custStatus" entity-name="CustRequest"> + <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> + </entity-one> + <entity-condition entity-name="ProductBacklog" list="productBacklogs"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_SPRINT"/> + </condition-list> + </entity-condition> + <set field="sprintId" from-field="productBacklogs[0].workEffortId" default-value="${parameters.sprintId}"/> + <set field="statusId" from-field="productBacklogs[0].statusId"/> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductBacklogItemDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <actions> + + <entity-one entity-name="WorkEffort" value-field="workEffort"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-one> + <set field="sprintName" from-field="workEffort.workEffortName"/> + <entity-condition entity-name="WorkEffortPartyAssignment" list="sprintMembers"> + <condition-list combine="and"> + <condition-expr field-name="workEffortId" from-field="sprintId"/> + <condition-expr field-name="partyId" from-field="userLogin.partyId"/> + <condition-expr field-name="roleTypeId" operator="equals" value="SCRUM_TEAM"/> + </condition-list> + </entity-condition> + <set field="sprintMember" from-field="sprintMembers[0]"/> + <set field="isTeamMember" value="false" type="Boolean"/> + </actions> + <widgets> + <container style="lefthalf"> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemInfo}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewEditProdBacklog"/> + </screenlet> + <screenlet title="${uiLabelMap.ScrumRevisions}" name="RevisionsList"> + <section> + <actions> + <entity-condition list="plannedTasks" entity-name="ProjectSprintBacklogAndTask"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-expr field-name="sprintTypeId" value="SCRUM_SPRINT"/> + <condition-list combine="or"> + <condition-expr field-name="taskTypeId" value="SCRUM_TASK_ERROR"/> + <condition-expr field-name="taskTypeId" value="SCRUM_TASK_TEST"/> + <condition-expr field-name="taskTypeId" value="SCRUM_TASK_IMPL"/> + <condition-expr field-name="taskTypeId" value="SCRUM_TASK_INST"/> + </condition-list> + </condition-list> + <select-field field-name="taskId"/> + </entity-condition> + <set field="taskIds" type="List" value="${groovy:return org.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(plannedTasks, "taskId", true)}"/> + <entity-condition list="unplannedTasks" entity-name="UnPlannedBacklogsAndTasks"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-list combine="or"> + <condition-expr field-name="workEffortTypeId" value="SCRUM_TASK_ERROR"/> + <condition-expr field-name="workEffortTypeId" value="SCRUM_TASK_TEST"/> + <condition-expr field-name="workEffortTypeId" value="SCRUM_TASK_IMPL"/> + <condition-expr field-name="workEffortTypeId" value="SCRUM_TASK_INST"/> + </condition-list> + </condition-list> + <select-field field-name="workEffortId"/> + </entity-condition> + <set field="workEffortIds" type="List" value="${groovy:return org.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(unplannedTasks, "workEffortId", true)}"/> + <entity-condition list="listIt" entity-name="WorkEffortAndContentDataResource"> + <condition-list combine="and"> + <condition-expr field-name="workEffortContentTypeId" value="TASK_SUB_INFO"/> + <condition-list combine="or"> + <condition-expr field-name="workEffortId" operator="in" from-field="taskIds" ignore-if-null="true"/> + <condition-expr field-name="workEffortId" operator="in" from-field="workEffortIds" ignore-if-null="true"/> + </condition-list> + </condition-list> + <order-by field-name="fromDate"/> + </entity-condition> + </actions> + <widgets> + <include-form name="ListBacklogRevisions" location="component://scrum/widget/scrumForms.xml"/> + </widgets> + </section> + </screenlet> + </container> + <container style="righthalf"> + <screenlet title="${uiLabelMap.ScrumBacklogItemStatusList}" navigation-form-name="ViewRequest"> + <include-form name="ViewBacklogStatus" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <section> + <condition> + <if-empty field="sprintId"/> + </condition> + <widgets> + <screenlet title="${uiLabelMap.ScrumTasks}"> + <include-form name="taskRelateBacklog" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumTasks}" navigation-menu-name="NewTask" > + <include-form name="taskRelateBacklog" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </fail-widgets> + </section> + <screenlet title="${uiLabelMap.CommonEmail}" name="Emails"> + <include-form name="ViewRequestCommunicationEvents" location="component://scrum/widget/CommunicationEventForms.xml" /> + </screenlet> + <screenlet title="${uiLabelMap.ScrumBacklogItemContentList}"> + <include-form name="ViewListCustRequestContent" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <include-screen name="BacklogNoteInfo"/> + </container> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="EditProdBacklog"> + <section> + <actions> + <set field="titleProperty" value="PageTitleEditProductBacklogItems"/> + <set field="tabButtonItem" value="editProductBacklogItem"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <entity-and list="custRequestItem" entity-name="CustRequestItem"> + <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> + </entity-and> + <entity-one value-field="custRequest" entity-name="CustRequest"/> + <set field="custRequestItemSeqId" from-field="parameters.custRequestItemSeqId"/> + <set field="productId" from-field="custRequestItem[0].productId"/> + <set field="update.productId" from-field="custRequestItem[0].productId"/> + <set field="update.custRequestId" from-field="parameters.custRequestId"/> + <entity-condition list="commEvents" entity-name="CommunicationEventAndCustRequest"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" operator="equals" from-field="parameters.custRequestId"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_CANCELLED"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_DRAFT"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_ENTERED"/> + </condition-list> + <order-by field-name="-entryDate"/> + </entity-condition> + <entity-and entity-name="ProductRole" list="productRole"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> + </entity-and> + <set field="productOwnerId" value="${productRole[0].partyId}"/> + <entity-one value-field="parentCom" entity-name="CommunicationEvent"> + <field-map field-name="communicationEventId" from-field="parameters.parentCommEventId"/> + </entity-one> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductBacklogItemDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <and> + <if-compare operator="equals" value="CRQ_ACCEPTED" field="custRequest.statusId"/> + <if-service-permission service-name="scrumPermissionCheck" main-action="VIEW" resource-description="BACKLOG"/> + </and> + </condition> + <actions> + <entity-condition entity-name="ProductBacklog" list="productBacklogs"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_SPRINT"/> + </condition-list> + </entity-condition> + <set field="sprintId" from-field="productBacklogs[0].workEffortId"/> + <entity-condition entity-name="WorkEffortPartyAssignment" list="sprintMembers"> + <condition-list combine="and"> + <condition-expr field-name="workEffortId" from-field="sprintId"/> + <condition-expr field-name="partyId" from-field="userLogin.partyId"/> + <condition-expr field-name="roleTypeId" operator="equals" value="SCRUM_TEAM"/> + </condition-list> + </entity-condition> + <set field="sprintMember" from-field="sprintMembers[0]"/> + <set field="isTeamMember" value="false" type="Boolean"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.ScrumUpdateProductBacklog}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="EditProdBacklog"/> + </screenlet> + </widgets> + <fail-widgets> + <!-- Member section--> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="BACKLOG"/> + </condition> + <widgets> + <section> + <condition> + <if-has-permission permission="SCRUM" action="_ADMIN"/> + </condition> + <actions> + <set field="isTeamMember" type="Boolean" value="false"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.ScrumUpdateProductBacklog}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="EditProdBacklog"/> + </screenlet> + </widgets> + <fail-widgets> + <section> + <actions> + <set field="isTeamMember" type="Boolean" value="true"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.ScrumUpdateProductBacklog}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="EditProdBacklog"/> + </screenlet> + </widgets> + </section> + </fail-widgets> + </section> + </widgets> + <fail-widgets> + <include-screen name="ViewEditProdBacklog"/> + </fail-widgets> + </section> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="ProdBacklogNote"> + <section> + <actions> + <set field="titleProperty" value="CommonNotes"/> + <set field="tabButtonItem" value="productBacklogItemNote"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <set field="productId" from-field="parameters.productId"/> + <entity-and list="custNoteList" entity-name="CustRequestNote"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + <order-by field-name="-noteId"/> + </entity-and> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductBacklogItemDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <screenlet id="addProdBacklogNote" title="${uiLabelMap.PageTitleNewBacklogItemNote}" collapsible="true"> + <include-form name="AddProdBacklogNote" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <screenlet id="listProdBacklogNote" title="${uiLabelMap.PageTitleBacklogItemNoteList}" collapsible="true"> + <include-form name="ListProdBacklogNote" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="BacklogNoteInfo"> + <section> + <actions> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <set field="productId" from-field="parameters.productId"/> + <entity-and list="noteDataList" entity-name="NoteData"> + <field-map field-name="noteName" value="How to test"/> + </entity-and> + <set field="noteIds" value="${groovy:org.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(noteDataList, 'noteId', true);}" type="List"/> + <entity-condition list="custNoteList" entity-name="CustRequestNote" > + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="custRequestId"/> + <condition-expr field-name="noteId" operator="not-in" from-field="noteIds" ignore-if-empty="true"/> + </condition-list> + <order-by field-name="-noteId"/> + <limit-range start="0" size="5"/> + </entity-condition> + </actions> + <widgets> + <screenlet id="listProdBacklogNote" title="${uiLabelMap.PageTitleBacklogItemNoteList}"> + <include-form name="ListProdBacklogNoteInfo" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </widgets> + </section> + </screen> + <screen name="EditBacklogItemContent"> + <section> + <actions> + <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/> + <set field="titleProperty" value="PageTitleProductBacklogItemsContents"/> + <set field="tabButtonItem" value="productBacklogItemContent"/> + <set field="headerItem" value="request"/> + <set field="contentId" from-field="parameters.contentId"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <set field="productId" from-field="parameters.productId"/> + <entity-and entity-name="CustRequestAndContent" list="custRequestAndContents"> + <field-map field-name="custRequestId" from-field="custRequestId"/> + <field-map field-name="thruDate" value=""></field-map> + </entity-and> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductBacklogItemDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <or> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="PROJECT"/> + <if-service-permission service-name="projectUpdateMemberPermission" context-map="permissionMap"/> + </or> + </condition> + <widgets> + <screenlet id="listCustRequestContent" title="${uiLabelMap.ScrumBacklogItemContentList}" collapsible="true"> + <include-form name="ListCustRequestContent" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <screenlet id="addCustRequestContent" title="${uiLabelMap.ScrumBacklogItemAddProductContent}" collapsible="true"> + <include-form name="AddCustRequestContent" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </widgets> + <fail-widgets> + <screenlet title="${uiLabelMap.ScrumBacklogItemContentList}"> + <include-form name="ViewListCustRequestContent" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </fail-widgets> + + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="ProductBacklogEmails"> + <section> + <actions> + <set field="titleProperty" value="PageTitleProductBacklogItemsCommunication"/> + <set field="tabButtonItem" value="productBacklogItemComm"/> + <entity-and list="custRequestItem" entity-name="CustRequestItem"> + <field-map field-name="custRequestId" from-field="parameters.custRequestId"/> + </entity-and> + <entity-one value-field="custRequest" entity-name="CustRequest"/> + <entity-condition list="commEvents" entity-name="CommunicationEventAndCustRequest"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" operator="equals" from-field="parameters.custRequestId"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_CANCELLED"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_DRAFT"/> + <condition-expr field-name="statusId" operator="not-equals" value="COM_ENTERED"/> + <condition-list combine="or"> + <condition-expr field-name="communicationEventTypeId" operator="equals" value="EMAIL_COMMUNICATION"/> + <condition-expr field-name="communicationEventTypeId" operator="equals" value="AUTO_EMAIL_COMM"/> + </condition-list> + </condition-list> + <order-by field-name="-entryDate"/> + </entity-condition> + <entity-and entity-name="ProductRole" list="productRole"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="roleTypeId" value="PRODUCT_OWNER"/> + </entity-and> + <set field="productOwnerId" value="${productRole[0].partyId}"/> + <entity-one value-field="parentCom" entity-name="CommunicationEvent"> + <field-map field-name="communicationEventId" from-field="parameters.parentCommEventId"/> + </entity-one> + </actions> + <widgets> + <decorator-screen name="CommonScrumBacklogItemCommDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="BACKLOG"/> + </condition> + <actions> + <entity-condition entity-name="ProductBacklog" list="productBacklogs"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_SPRINT"/> + </condition-list> + </entity-condition> + <set field="sprintId" from-field="productBacklogs[0].workEffortId"/> + <entity-condition entity-name="WorkEffortPartyAssignment" list="sprintMembers"> + <condition-list combine="and"> + <condition-expr field-name="workEffortId" from-field="sprintId"/> + <condition-expr field-name="partyId" from-field="userLogin.partyId"/> + <condition-expr field-name="roleTypeId" operator="equals" value="SCRUM_TEAM"/> + </condition-list> + </entity-condition> + <set field="sprintMember" from-field="sprintMembers[0]"/> + <set field="isTeamMember" value="false" type="Boolean"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.ScrumProductBacklogEmail}"> + <include-form name="ViewRequestCommunicationEvents" location="component://scrum/widget/CommunicationEventForms.xml" /> + </screenlet> + </widgets> + <fail-widgets> + <!-- Member section --> + <section> + <condition> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="BACKLOG"/> + </condition> + <actions> + <set field="isTeamMember" type="Boolean" value="true"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.CommonEmails}"> + <include-form name="ViewRequestCommunicationEvents" location="component://scrum/widget/CommunicationEventForms.xml" /> + </screenlet> + </widgets> + <fail-widgets> + <include-screen name="ViewEditProdBacklog"/> + </fail-widgets> + </section> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="NewBacklogTask"> + <section> + <actions> + <set field="custRequestId" from-field="parameters.custRequestId"/> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductBacklogItemDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <screenlet title="${uiLabelMap.ScrumCreateTaskforProductBacklog}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="NewBacklogTask"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="EditDeleteBacklogItem"> + <section> + <actions> + <set field="tabButtonItem" value="view"/> + <set field="custRequestId" from-field="parameters.custRequestId"/> + <entity-one value-field="custRequestMap" entity-name="CustRequest"/> + <entity-and entity-name="CustRequestAndCustRequestItem" list="categoryList"> + <field-map field-name="productId" from-field="parameters.productId"/> + <field-map field-name="custRequestTypeId" value="RF_PARENT_BACKLOG"/> + <field-map field-name="custRequestId" from-field="custRequestMap.parentCustRequestId"/> + </entity-and> + <set field="productId" from-field="parameters.productId"/> + <entity-one entity-name="Product" value-field="productMap"/> + <entity-condition entity-name="ProductBacklog" list="productBacklogs"> + <condition-list combine="and"> + <condition-expr field-name="custRequestId" from-field="parameters.custRequestId"/> + <condition-expr field-name="workEffortTypeId" operator="equals" value="SCRUM_SPRINT"/> + </condition-list> + </entity-condition> + <set field="sprintId" from-field="productBacklogs[0].workEffortId"/> + <entity-one entity-name="WorkEffort" value-field="workEffort"> + <field-map field-name="workEffortId" from-field="sprintId"/> + </entity-one> + <set field="sprintName" from-field="workEffort.workEffortName"/> + </actions> + <widgets> + <decorator-screen name="CommonScrumProductBacklogItemDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <screenlet title="${uiLabelMap.ScrumDeleteBacklogItem}"> + <include-form name="EditDeleteBacklogItem" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <screenlet title="${uiLabelMap.ScrumProductBacklogItemInfo}"> + <include-form location="component://scrum/widget/scrumForms.xml" name="ViewEditProdBacklog"/> + </screenlet> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="EditProjectContents"> + <section> + <actions> + <set field="titleProperty" value="PageTitleScrumProjectContents"/> + <set field="tabButtonItem" value="projectContent"/> + <set field="headerItem" value="EditProjectContents"/> + <set field="contentId" from-field="parameters.contentId"/> + <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/> + <set field="workEffortId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/> + <entity-and entity-name="WorkEffortAndContentDataResource" list="workEffortAndContentDataResources"> + <field-map field-name="workEffortId" from-field="projectId"/> + </entity-and> + <set field="permissionMap.projectId" from-field="projectId"/> + </actions> + <widgets> + <decorator-screen name="CommonProjectScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <or> + <if-service-permission service-name="scrumPermissionCheck" main-action="UPDATE" resource-description="PROJECT"/> + <if-service-permission service-name="projectUpdateMemberPermission" context-map="permissionMap"/> + </or> + </condition> + <widgets> + <screenlet id="listContents" title="${uiLabelMap.ScrumContentList}" collapsible="true"> + <include-form name="ListContents" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + <screenlet id="uploadWorkEffortContent" title="${uiLabelMap.PageTitleAddProjectContent}" collapsible="true"> + <include-form name="UploadWorkEffortContent" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </widgets> + <fail-widgets> + <include-screen name="ListProjectContent"/> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="ListProjectContent"> + <section> + <actions> + <property-map resource="ContentUiLabels" map-name="uiLabelMap"/> + <set field="workEffortId" from-field="parameters.projectId"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.ScrumContentList}"> + <include-form name="ListProjectContent" location="component://scrum/widget/scrumForms.xml"/> + </screenlet> + </widgets> + </section> + </screen> + + <screen name="DailyScrumMeetingMinute"> + <section> + <actions> + <set field="titleProperty" value="PageTitleDailyMeetingMinutes"/> + <set field="tabButtonItem" value="DailySprintMeetingMinute"/> + <set field="workEffortId" from-field="parameters.projectId"/> + <set field="sprintId" from-field="parameters.sprintId"/> + <entity-one entity-name="WorkEffort" value-field="project"/> + <entity-one value-field="custRequest" entity-name="CustRequest"/> + </actions> + <widgets> + <decorator-screen name="CommonSprintScreenDecorator" location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <section> + <condition> + <or> + <if-has-permission permission="SCRUM_DAILY" action="_UPDATE"/> + <if-has-permission permission="SCRUM" action="_ADMIN"/> + </or> + </condition> + <widgets> + <screenlet name="DailyScrumMeetingMinute" title="${uiLabelMap.ScrumAddDailyMeetingMinutes} : ${parameters.projectId}" collapsible="true"> + <include-form location="component://scrum/widget/scrumForms.xml" name="DailyMeetingMinute"/> + </screenlet> + <screenlet title="${uiLabelMap.ScrumListUpdateDailyMeetingMinutes}"> + <include-screen name="ListDailyMeetingMinutes"/> + </screenlet> + </widgets> + <fail-widgets> + <section> + <widgets> + <screenlet title="${uiLabelMap.ScrumListUpdateDailyMeetingMinutes}"> + <include-screen name="ListDailyMeetingMinutes"/> + </screenlet> + </widgets> + </section> + </fail-widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="ListDailyMeetingMinutes"> + <section> + <actions> + <set field="tabButtonItem" value="SprintList"/> + <set field="workEffortId" from-field="parameters.projectId"/> + <entity-one entity-name="WorkEffort" value-field="project"/> + <entity-one value-field="custRequest" entity-name="CustRequest"/> + </actions> + <widgets> + <include-form location="component://scrum/widget/scrumForms.xml" name="ListDailyMeetingMinute"/> + </widgets> + </section> + </screen> + + <screen name="ViewDailyMeetingMinutes"> + <section> + <actions> + <set field="tabButtonItem" value="SprintList"/> + <set field="workEffortId" from-field="parameters.projectId"/> + <entity-one entity-name="WorkEffort" value-field="project"/> [... 1667 lines stripped ...] |
| Free forum by Nabble | Edit this page |
