<?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" required-field="true"><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>
