<?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="FindEmplLeaves" type="single" target="FindEmplLeaves"
        odd-row-style="header-row" default-table-style="basic-table">
        <auto-fields-entity entity-name="EmplLeave" default-field-type="find"/>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="leaveTypeId">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="leaveTypeId" entity-name="EmplLeaveType"/>
            </drop-down>
        </field>
        <field name="emplLeaveReasonTypeId">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="emplLeaveReasonTypeId" entity-name="EmplLeaveReasonType"/>
            </drop-down>
        </field>
        <field name="leaveStatus">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="statusId" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="LEAVE_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="approverPartyId"><lookup target-form-name="LookupPartyName"/></field>
        <field name="description"><hidden/></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>
    <form name="ListEmplLeaves" list-name="listIt" type="list" odd-row-style="alternate-row" header-row-style="header-row-2"
        paginate-target="FindEmplLeaves" default-table-style="basic-table hover-bar">
        <actions>
            <set field="entityName" value="EmplLeave"/>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" from-field="entityName"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <auto-fields-entity entity-name="EmplLeave" default-field-type="display"/>
        <field name="partyId">
            <display-entity entity-name="PartyNameView" description="${firstName} ${lastName}">
                <sub-hyperlink target="/partymgr/control/viewprofile" target-type="inter-app" description="${partyId}" link-style="buttontext">
                    <parameter param-name="partyId" from-field="partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="leaveTypeId"><display-entity entity-name="EmplLeaveType"/></field>
        <field name="emplLeaveReasonTypeId"><display-entity entity-name="EmplLeaveReasonType"/></field>
        <field name="approverPartyId">
            <display-entity entity-name="PartyNameView" description="${firstName} ${lastName}" key-field-name="partyId">
                <sub-hyperlink target="/partymgr/control/viewprofile" target-type="inter-app" description="${approverPartyId}" link-style="buttontext">
                    <parameter param-name="approverPartyId" from-field="approverPartyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="leaveStatus"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name="updateLeave" title="${uiLabelMap.CommonUpdate}" widget-style="buttontext" use-when="hasAdminPermission">
            <hyperlink also-hidden="false" description="${uiLabelMap.CommonUpdate}" target="EditEmplLeave">
                <parameter param-name="partyId"/>
                <parameter param-name="leaveTypeId"/>
                <parameter param-name="fromDate"/>
            </hyperlink>
        </field>
        <field name="deleteLink" title="${uiLabelMap.CommonDelete}" widget-style="buttontext" use-when="hasAdminPermission">
            <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deleteEmplLeave">
                <parameter param-name="partyId"/>
                <parameter param-name="leaveTypeId"/>
                <parameter param-name="fromDate"/>
            </hyperlink>
        </field>
        <field name="description"><hidden/></field>
    </form>
    <form name="EditEmplLeave" type="single" target="updateEmplLeaveExt" default-map-name="leaveApp"
        header-row-style="header-row" default-table-style="basic-table">
        <alt-target use-when="leaveApp==null" target="createEmplLeaveExt"/>
        <auto-fields-service service-name="updateEmplLeave" map-name="leaveApp"/>
        <field name="partyId" tooltip="${uiLabelMap.CommonRequired}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="approverPartyId" tooltip="${uiLabelMap.CommonRequired}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="leaveTypeId" tooltip="${uiLabelMap.CommonRequired}">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="leaveTypeId" entity-name="EmplLeaveType"/>
            </drop-down>
        </field>
        <field name="emplLeaveReasonTypeId">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="emplLeaveReasonTypeId" entity-name="EmplLeaveReasonType"/>
            </drop-down>
        </field>
        <field name="fromDate" tooltip="${uiLabelMap.CommonRequired}"><date-time type="date"/></field>
        <field name="thruDate" tooltip="${uiLabelMap.CommonRequired}"><date-time type="date"/></field>
        <field name="leaveStatus"><hidden value="LEAVE_CREATED"/></field>
        <field name="submitButton" use-when="leaveApp==null" title="${uiLabelMap.CommonCreate}" widget-style="smallSubmit"><submit button-type="button"/></field>
        <field name="submitButton" use-when="leaveApp!=null" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="FindLeaveApprovals" target="FindLeaveApprovals" type="single">
        <auto-fields-entity entity-name="EmplLeave" default-field-type="find"/>
        <field name="noConditionFind"><hidden value="Y"/></field>
        <!--<field name="approverPartyId" use-when="!hasAdminPermission"><hidden value="${approverPartyId}"/></field>-->
        <field name="partyId"><lookup target-form-name="LookupPartyName"/></field>
        <field name="leaveStatus">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="statusId" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="LEAVE_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="description"><hidden/></field>
        <field name="searchButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="ListLeaveApprovals" list-name="listIt" type="list" odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <set field="entityName" value="EmplLeave"/>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" from-field="entityName"/>
            </service>
        </actions>
        <auto-fields-entity entity-name="EmplLeave" default-field-type="display"/>
        <field name="partyId" field-name="partyId">
            <display-entity entity-name="PartyNameView" description="${firstName} ${lastName}">
                <sub-hyperlink target="/partymgr/control/viewprofile" target-type="inter-app" description="${partyId}" link-style="buttontext">
                    <parameter param-name="partyId" from-field="partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="leaveTypeId"><display-entity entity-name="EmplLeaveType"/></field>
        <field name="emplLeaveReasonTypeId"><display-entity entity-name="EmplLeaveReasonType"/></field>
        <field name="approverPartyId" field-name="approverPartyId">
            <display-entity entity-name="PartyNameView" description="${firstName} ${lastName}" key-field-name="partyId">
                <sub-hyperlink target="/partymgr/control/viewprofile" target-type="inter-app" description="${approverPartyId}" link-style="buttontext">
                    <parameter param-name="approverPartyId" from-field="approverPartyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="leaveStatus"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name="UpdateStatus" title="${uiLabelMap.CommonUpdate}" widget-style="buttontext">
            <hyperlink target="EditEmplLeaveStatus" description="${uiLabelMap.CommonUpdate}" >
                <parameter param-name="partyId"/>
                <parameter param-name="fromDate"/>
                <parameter param-name="leaveTypeId"/>
            </hyperlink>
        </field>
    </form>
    <form name="EditEmplLeaveStatus" type="single" target="updateEmplLeaveStatus" default-map-name="leaveApp">
        <auto-fields-service service-name="updateEmplLeaveStatus" map-name="leaveApp"/>
        <field name="partyId"><display/></field>
        <field name="approverPartyId"><display/></field>
        <field name="leaveTypeId"><display/></field>
        <field name="emplLeaveReasonTypeId"><display/></field>
        <field name="fromDate"><display/></field>
        <field name="thruDate"><display/></field>
        <field name="description"><display/></field>
        <field name="leaveStatus" title="${uiLabelMap.HumanResLeaveStatus}">
            <drop-down allow-empty="false">
                <entity-options description="${description}" key-field-name="statusId" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="LEAVE_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="leaveStatus" use-when="leaveApp!=null&amp;&amp;leaveApp.getString(&quot;leaveStatus&quot;).equals(&quot;LEAVE_REJECTED&quot;)"><display></display></field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
</forms>
