<?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.
-->

<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://ofbiz.apache.org/Widget-Form" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Form http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="FindBatchPayments" type="single" target="batchPayments">
        <actions>
            <set field="organizationPartyId" from-field="organizationPartyId" default-value="${defaultOrganizationPartyId}"/>
            <set field="noConditionFind" value="Y"/>
        </actions>
        <field name="paymentMethodTypeId" title="${uiLabelMap.FormFieldTitle_paymentMethodTypeId}">
            <drop-down allow-empty="true">
                <entity-options entity-name="PaymentMethodType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="organizationPartyId"><hidden/></field>
        <field name="noConditionFind"><hidden/></field>
        <field name="cardType" tooltip="Select Credit Card from above list of Payment Method Types.">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" key-field-name="enumCode" description="${enumCode}">
                    <entity-constraint name="enumTypeId" operator="equals" value="CREDIT_CARD_TYPE"/>
                    <entity-order-by field-name="enumId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="partyIdFrom" title="${uiLabelMap.AccountingPartyIdFrom}">
            <lookup target-form-name="LookupCustomerName"/>
        </field> 
        <field name="fromDate"><date-time/></field>
        <field name="thruDate"><date-time/></field>
        <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="FindBatchPaymentsForDepositSlip" target="NewDepositSlip" extends="FindBatchPayments" extends-resource="component://accounting/widget/ar/forms/ArPaymentForms.xml">
        <field name="finAccountId"><hidden value="${finAccountId}"/></field>
    </form>
    <form name="FindArPayments" type="single" target="findPayments" extends="FindPayments" extends-resource="component://accounting/widget/PaymentForms.xml">
        <field name="parentTypeId"><hidden value="RECEIPT"/></field>
        <field name="paymentTypeId" position="1">
            <drop-down allow-empty="true">
                <entity-options entity-name="PaymentType">
                    <entity-constraint name="parentTypeId" value="RECEIPT"/>
                </entity-options>
            </drop-down>
        </field>
    </form>
    <form name="FindArPaymentGroups" target="FindArPaymentGroups" extends="FindPaymentGroup" extends-resource="component://accounting/widget/PaymentGroupForms.xml">
        <field name="paymentGroupTypeId"><hidden value="BATCH_PAYMENT"/></field>
    </form>
</forms>
