<?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="main-decorator">
        <section>
            <actions>
                <!-- base/top/specific map first, then more common map added for shared labels -->
                <property-map resource="SetupUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="WebtoolsUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
                
                <set field="MainColumnStyle" value="nocolumns" global="true"/>
                <set field="layoutSettings.companyName" from-field="uiLabelMap.SetupCompanyName" global="true"/>
                <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.SetupCompanySubtitle" global="true"/>
                <!-- layoutSettings.headerImageUrl can be used to specify an application specific logo; if not set,
                    then the global layoutSettings.commonHeaderImageUrl (specified in GlobalDecorator) will be used. -->
                <!--<set field="layoutSettings.headerImageUrl" value="/images/ofbiz_logo.gif" global="true"/>-->
                <!-- <set field="layoutSettings.headerMiddleBackgroundUrl" value="" global="true"/> -->
                <!-- <set field="layoutSettings.headerRightBackgroundUrl" value="" global="true"/> -->
                <set field="activeApp" value="ofbizsetup" global="true"/>
                <set field="applicationMenuName" value="SetupAppBar" global="true"/>
                <set field="applicationMenuLocation" value="component://commonext/widget/ofbizsetup/Menus.xml" global="true"/>
                <set field="applicationTitle" value="${uiLabelMap.SetupApp}" global="true"/>
            </actions>
            <widgets>
                <include-screen name="ApplicationDecorator" location="component://commonext/widget/CommonScreens.xml"/>
            </widgets>
        </section>
    </screen>
    
    <screen name="CommonPartyDecorator">
        <section>
            <widgets>
                <include-screen name="CommonSetupDecorator"/>
            </widgets>
        </section>
    </screen>
    
    <screen name="CommonSetupDecorator">
        <section>
            <actions>
                <entity-condition entity-name="PartyRole" list="parties">
                    <condition-expr field-name="roleTypeId" operator="equals" value="INTERNAL_ORGANIZATIO"/>
                </entity-condition>
                <set field="partyId" from-field="parties[0].partyId"/>
                <entity-one entity-name="Party" value-field="party"/>
                <entity-one entity-name="PartyGroup" value-field="lookupGroup"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition>
                                <and>
                                    <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
                                    <if-compare operator="not-equals" value="init" field="headerItem"/>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu location="component://commonext/widget/ofbizsetup/Menus.xml" name="SetupSubTabBar"/>
                            </widgets>
                        </section>
                        <section>
                            <condition>
                                <not><if-empty field="partyId"/></not>
                            </condition>
                            <widgets>
                                <container style="button-bar">
                                    <link target="OrganizationToComplete" text="${uiLabelMap.SetupSetToComplete}" style="buttontext">
                                        <parameter param-name="partyId" from-field="organizationPartyId"/>
                                        <parameter param-name="roleTypeId" value="ORGANIZATION_ROLE"/>
                                    </link>
                                </container>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <!-- do check for PARTYMGR, _VIEW permission -->
                            <condition>
                                <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition><not><if-empty field="partyId"/></not></condition>
                                    <widgets>
                                        <container style="clear"/>
                                        <container style="h1">
                                            <section>
                                                <condition><not><if-empty field="lookupGroup"/></not></condition>
                                                <widgets>
                                                    <label text="${uiLabelMap.PartyTheProfileOf} ${lookupPerson.personalTitle} ${lookupPerson.firstName} ${lookupPerson.middleName} ${lookupPerson.lastName} ${lookupPerson.suffix} ${lookupGroup.groupName} [${partyId}]"/>
                                                    <horizontal-separator/>
                                                </widgets>
                                                <fail-widgets>
                                                    <label text="${uiLabelMap.PartyNewUser}"/>
                                                </fail-widgets>
                                            </section>
                                        </container>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.PartyMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    
    <screen name="EntityExportAll">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEntityExportAll"/>
                <set field="tabButtonItem" value="entityExportAll"/>
                <set field="parameters.TRANSACTION_TIMEOUT" value="7200"/>
                <set field="results" from-field="parameters.results"/>
                <set field="headerItem" value="export"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleEntityExportAll}">
                            <platform-specific>
                                <html><html-template location="component://webtools/webapp/webtools/entity/EntityExportAll.ftl"/></html>
                            </platform-specific>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
