<?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="EditReturn" type="single" target="updateReturn" default-map-name="returnHeader" id="editReturn"
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <entity-one entity-name="StatusItem" value-field="currentStatus" auto-field-map="false">
                <field-map field-name="statusId" from-field="returnHeader.statusId"/>
            </entity-one>
        </actions>
        <alt-target use-when="returnHeader==null" target="createReturn"/>
        <auto-fields-service service-name="updateReturnHeader"/>
        <field use-when="returnHeader!=null" name="returnId" tooltip="${uiLabelMap.OrderReturnCannotBeChanged}"><display/></field>
        <field use-when="returnHeader==null&amp;&amp;returnId!=null" name="returnId" tooltip="${uiLabelMap.OrderReturnCannotBeFound} ${returnId}"><text size="20" maxlength="20"/></field>
        <field use-when="returnHeader==null&amp;&amp;returnId==null" name="returnId"><ignored/></field>
        <field name="returnHeaderTypeId" id-name="returnHeaderTypeId">
            <drop-down allow-empty="false">
                <entity-options entity-name="ReturnHeaderType"/>
            </drop-down>
        </field>
        <field name="statusId" use-when="returnHeader==null" id-name="statusId">
            <drop-down>
                <entity-options entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" value="ORDER_RETURN_STTS"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
                <list-options key-name="statusIdTo" list-name="returnStatus" description="${transitionName}"/>
            </drop-down>
        </field>
        <field name="statusId" use-when="returnHeader!=null">
            <drop-down current-description="${currentStatus.description}">
                <entity-options entity-name="StatusValidChangeToDetail" key-field-name="statusIdTo" description="${transitionName} (${description})">
                    <entity-constraint name="statusId" env-name="returnHeader.statusId"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="currencyUomId" use-when="returnHeader==null">
            <drop-down no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" 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="currencyUomId" use-when="returnHeader!=null">
            <display-entity entity-name="Uom" key-field-name="uomId" description="${abbreviation} - ${description}"/>
        </field>
        <field name="destinationFacilityId">
            <drop-down allow-empty="true">
                <entity-options entity-name="Facility" key-field-name="facilityId" description="${facilityName}">
                    <entity-order-by field-name="facilityName"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="fromPartyId"><lookup target-form-name="LookupPartyName"/></field>
        <field name="toPartyId"><lookup target-form-name="LookupPartyName"/></field>
        <field name="originContactMechId" use-when="returnHeader!=null">
            <display-entity entity-name="PostalAddress" key-field-name="contactMechId" description="${toName} ${attnName} ${address1} ${address2} ${city} ${stateProvinceGeoId} ${postalCode} ${countryGeoId}"/>
        </field>
        <field name="originContactMechId" use-when="returnHeader!=null&amp;&amp;&quot;RETURN_REQUESTED&quot;.equals(returnHeader.getString(&quot;statusId&quot;))">
            <drop-down allow-empty="true">
                <list-options key-name="postalAddress.contactMechId" list-name="addresses" description="${postalAddress.toName} ${postalAddress.attnName} ${postalAddress.address1} ${postalAddress.address2} ${postalAddress.city} ${postalAddress.stateProvinceGeoId} ${postalAddress.postalCode} ${postalAddress.countryGeoId}"/>
            </drop-down>
        </field>
        <field name="billingAccountId" use-when="billingAccountList!=null&amp;&amp;billingAccountList.size()&gt;0">
            <drop-down allow-empty="true">
                <list-options key-name="billingAccountId" list-name="billingAccountList" description="${billingAccountId}: ${description}"/>
            </drop-down>
        </field>
        <field name="finAccountId" use-when="finAccounts!=null&amp;&amp;finAccounts.size()&gt;0">
            <drop-down allow-empty="true">
                <list-options key-name="finAccountId" list-name="finAccounts" description="${finAccountId}: ${finAccountName}"/>
            </drop-down>
        </field>
        <field name="paymentMethodId" use-when="creditCardList!=null&amp;&amp;creditCardList.size()&gt;0">
            <drop-down allow-empty="true">
                <list-options list-name="creditCardList" list-entry-name="creditCardPm" key-name="creditCardPm.paymentMethodId" description="${groovy:org.apache.ofbiz.party.contact.ContactHelper.formatCreditCard(creditCardPm.getRelatedOne(&quot;CreditCard&quot;, false))}"/>
            </drop-down>
        </field>
        <field name="newCreditCard" widget-style="buttontext" use-when="returnHeader!=null&amp;&amp;returnHeader.getString(&quot;fromPartyId&quot;)!=null">
            <hyperlink also-hidden="false" target="/partymgr/control/editcreditcard" target-window="partymgr" description="${uiLabelMap.AccountingAddNewCreditCard}" target-type="inter-app">
                <parameter param-name="partyId" from-field="returnHeader.fromPartyId"/>
            </hyperlink>
        </field>
        <field name="needsInventoryReceive" tooltip="${uiLabelMap.OrderReturnNecessaryReceiveInventoryMessage}">
            <drop-down no-current-selected-key="N"><option key="N"/><option key="Y"/></drop-down>
        </field>
        <field name="createdBy" use-when="returnHeader!=null"><display/></field>
        <field use-when="returnHeader==null&amp;&amp;returnId==null" name="createdBy"><ignored/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <!-- UNUSED FORM
    <form name="ReturnItems" type="multi" list-name="orderItems" target="createReturnItem"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <auto-fields-service service-name="createReturnItem"/>
        <field name="itemDescription"><display/></field>
        <field name="returnId"><hidden/></field>
        <field name="orderId"><hidden/></field>
        <field name="orderItemSeqId"><hidden/></field>
        <field name="statusId"><ignored/></field>
    </form>
    -->
    <form name="FindReturns" type="single"  target="findreturn" title=""
        header-row-style="header-row" default-table-style="basic-table">
        <field name="returnHeaderTypeId">
            <drop-down allow-empty="true">
                <entity-options entity-name="ReturnHeaderType"/>
            </drop-down>
        </field>
        <field name="returnId" title="${uiLabelMap.OrderReturnId}"><text-find/></field>
        <field name="fromPartyId" title="${uiLabelMap.OrderReturnFromParty}">
            <lookup target-form-name="LookupPartyName"/>
        </field>
        <field name="billingAccountId" title="${uiLabelMap.AccountingBillingAccount}">
            <text-find/>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}">
            <check all-checked="false">
                <entity-options entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="ORDER_RETURN_STTS"/>
                </entity-options>
            </check>
        </field>
        <field name="entryDate" title="${uiLabelMap.OrderEntryDate}">
            <date-find/>
        </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="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit">
            <submit button-type="button"/>
        </field>
    </form>

    <form name="ListReturns" type="list"  target="findreturn" title="" list-name="listIt"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar" paginate-target="findreturn">
        <actions>
            <service service-name="performFind"  result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="requestParameters"/>
                <field-map field-name="entityName" value="ReturnHeader"/>
                <field-map field-name="orderBy" value="entryDate DESC"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="returnId"  widget-style="buttontext" title="${uiLabelMap.OrderReturnId}">
            <hyperlink description="${returnId}" target="returnMain">
                <parameter param-name="returnId"/>
            </hyperlink>
        </field>
        <field name="entryDate" title="${uiLabelMap.OrderEntryDate}">
            <display/>
        </field>
        <field name="fromPartyId" title="${uiLabelMap.OrderReturnFromParty}">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${groupName} ${firstName} ${lastName}">
                <sub-hyperlink link-style="buttontext" target-type="inter-app" description="${fromPartyId}" target="/partymgr/control/viewprofile">
                    <parameter param-name="partyId" from-field="fromPartyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="destinationFacilityId" widget-style="buttontext" title="${uiLabelMap.OrderReturnDestinationFacility}">
            <hyperlink target-type="inter-app" description="${destinationFacilityId}" target="/facility/control/EditFacility">
                <parameter param-name="facilityId" from-field="destinationFacilityId"/>
            </hyperlink>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}">
            <display-entity entity-name="StatusItem" key-field-name="statusId"/>
        </field>
    </form>

    <form name="ReturnStatusHistory" type="list" list-name="orderReturnStatusHistories"
            odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="returnId"><display/></field>
        <field name="returnItemSeqId"><display/></field>
        <field name="statusId"><display-entity entity-name="StatusItem"/></field>
        <field name="statusDatetime" title="${uiLabelMap.CommonDate}"><display/></field>
        <field name="changeByUserLoginId" title="${uiLabelMap.FormFieldTitle_modifiedByUserLoginId}"><display/></field>
    </form>
    <form name="ReturnAndReceivedQuantityHistory" type="list" list-name="orderReturnItemHistories"
            odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="returnId"><display description="${returnId}"/></field>
        <field name="oldValueText"><display/></field>
        <field name="newValueText"><display/></field>
        <field name="changedDate" title="${uiLabelMap.CommonDate}"><display/></field>
        <field name="changedByInfo" title="${uiLabelMap.FormFieldTitle_modifiedByUserLoginId}"><display/></field>
    </form>
    <form name="ReturnReasonHistory" type="list" list-name="orderReturnItemHistories"
            odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="returnId"><display description="${returnId}"/></field>
        <field name="oldValueText">
            <display-entity entity-name="ReturnReason" key-field-name="returnReasonId"/>
        </field>
        <field name="newValueText">
            <display-entity entity-name="ReturnReason" key-field-name="returnReasonId"/>
        </field>
        <field name="changedDate" title="${uiLabelMap.CommonDate}"><display/></field>
        <field name="changedByInfo" title="${uiLabelMap.FormFieldTitle_modifiedByUserLoginId}"><display/></field>
    </form>
    <form name="ReturnTypeHistory" type="list" list-name="orderReturnItemHistories"
            odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="returnId"><display description="${returnId}"/></field>
        <field name="oldValueText">
            <display-entity entity-name="ReturnType" key-field-name="returnTypeId"/>
        </field>
        <field name="newValueText">
            <display-entity entity-name="ReturnType" key-field-name="returnTypeId"/>
        </field>
        <field name="changedDate" title="${uiLabelMap.CommonDate}"><display/></field>
        <field name="changedByInfo" title="${uiLabelMap.FormFieldTitle_modifiedByUserLoginId}"><display/></field>
    </form>
    <form name="ReturnPriceHistory" type="list" list-name="orderReturnItemHistories"
            odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="returnId"><display description="${returnId}"/></field>
        <field name="oldValueText"><display type="currency"/></field>
        <field name="newValueText"><display type="currency"/></field>
        <field name="changedDate" title="${uiLabelMap.CommonDate}"><display/></field>
        <field name="changedByInfo" title="${uiLabelMap.FormFieldTitle_modifiedByUserLoginId}"><display/></field>
    </form>
</forms>
