<?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="ListQuotes">
        <section>
            <actions>
                <set field="rightbarScreenName" value="rightbar"/>
                <set field="MainColumnStyle" value="rightonly"/>

                <set field="titleProperty" value="PageTitleListQuotes"/>
                <!--<set field="headerItem" value="Shopping List"/>-->
                <entity-condition entity-name="Quote" list="quoteList">
                    <condition-list combine="and">
                        <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
                        <condition-expr field-name="statusId" operator="not-equals" value="QUO_CREATED"/>
                    </condition-list>
                    <order-by field-name="-validFromDate"/>
                </entity-condition>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://ecommerce/template/quote/QuoteList.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="ViewQuote">
        <section>
            <actions>
                <set field="rightbarScreenName" value="rightbar"/>
                <set field="MainColumnStyle" value="rightonly"/>

                <set field="titleProperty" value="PageTitleViewQuote"/>
                <!--<set field="headerItem" value="Shopping List"/>-->
                <set field="quoteId" from-field="parameters.quoteId"/>
                <entity-one entity-name="Quote" value-field="quote"/>
                <get-related-one value-field="quote" relation-name="QuoteType" to-value-field="quoteType"/>
                <get-related-one value-field="quote" relation-name="StatusItem" to-value-field="statusItem"/>
                <get-related-one value-field="quote" relation-name="Uom" to-value-field="currency"/>
                <get-related-one value-field="quote" relation-name="ProductStore" to-value-field="store"/>

                <get-related value-field="quote" relation-name="QuoteItem" list="quoteItems"/>
                <get-related value-field="quote" relation-name="QuoteAdjustment" list="quoteAdjustments"/>
                <get-related value-field="quote" relation-name="QuoteRole" list="quoteRoles"/>

            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-compare-field field="quote.partyId" operator="equals" to-field="userLogin.partyId"></if-compare-field>
                            </condition>
                            <widgets>
                                <platform-specific>
                                    <html><html-template location="component://ecommerce/template/quote/CreateOrderQuote.ftl"/></html>
                                </platform-specific>
                                <include-screen name="ViewQuoteTemplate" location="component://order/widget/ordermgr/QuoteScreens.xml"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.OrderNoQuoteFound}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
