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

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
    <screen name="LookupPartyName">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyByName}"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
                
                <!-- entries needed for lookup ajax auto completer -->
                <!-- required: entity to search in -->
                <set field="entityName" value="PartyNameView"/>
                
                <!-- required: fields to search a match -->
                <!-- the first element from searchFields is returned after user selection --> 
                <!-- it might be hidden based on widget.autocompleter.displayReturnField property in widget.properties -->                
                <set field="searchFields" value="[partyId, firstName, middleName, lastName, groupName]"/>
 
                <!-- optional: fields to display in the given order, default is searchFields -->
                <set field="displayFields" value="[firstName, lastName, groupName]"/>
                
                <!-- optional: additional entity condition (named andCondition) added to search query -->
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPartyName" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyName" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupPartyEmail">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyByName}"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
                <set field="entityName" value="PartyNameContactMechView"/>
                <set field="searchFields" value="[contactMechId, partyId, firstName, middleName, lastName, groupName]"/>  
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPartyEmail" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyEmail" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupCustomerName">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyByName}"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
                <set field="entityName" value="PartyRoleNameDetail"/>
                <set field="searchFields" value="[partyId, firstName, middleName, lastName, groupName]"/>
                <set field="andCondition" value="${groovy: return org.ofbiz.entity.condition.EntityCondition.makeCondition(&quot;roleTypeId&quot;, &quot;CUSTOMER&quot;)}"/>        
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupCustomerName" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupCustomerName" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <!-- A specialized lookup to search for customers to which the logged in user is associated as a sales representative -->
    <screen name="LookupCustomerNameForSalesRep">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyByName}"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupCustomerNameForSalesRep" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupCustomerNameForSalesRep" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="LookupPerson">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyPerson}"/>
                <set field="queryString" from-field="result.queryString"/>                
                <set field="entityName" value="PartyAndPerson"/>
                <set field="searchFields" value="[partyId, firstName, middleName, lastName]"/>
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>                
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="LookupContact">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupContact}"/>
                <set field="entityName" value="PartyRoleAndPartyDetail"/>
                <set field="parameters.roleTypeId" value="CONTACT"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupLead">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupLead}"/>
                <set field="entityName" value="PartyRoleAndPartyDetail"/>
                <set field="parameters.roleTypeId" value="LEAD"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="LookupPartyAndUserLoginAndPerson">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyAndUserLoginAndPerson}"/>
                <set field="entityName" value="PartyAndUserLoginAndPerson"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
                <set field="searchFields" value="[userLoginId, partyId, firstName, lastName]"/>
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>                 
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPartyAndUserLoginAndPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyAndUserLoginAndPerson" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupUserLoginAndPartyDetails">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="title" value="${uiLabelMap.PartyLookupUserLoginAndPartyDetails}"/>
                <set field="entityName" value="UserLoginAndPartyDetails"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
                <set field="searchFields" value="[userLoginId, partyId, firstName, lastName, groupName]"/>
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>                
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupUserLoginAndPartyDetails" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupUserLoginAndPartyDetails" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupPartyGroup">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyGroup}"/>
                <set field="entityName" value="PartyAndGroup"/>
                <set field="searchFields" value="[partyId, groupName, comments]"/>
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>                
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPartyGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupAccount">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupAccount}"/>
                <set field="entityName" value="PartyRoleAndPartyDetail"/>
                <set field="parameters.roleTypeId" value="ACCOUNT"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupPartyGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <!-- PartyClassificationGroup Lookup Screen -->
    <screen name="LookupPartyClassificationGroup">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupPartyClassificationGroup}"/>
                <set field="entityName" value="PartyClassificationGroup"/>
                <set field="searchFields" value="[partyClassificationGroupId, parentGroupId, description]"/>                                
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="LookupPartyClassificationGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyClassificationGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="LookupCommEvent">
        <section>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="entityName" value="CommunicationEvent"/>
                <set field="searchFields" value="[communicationEventId, subject]"/> 
                <set field="title" value="${uiLabelMap.PartyLookupPartyCommEvent}"/>
                <set field="tabButtonItem" value="ContactList"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="LookupCommEvent" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="ListLookupCommEvent" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="LookupContactMech">
        <section>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="title" value="${uiLabelMap.PartyLookupContactMech}"/>
                <set field="entityName" value="PartyAndContactMech"/>
                <set field="searchFields" value="[contactMechId, partyId, contactMechTypeId, infoString, paToName]"/> 
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="20"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="lookupContactMech" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupContactMech" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    
    <screen name="LookupInternalOrganization">
        <section>
            <condition>
                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
            </condition>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PartyLookupInternalOrganization}"/>
                <set field="entityName" value="PartyRoleAndPartyDetail"/>
                <set field="roleTypeId" value="INTERNAL_ORGANIZATIO"/>
                <set field="searchFields" value="[partyId, groupName, partyGroupComments]"/>
                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/StatusCondition.groovy"/>      
                <set field="andCondition" value="${groovy: return org.ofbiz.entity.condition.EntityCondition.makeCondition([context.andCondition, 
                    org.ofbiz.entity.condition.EntityCondition.makeCondition(&quot;roleTypeId&quot;, &quot;INTERNAL_ORGANIZATIO&quot;)])}"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="LookupInternalOrganization" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="listLookupPartyGroup" location="component://party/widget/partymgr/LookupForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
