<?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="CommonOrderReturnDecorator">
        <section>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="component://order/template/return/ReturnLinks.ftl"/>
                                    </html>
                                </platform-specific>
                                <decorator-section-include name="body"/>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="OrderFindReturn">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleFindReturn"/>
                <set field="headerItem" value="return"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer"/>
                <property-to-field resource="widget" property="widget.form.defaultViewSize" field="viewSizeDefaultValue"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="${viewSizeDefaultValue}"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleFindReturn}">
                            <container>
                                <link style="buttontext" target="returnMain" text="${uiLabelMap.OrderCreateNewReturn}"/>
                            </container>
                            <include-form name="FindReturns" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                            <include-form name="ListReturns" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="OrderQuickReturn">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleFindQuickReturn"/>
                <set field="headerItem" value="return"/>
                <script location="component://order/groovyScripts/return/QuickReturn.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOrderReturnDecorator" location="${parameters.orderReturnDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleFindQuickReturn}">
                            <platform-specific>
                                <html><html-template location="component://order/template/return/QuickReturn.ftl"/></html>
                            </platform-specific>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="OrderReturnHeader">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleReturnHeader"/>
                <set field="headerItem" value="return"/>
                <set field="tabButtonItem" value="OrderReturnHeader"/>
                <set field="layoutSettings.javaScripts[+0]" value="/ordermgr-js/return.js" global="true"/>
                <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
                <script location="component://order/groovyScripts/return/ReturnHeader.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOrderReturnDecorator" location="${parameters.orderReturnDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <include-form name="EditReturn" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="OrderReturnList">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleReturnList"/>
                <set field="headerItem" value="return"/>
                <entity-condition entity-name="ReturnHeader" list="returnList"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOrderReturnDecorator" location="${parameters.orderReturnDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleReturnList}">
                            <platform-specific>
                                <html><html-template location="component://order/template/return/ReturnList.ftl"/></html>
                            </platform-specific>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="OrderReturnItems">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleReturnItems"/>
                <set field="headerItem" value="return"/>
                <set field="tabButtonItem" value="OrderReturnItems"/>
                <script location="component://order/groovyScripts/return/ReturnItems.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOrderReturnDecorator" location="${parameters.orderReturnDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="component://order/template/return/ReturnItems.ftl"/>
                                    </html>
                                </platform-specific>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="OrderReturnHistory">
        <section>
            <actions>
                <set field="titleProperty" value="OrderReturnHistory"/>
                <set field="headerItem" value="return"/>
                <set field="tabButtonItem" value="OrderReturnHistory"/>
                <set field="returnId" from-field="parameters.returnId"/>
                <script location="component://order/groovyScripts/return/ReturnItems.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOrderReturnDecorator" location="${parameters.orderReturnDecoratorLocation}">
                    <decorator-section name="body">
                        <include-screen name="ReturnStatusHistory"/>
                        <include-screen name="ReturnTypeHistory"/>
                        <include-screen name="ReturnReasonHistory"/>
                        <include-screen name="ReturnQuantityHistory"/>
                        <include-screen name="ReceivedQuantityHistory"/>
                        <include-screen name="ReturnPriceHistory"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="ReturnStatusHistory">
        <section>
            <actions>
                <entity-and entity-name="ReturnStatus" list="orderReturnStatusHistories">
                    <field-map field-name="returnId"/>
                </entity-and>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="orderReturnStatusHistories"/>
                        </not>
                    </condition>
                    <widgets>
                        <screenlet id="ReturnStatusHistoryPanel" title="${uiLabelMap.OrderOrderReturn} ${uiLabelMap.CommonStatusHistory}" collapsible="true">
                            <include-form name="ReturnStatusHistory" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </widgets>
                    <fail-widgets>
                        <screenlet title="${uiLabelMap.OrderOrderReturn} ${uiLabelMap.CommonStatusHistory}">
                            <label text="${uiLabelMap.OrderHistoryNotAvailable}"/>
                        </screenlet>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>
    
    <screen name="ReturnTypeHistory">
        <section>
            <actions>
                <set field="entityField" value="returnTypeId"/>
                <script location="component://order/groovyScripts/return/ReturnHistory.groovy"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="orderReturnItemHistories"/>
                        </not>
                    </condition>
                    <widgets>
                        <screenlet id="ReturnTypeHistoryPanel" title="${uiLabelMap.OrderReturnTypeHistory}" collapsible="true">
                            <include-form name="ReturnTypeHistory" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </widgets>
                    <fail-widgets>
                        <screenlet title="${uiLabelMap.OrderReturnTypeHistory}">
                            <label text="${uiLabelMap.OrderHistoryNotAvailable}"/>
                        </screenlet>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="ReturnReasonHistory">
        <section>
            <actions>
                <set field="entityField" value="returnReasonId"/>
                <script location="component://order/groovyScripts/return/ReturnHistory.groovy"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="orderReturnItemHistories"/>
                        </not>
                    </condition>
                    <widgets>
                        <screenlet id="ReturnReasonHistoryPanel" title="${uiLabelMap.OrderReturnReasonHistory}" collapsible="true">
                            <include-form name="ReturnReasonHistory" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </widgets>
                    <fail-widgets>
                        <screenlet title="${uiLabelMap.OrderReturnReasonHistory}">
                            <label text="${uiLabelMap.OrderHistoryNotAvailable}"/>
                        </screenlet>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="ReturnQuantityHistory">
        <section>
            <actions>
                <set field="entityField" value="returnQuantity"/>
                <script location="component://order/groovyScripts/return/ReturnHistory.groovy"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="orderReturnItemHistories"/>
                        </not>
                    </condition>
                    <widgets>
                        <screenlet id="ReturnQuantityHistoryPanel" title="${uiLabelMap.OrderReturnQtyHistory}" collapsible="true">
                            <include-form name="ReturnAndReceivedQuantityHistory" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </widgets>
                    <fail-widgets>
                        <screenlet title="${uiLabelMap.OrderReturnQtyHistory}">
                            <label text="${uiLabelMap.OrderHistoryNotAvailable}"/>
                        </screenlet>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="ReceivedQuantityHistory">
        <section>
            <actions>
                <set field="entityField" value="receivedQuantity"/>
                <script location="component://order/groovyScripts/return/ReturnHistory.groovy"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="orderReturnItemHistories"/>
                        </not>
                    </condition>
                    <widgets>
                        <screenlet id="ReceivedQuantityHistoryPanel" title="${uiLabelMap.OrderReceivedQtyHistory}" collapsible="true">
                            <include-form name="ReturnAndReceivedQuantityHistory" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </widgets>
                    <fail-widgets>
                        <screenlet title="${uiLabelMap.OrderReceivedQtyHistory}">
                            <label text="${uiLabelMap.OrderHistoryNotAvailable}"/>
                        </screenlet>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="ReturnPriceHistory">
        <section>
            <actions>
                <set field="entityField" value="returnPrice"/>
                <script location="component://order/groovyScripts/return/ReturnHistory.groovy"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="orderReturnItemHistories"/>
                        </not>
                    </condition>
                    <widgets>
                        <screenlet id="ReturnPriceHistoryPanel" title="${uiLabelMap.OrderReturnPriceHistory}" collapsible="true">
                            <include-form name="ReturnPriceHistory" location="component://order/widget/ordermgr/ReturnForms.xml"/>
                        </screenlet>
                    </widgets>
                    <fail-widgets>
                        <screenlet title="${uiLabelMap.OrderReturnPriceHistory}">
                            <label text="${uiLabelMap.OrderHistoryNotAvailable}"/>
                        </screenlet>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>
</screens>
