<?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" 
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="ListBillingAccounts" type="list" list-name="listIt" paginate-target="FindBillingAccount" default-entity-name="BillingAccount"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" value="BillingAccount"/>
                <field-map field-name="orderBy" value="billingAccountId"/>
            </service>
        </actions>
        <field name="billingAccountId" widget-style="buttontext">
            <hyperlink description="${billingAccountId}" target="EditBillingAccount">
                <parameter param-name="billingAccountId"/>
            </hyperlink>
        </field>
        <field name="accountLimit">
            <display type="currency" currency="${billingAccount.accountCurrencyUomId}"/>
        </field>
        <field name="description"><display/></field>
        <field name="fromDate"><display/></field>
        <field name="thruDate"><display/></field>
    </form>

    <form name="ListBillingAccountsByParty" type="list" list-name="billingAccounts" paginate-target="FindBillingAccount"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="billingAccountId" widget-style="buttontext">
            <hyperlink description="${billingAccountId}" target="EditBillingAccount">
                <parameter param-name="billingAccountId"/>
            </hyperlink>
        </field>
        <field name="accountLimit">
            <display type="currency" currency="${billingAccount.accountCurrencyUomId}"/>
        </field>
        <field name="accountBalance"><display type="currency"/></field>
        <field name="description"><display/></field>
        <field name="fromDate"><display/></field>
        <field name="thruDate"><display/></field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"><display description="${parameters.partyId}"/></field>
        <field name="roleTypeId" title="${uiLabelMap.AccountingRoleType}"><display-entity entity-name="RoleType"/></field>
    </form>

    <form name="ListBillingAccountInvoices" type="list" list-name="billingAccountInvoices" paginate-target="BillingAccountInvoices" default-entity-name="Invoice"
        odd-row-style="alternate-row"  header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="Invoice" list="billingAccountInvoices">
                <condition-list>
                    <condition-expr field-name="billingAccountId" from-field="billingAccountId"/>
                    <condition-expr field-name="statusId" from-field="parameters.statusId" ignore-if-empty="true"/>
                </condition-list>
            </entity-condition>
        </actions>
        <row-actions>
            <service service-name="getPartyNameForDate" result-map="partyNameResultFrom">
                <field-map field-name="partyId" from-field="partyIdFrom"/>
                <field-map field-name="compareDate" from-field="invoiceDate"/>
                <field-map field-name="lastNameFirst" value="Y"/>
            </service>
            <service service-name="getPartyNameForDate" result-map="partyNameResultTo">
                <field-map field-name="partyId" from-field="partyId"/>
                <field-map field-name="compareDate" from-field="invoiceDate"/>
                <field-map field-name="lastNameFirst" value="Y"/>
            </service>
            <set field="paidInvoice" value="${groovy: org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId).compareTo(java.math.BigDecimal.ZERO)==0}" type="Boolean"/>
            <set field="amountToApply" value="${groovy:
                import java.text.NumberFormat;
                return(NumberFormat.getNumberInstance(locale).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/>
            <set field="total" value="${groovy:
                import java.text.NumberFormat;
                return(NumberFormat.getNumberInstance(locale).format(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/>
        </row-actions>
        <field name="billingAccountId"><hidden/></field>
        <field name="invoiceId" widget-style="buttontext">
            <hyperlink description="${invoiceId}" target="invoiceOverview">
                <parameter param-name="invoiceId"/>
            </hyperlink>
        </field>
        <field name="invoiceTypeId"><display-entity entity-name="InvoiceType"/></field>
        <field name="invoiceDate"><display/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem"/></field>
        <field name="description"><display/></field>
        <field name="partyIdFrom"><display description="${partyNameResultFrom.fullName} [${partyIdFrom}]"/></field>
        <field name="partyIdTo" parameter-name="partyId"><display description="${partyNameResultTo.fullName} [${partyId}]"/></field>
        <field name="invoiceDate"><display description="${groovy:invoiceDate.toString().substring(0,10)}"/></field>
        <field name="total" widget-area-style="align-text"><display type="currency" currency="${currencyUomId}"/></field>
        <field name="amountToApply" widget-area-style="align-text"><display type="currency" currency="${currencyUomId}"/></field>
        <field name="capture" use-when="${groovy:!paidInvoice}" widget-style="buttontext">
            <hyperlink target="capturePaymentsByInvoice" description="${uiLabelMap.AccountingCapture}">
                <parameter param-name="invoiceId"/>
                <parameter param-name="billingAccountId"/>
            </hyperlink>
        </field>
        <field name="capture" use-when="${groovy:paidInvoice}"><display/></field>
    </form>

    <form name="EditBillingAccount" type="single" target="updateBillingAccount" title=""
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <set field="availableBalance" value="${groovy:billingAccount != null ? org.ofbiz.order.order.OrderReadHelper.getBillingAccountBalance(billingAccount) : 0}" type="BigDecimal"/>
        </actions>
        <alt-target use-when="billingAccount==null" target="createBillingAccountAndRole"/>
        <auto-fields-service service-name="updateBillingAccount" map-name="billingAccount"/>
        <field name="description"><text size="60"/></field>
        <field use-when="billingAccount==null" name="billingAccountId"><hidden/></field>
        <field use-when="billingAccount!=null" name="billingAccountId" tooltip="${uiLabelMap.CommonNotModifRecreat}"><display/></field>
        <field name="partyId" use-when="billingAccount != null" ><display/></field>
        <field name="partyId" use-when="billingAccount == null" title="${uiLabelMap.AccountingPartyBilledTo}" required-field="true"><lookup target-form-name="LookupPartyName"/></field>
        <field name="roleTypeId"><hidden/></field>
        <field name="accountCurrencyUomId">
            <drop-down allow-empty="false" no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom">
                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="contactMechId" tooltip="${uiLabelMap.AccountingBillingContactMechIdMessage}" use-when="billingAccount != null">
            <drop-down>
                <entity-options entity-name="BillingAccountRoleAndAddress" description="[${partyId}][${contactMechId}] ${toName}, ${attnName}, ${address1}, ${stateProvinceGeoId} ${postalCode}" key-field-name="contactMechId" filter-by-date="true">
                    <entity-constraint name="billingAccountId" env-name="billingAccountId"/>
                    <entity-order-by field-name="partyId"/>
                    <entity-order-by field-name="contactMechId"/>
                </entity-options>
            </drop-down>
        </field>
        <!--
        <field name="netBalance" title="${uiLabelMap.AccountingBillingNetBalance}" tooltip="${uiLabelMap.AccountingBillingNetBalanceMessage}">
            <display description="${groovy:org.ofbiz.accounting.payment.BillingAccountWorker.getBillingAccountNetBalance(delegator, billingAccountId)}" type="currency" currency="${billingAccount.accountCurrencyUomId}"/>
        </field>
        -->
        <field name="availableBalance" title="${uiLabelMap.AccountingBillingAvailableBalance}" tooltip="${uiLabelMap.AccountingBillingAvailableBalanceMessage}">
            <display type="currency" currency="${billingAccount.accountCurrencyUomId}"/>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonCreate}" use-when="billingAccount == null" widget-style="smallSubmit"><submit button-type="button"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" use-when="billingAccount!=null" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="ListBillingAccountRoles" type="list"  list-name="billingAccountRoleList" target="updateBillingAccountRole"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="BillingAccountRole" list="billingAccountRoleList">
                <condition-expr field-name="billingAccountId" from-field="billingAccountId"/>
                <order-by field-name="roleTypeId"/>
            </entity-condition>
        </actions>

        <auto-fields-service service-name="updateBillingAccountRole" default-field-type="edit"/>

        <field name="billingAccountId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}">
            <display-entity entity-name="PartyNameView" description="${firstName} ${middleName} ${lastName} ${groupName}">
                <sub-hyperlink description="${partyId}" target="/partymgr/control/viewprofile" target-type="inter-app" link-style="buttontext">
                    <parameter param-name="partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="roleTypeId" title="${uiLabelMap.PartyRoleTypeId}">
            <display-entity entity-name="RoleType" description="${description}"/>
        </field>
        <field name="fromDate" title="${uiLabelMap.CommonFromDate}"><display/></field>

        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
        <field name="deleteLink" title=" " widget-style="buttontext">
            <hyperlink target="deleteBillingAccountRole" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                <parameter param-name="billingAccountId"/>
                <parameter param-name="roleTypeId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="fromDate"/>
            </hyperlink>
        </field>
    </form>
    <form name="AddBillingAccountRole" type="single" target="createBillingAccountRole" title="" default-map-name="billingAccountRole"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="createBillingAccountRole"/>
        <field name="billingAccountId"><hidden/></field>
        <field name="roleTypeId" title="${uiLabelMap.PartyRoleTypeId}">
            <drop-down allow-empty="false" no-current-selected-key="BILL_TO_CUSTOMER">
                <entity-options entity-name="RoleType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="ListBillingAccountTerms" type="list" list-name="billingAccountTermsList" default-entity-name="BillingAccountTerm" paginate-target="EditBillingAccountTerms"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="BillingAccountTerm" list="billingAccountTermsList">
                <condition-expr field-name="billingAccountId" from-field="billingAccountId"/>
            </entity-condition>
        </actions>
        <field name="billingAccountId"><hidden/></field>
        <field name="termTypeId" title="${uiLabelMap.PartyTermType}">
            <display-entity entity-name="TermType" description="${description}"/>
        </field>
        <field name="termValue" title="${uiLabelMap.CommonValue}"><display/></field>
        <field name="uomId" title="${uiLabelMap.CommonUom}">
            <display-entity entity-name="Uom" description="${description}"/>
        </field>
        <field name="billingAccountTermId" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonEdit}" target="EditBillingAccountTerms">
                <parameter param-name="billingAccountId"/>
                <parameter param-name="billingAccountTermId"/>
            </hyperlink>
        </field>
        <field name="deleteLink" title=" " widget-style="buttontext">
            <hyperlink description="${uiLabelMap.CommonDelete}" target="removeBillingAccountTerm">
                <parameter param-name="billingAccountId"/>
                <parameter param-name="billingAccountTermId"/>
            </hyperlink>
        </field>
    </form>
    <form name="EditBillingAccountTerms" type="single" target="updateBillingAccountTerm" title="" default-map-name="billingAccountTerm"
        header-row-style="header-row" default-table-style="basic-table">
        <alt-target use-when="billingAccountTermId==null" target="createBillingAccountTerm"/>
        <field name="billingAccountId"><hidden/></field>
        <field use-when="billingAccountTermId!=null" name="billingAccountTermId"><hidden/></field>
        <field name="termTypeId" title="${uiLabelMap.PartyTermType}">
            <drop-down>
                <entity-options entity-name="TermType" description="${description}">
                    <entity-constraint name="parentTypeId" value="FINANCIAL_TERM"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="uomId" title="${uiLabelMap.CommonUom}">
            <drop-down allow-empty="true">
                <entity-options entity-name="Uom" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="termValue" title="${uiLabelMap.PartyTermValue}"><text size="10"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="ListBillingAccountPayments" type="list" list-name="payments" paginate-target="BillingAccountPayments"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="PaymentAndApplication" list="payments">
                <condition-expr field-name="billingAccountId" from-field="billingAccountId"/>
            </entity-condition>
        </actions>
        <field name="paymentId" widget-style="buttontext">
            <hyperlink description="${paymentId}" target="paymentOverview">
                <parameter param-name="paymentId"/>
            </hyperlink>
        </field>
        <field name="paymentMethodTypeId" title="${uiLabelMap.CommonType}">
            <display-entity entity-name="PaymentMethodType" description="${description}"/>
        </field>
        <field name="invoiceId"><display/></field>
        <field name="invoiceItemSeqId"><display/></field>
        <field name="effectiveDate"><display/></field>
        <field name="amountApplied">
            <display type="currency" currency="${currencyUomId}"/>
        </field>
        <field name="amount">
            <display type="currency" currency="${currencyUomId}"/>
        </field>
    </form>
    <form name="CreateIncomingBillingAccountPayment" type="single" target="createPaymentAndAssociateToBillingAccount" title=""
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <set field="partyIdFrom" from-field="billToCustomer.partyId"/>
        </actions>
        <field name="billingAccountId"><hidden/></field>
        <field name="currencyUomId"><hidden value="${billingAccount.accountCurrencyUomId}"/></field>
        <field name="statusId"><hidden value="PMNT_NOT_PAID"/></field>
        <field name="partyIdFrom"><lookup target-form-name="LookupPartyName"/></field>
        <field name="organizationPartyId" parameter-name="partyIdTo">
            <drop-down allow-empty="false">
                <entity-options description="${partyId}" entity-name="PartyRole" key-field-name="partyId">
                    <entity-constraint name="roleTypeId" value="INTERNAL_ORGANIZATIO"/>
                    <entity-order-by field-name="partyId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="paymentTypeId" title="${uiLabelMap.AccountingPaymentType}">
            <drop-down allow-empty="false" no-current-selected-key="CUSTOMER_DEPOSIT">
                <entity-options description="${description}" entity-name="PaymentType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="paymentMethodTypeId">
            <drop-down allow-empty="false">
                <entity-options entity-name="PaymentMethodType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="amount"><text/></field>
        <field name="createButton">
            <submit button-type="button"/>
        </field>
    </form>
    <form name="ListBillingAccountOrders" type="list" list-name="orderPaymentPreferencesList" paginate-target="BillingAccountOrders"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="billingAccountId"><hidden/></field>
        <field name="orderId" widget-style="buttontext">
            <hyperlink target="/ordermgr/control/orderview" target-type="inter-app" description="${orderId}" also-hidden="false">
                <parameter param-name="orderId"/>
            </hyperlink>
        </field>
        <field name="orderDate"><display/></field>
        <field name="paymentMethodTypeId">
            <display-entity entity-name="PaymentMethodType" key-field-name="paymentMethodTypeId"/>
        </field>
        <field name="paymentStatusId" title="${uiLabelMap.CommonStatus}">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="maxAmount">
            <display type="currency" currency="${currencyUomId}"/>
        </field>
    </form>
    <form name="FindBillingAccounts" type="single" target="FindBillingAccount" header-row-style="header-row" default-table-style="basic-table">
        <field name="billingAccountId"><text-find ignore-case="true"/></field>
        <field name="description"><text-find ignore-case="true"/></field>
        <field name="accountLimit"><text/></field>
        <field name="fromDate"><date-time/></field>
        <field name="thruDate"><date-time/></field>
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="searchButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
</forms>
