<?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>
                <property-map resource="HumanResUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="layoutSettings.companyName" from-field="uiLabelMap.HumanResCompanyName" global="true"/>
                <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.HumanResCompanySubtitle" 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="activeApp" value="humanres" global="true"/>
                <set field="layoutSettings.javaScripts[]" value="/partymgr/static/partymgr.js" global="true"/>
                <set field="layoutSettings.styleSheets[]" value="/partymgr/static/partymgr.css" global="true"/>
                <set field="layoutSettings.styleSheets[]" value="/images/humanres/humanres.css" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/ui/development-bundle/external/jquery.cookie.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/jsTree/jquery.jstree.js" global="true"/>
                <set field="applicationMenuName" value="HumanResAppBar" global="true"/>
                <set field="applicationMenuLocation" value="component://humanres/widget/HumanresMenus.xml" global="true"/>
                <set field="applicationTitle" value="${uiLabelMap.HumanResManagerApplication}" global="true"/>
            </actions>
            <widgets>
                <include-screen name="ApplicationDecorator" location="component://commonext/widget/CommonScreens.xml"/>
            </widgets>
        </section>
    </screen>

    <screen name="Main">
        <section>
            <widgets>
                <decorator-screen name="main-decorator">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <container style="lefthalf">
                                    <include-screen name="OrgTree"/>
                                </container>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="OrgTree">
        <section>
            <actions>
                <set field="partyId" from-field="defaultOrganizationPartyId"/>
                <script location="component://humanres/webapp/humanres/WEB-INF/actions/category/CategoryTree.groovy"></script>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.FormFieldTitle_company}">
                    <section>
                        <widgets>
                            <platform-specific><html><html-template location="component://humanres/webapp/humanres/humanres/category/CategoryTree.ftl"/></html></platform-specific>
                        </widgets>
                    </section>
                </screenlet>
            </widgets>
        </section>
    </screen>
    <screen name="PartyGroupTreeLine">
        <section>
            <widgets>
                <label text="${partyAndGroup.groupName}"/>
            </widgets>
        </section>
    </screen>
    <screen name="PartyPersonTreeLine">
        <section>
            <widgets>
                <label text="${partyAndPerson.firstName} ${partyAndPerson.lastName}"/>
            </widgets>
        </section>
    </screen>

    <screen name="CommonEmplPositionDecorator">
        <section>
            <actions>
                <set field="headerItem" value="EmplPosition"/>
                <set field="emplPositionId" from-field="parameters.emplPositionId"/>
                <entity-one entity-name="EmplPosition" value-field="emplPosition"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition>
                                <and>
                                    <if-has-permission permission="HUMANRES" action="_VIEW"/>
                                    <not><if-empty field="emplPosition"/></not>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu name="EmplPostionBar" location="component://humanres/widget/HumanresMenus.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <!-- do check for EmplPosition, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="HUMANRES" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.HumanResViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonEmploymentDecorator">
        <section>
            <actions>
                <set field="roleTypeIdFrom" from-field="parameters.roleTypeIdFrom"/>
                <set field="roleTypeIdTo" from-field="parameters.roleTypeIdTo"/>
                <set field="partyIdFrom" from-field="parameters.partyIdFrom"/>
                <set field="partyIdTo" from-field="parameters.partyIdTo"/>
                <set field="fromDate" from-field="parameters.fromDate" type="Timestamp"/>
                <entity-one entity-name="Employment" value-field="employment"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for Employment, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="HUMANRES" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition>
                                        <not><if-empty field="parameters.partyIdFrom"/></not>
                                    </condition>
                                    <actions>
                                        <entity-one entity-name="PartyNameView" value-field="emplName">
                                            <field-map field-name="partyId" from-field="parameters.partyIdTo"/>
                                        </entity-one>
                                        <entity-one entity-name="PartyNameView" value-field="orgName">
                                            <field-map field-name="partyId" from-field="parameters.partyIdFrom"/>
                                        </entity-one>
                                    </actions>
                                    <widgets>
                                        <section>
                                            <condition>
                                                <not><if-empty field="parameters.fromDate"/></not>
                                            </condition>
                                            <widgets>
                                                <include-menu name="EmploymentBar" location="component://humanres/widget/HumanresMenus.xml"/>
                                                <container style="button-bar">
                                                    <link target="EditEmployment" text="${uiLabelMap.HumanResNewEmployment}" style="buttontext"/>
                                                </container>
                                                <label style="h1" text="${emplName.lastName},${emplName.firstName} ${emplName.middleName} [${emplName.partyId}] ${uiLabelMap.CommonFor}"></label>
                                                <label style="h1" text="${orgName.groupName} [${orgName.partyId}]"></label>
                                            </widgets>
                                        </section>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.HumanResViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonPerfReviewDecorator">
        <section>
            <actions>
                <set field="perfReviewId" from-field="parameters.perfReviewId"/>
                <entity-one entity-name="PerfReview" value-field="perfReview"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="HUMANRES" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition>
                                        <not><if-empty field="perfReview"/></not>
                                    </condition>
                                    <actions>
                                        <entity-one value-field="partyNameView" entity-name="PartyNameView">
                                            <field-map field-name="partyId" from-field="perfReview.employeePartyId"/>
                                        </entity-one>
                                    </actions>
                                    <widgets>
                                        <include-menu name="PerfReviewBar" location="component://humanres/widget/HumanresMenus.xml"/>
                                        <label style="h1" text="${uiLabelMap.HumanResPerfReview} [${perfReview.perfReviewId}] ${partyNameView.lastName} ${partyNameView.firstName} ${partyNameView.middleName}"></label>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.HumanResViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="EmployeeDecorator">
    <!-- Decorator for Employee edit/view screen set. partyId in this context is a Party in Employee Role and in Employment relationship with internal organization  -->
        <section>
            <actions>
                <set field="headerItem" value="Employees"/>
                <set field="partyId" from-field="parameters.partyId"/>
                <entity-one entity-name="Party" value-field="party"/>
                <entity-one entity-name="Person" value-field="lookupPerson"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition>
                                <and>
                                    <if-has-permission permission="HUMANRES" action="_VIEW"/>
                                    <not><if-empty field="partyId"/></not>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu name="EmployeeProfileTabBar" location="component://humanres/widget/HumanresMenus.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <condition>
                                    <if-has-permission permission="HUMANRES" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition><not><if-empty field="partyId"/></not></condition>
                                    <widgets>
                                        <container style="h1">
                                            <section>
                                                <condition><not><if-empty field="lookupPerson"/></not></condition>
                                                <widgets>
                                                    <label text="${uiLabelMap.PartyTheProfileOf} ${lookupPerson.personalTitle} ${lookupPerson.firstName} ${lookupPerson.middleName} ${lookupPerson.lastName} ${lookupPerson.suffix} [${partyId}]"/>
                                                </widgets>
                                                <fail-widgets>
                                                    <label style="h1" text="${uiLabelMap.HumanResNewEmployee}"/>
                                                </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="CommonPartyDecorator">
        <section>
            <actions>
                <set field="partyId" from-field="parameters.partyId"/>
                <entity-one entity-name="Party" value-field="party"/>
                <entity-one entity-name="Person" value-field="lookupPerson"/>
                <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-has-permission permission="HUMANRES" action="_VIEW"/>
                                    <not><if-empty field="partyId"/></not>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu name="EmployeeProfileTabBar" location="component://humanres/widget/HumanresMenus.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <condition>
                                    <if-service-permission service-name="partyBasePermissionCheck" main-action="VIEW"/>
                            </condition>
                            <!-- do check for PARTYMGR, _VIEW permission -->
                            <widgets>
                                <section>
                                    <condition><not><if-empty field="partyId"/></not></condition>
                                    <widgets>
                                        <container style="h1">
                                            <section>
                                                <condition>
                                                    <or>
                                                        <not><if-empty field="lookupPerson"/></not>
                                                        <not><if-empty field="lookupGroup"/></not>
                                                    </or>
                                                </condition>
                                                <widgets>
                                                    <label text="${uiLabelMap.PartyTheProfileOf} ${lookupPerson.personalTitle} ${lookupPerson.firstName} ${lookupPerson.middleName} ${lookupPerson.lastName} ${lookupPerson.suffix} ${lookupGroup.groupName} [${partyId}]"/>
                                                </widgets>
                                                <fail-widgets>
                                                    <label style="h1" 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="GlobalHRSettingsDecorator">
        <section>
            <actions>
                <set field="headerItem" value="GlobalHRSettings"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <include-menu name="GlobalHRSettingMenus" location="component://humanres/widget/HumanresMenus.xml"/>
                    </decorator-section>
                    <decorator-section name="body">
                        <decorator-section-include name="body"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonRecruitmentDecorator">
        <section>
            <actions>
                <set field="headerItem" value="Recruitment"/>
                <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <include-menu name="RecruitmentTypeMenu" location="component://humanres/widget/HumanresMenus.xml"/>
                    </decorator-section>
                    <decorator-section name="body">
                        <decorator-section-include name="body"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonTrainingDecorator">
        <section>
            <actions>
                <property-map resource="HumanResUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="headerItem" value="Training"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <include-menu name="TrainingTypeMenu" location="component://humanres/widget/HumanresMenus.xml"/>
                    </decorator-section>
                    <decorator-section name="body">
                        <decorator-section-include name="body"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonMyCommunicationEventDecorator">
        <section>
            <actions>
                <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/GetMyCommunicationEventRole.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <include-menu name="EmployeeProfileTabBar" location="component://humanres/widget/HumanresMenus.xml"/>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission action="_VIEW" permission="HUMANRES"/>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.PartyMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
