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

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

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <screen name="openTest">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleOpenTest"/>
            </actions>
            <widgets>
                 <decorator-screen name="CommonOpenTestScreenDecorator" location="${parameters.mainDecoratorLocation}">
                        <decorator-section name="body">
                             <include-screen name="findBacklog"/>
                             <include-screen name="listTask"/>
                        </decorator-section>
                 </decorator-screen>
            </widgets>
        </section>
    </screen>
     <screen name="defaultTasks">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleDefaultTasks"/>
                <set field="tabButtonItem" value="defaultTasks"/>
                <entity-one entity-name="Product" value-field="product"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonScrumProductDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                        <widgets>
                              <screenlet title="${uiLabelMap.ScrumDefaultTasksList}">
                                    <include-form name="DefaultTaskList" location="component://scrum/widget/OpenTestForms.xml"/>
                              </screenlet>
                        </widgets>
                         </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
     </screen>
     <screen name="editDefaultTask">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditDefaultTasks"/>
                <set field="tabButtonItem" value="defaultTasks"/>
                <set field="workEffortId" from-field="parameters.workEffortId"/>
                <entity-one entity-name="Product" value-field="product"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonScrumProductDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                        <widgets>
                            <screenlet title="${uiLabelMap.ScrumEditDefaultTask}  ${workEffortId}">
                                <include-form name="EditDefaultTask" location="component://scrum/widget/OpenTestForms.xml"/>
                            </screenlet>
                        </widgets>
                         </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
     </screen>
     <screen name="findBacklog">
         <section>
             <actions>
             </actions>
             <widgets>
                 <screenlet id="findBacklog" title="${uiLabelMap.PageTitleFindBacklog}" collapsible="true">
                     <include-form name="FindBacklog" location="component://scrum/widget/OpenTestForms.xml"/>
                 </screenlet>
             </widgets>
         </section>
     </screen>
     <screen name="listTask">
         <section>
             <actions>
                <script location="component://scrum/groovyScripts/FindBacklogItem.groovy"/>
             </actions>
             <widgets>
                 <screenlet title="${uiLabelMap.ScrumBacklogList}">
                     <include-form name="ListTask" location="component://scrum/widget/OpenTestForms.xml"/>
                 </screenlet>
             </widgets>
         </section>
     </screen>
     <screen name="editTask">
        <section>
            <actions>
                <set field="tabButtonItem" value=""/>
                <set field="workEffortParentId" from-field="parameters.workEffortParentId"/>
                <set field="sprintId" from-field="parameters.sprintId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOpenTestScreenDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <screenlet title="${uiLabelMap.PageTitleEditTask}">
                                    <include-form name="EditTask" location="component://scrum/widget/OpenTestForms.xml"/>
                                </screenlet>
                            </widgets>
                         </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
     </screen>
     
     <screen name="defaultTaskScrum">
        <section>
            <condition>
                <if-has-permission permission="SCRUM" action="_ADMIN"/>
            </condition>
            <actions>
                <set field="titleProperty" value="PageTitleScrumDefaultTasks"/>
                <set field="headerItem" value="admin"/>
                <set field="tabButtonItem" value="defaultTasks"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonAdminDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="button-bar">
                            <link  text="${uiLabelMap.ScrumCreateDefaultTasks}" target="editDefaultTaskScrum" style="buttontext create"/>
                        </container>
                        <screenlet title="${uiLabelMap.ScrumDefaultTasksList}">
                            <include-form name="DefaultTaskScrumList" location="component://scrum/widget/OpenTestForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    
    <screen name="editDefaultTaskScrum">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleScrumDefaultTasks"/>
                <set field="headerItem" value="admin"/>
                <set field="tabButtonItem" value="defaultTasks"/>
                <set field="workEffortId" value="${parameters.workEffortId}"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonAdminDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="button-bar"/>
                        <screenlet title="${uiLabelMap.ScrumEditDefaultTask}">
                            <include-form name="EditDefaultTaskScrum" location="component://scrum/widget/OpenTestForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>