<?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="ListReports">
        <section>
            <actions>
                <set field="headerItem" value="reports"/>
                <set field="titleProperty" value="AccountingArPageTitleListReports"/>
                <set field="invoiceTypeId" value="SALES_INVOICE"/>
                <set field="organizationPartyId" from-field="userPreferences.ORGANIZATION_PARTY" default-value="${defaultOrganizationPartyId}"/>
                <script location="component://accounting/groovyScripts/invoice/InvoiceReport.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.AccountingPastDueInvoices}: (${PastDueInvoicestotalAmount})">
                            <section>
                                <actions>
                                    <set field="invoices" from-field="PastDueInvoices"/>
                                </actions>
                                <widgets>
                                    <include-form name="ListReports" location="component://accounting/widget/ar/forms/InvoiceForms.xml"/>
                                </widgets>
                            </section>
                        </screenlet>
                        <screenlet title="${uiLabelMap.AccountingInvoicesDueSoon}: (${InvoicesDueSoonTotalAmount})">
                            <section>
                                <actions>
                                    <set field="invoices" from-field="InvoicesDueSoon"/>
                                </actions>
                                <widgets>
                                    <include-form name="ListReports"  location="component://accounting/widget/ar/forms/InvoiceForms.xml"/>
                                </widgets>
                            </section>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="FindArInvoices">
        <section>
            <actions>
                <set field="titleProperty" value="AccountingFindArInvoices"/>
                <service service-name="performFind" result-map="result">
                    <field-map field-name="inputFields" from-field="parameters"/>
                    <field-map field-name="entityName" value="InvoiceAndType"/>
                    <field-map field-name="orderBy" value="invoiceDate DESC"/>
                </service>
                <set field="invoices" from-field="result.listIt"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonInvoiceDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
                                    <decorator-section name="menu-bar">
                                        <container style="button-bar">
                                            <link target="newInvoice" text="${uiLabelMap.CommonCreateNew}" style="buttontext create"/>
                                        </container>
                                    </decorator-section>
                                    <decorator-section name="search-options">
                                        <include-form name="FindArInvoices" location="component://accounting/widget/ar/forms/InvoiceForms.xml"/>
                                    </decorator-section>
                                    <decorator-section name="search-results">
                                        <platform-specific>
                                            <html><html-template location="component://accounting/template/ar/invoice/ListInvoices.ftl"/></html>
                                        </platform-specific>
                                    </decorator-section>
                                </decorator-screen>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="NewSalesInvoice">
        <section>
            <actions>
                <set field="titleProperty" value="AccountingCreateNewSalesInvoice"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <screenlet title="${uiLabelMap.AccountingCreateNewSalesInvoice}">
                                    <include-form name="NewSalesInvoice" location="component://accounting/widget/InvoiceForms.xml"/>
                                </screenlet>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

</screens>
