<?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"
        xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
    <screen name="main-decorator">
        <section>
            <actions>
                <property-map resource="ProjectMgrUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="HumanResUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="EcommerceUiLabels" map-name="uiLabelMap" global="true"/>

                <!-- The two default (global) stylesheets are added to the list
                     of stylesheets to the first and second position -->

                <set field="layoutSettings.companyName" from-field="uiLabelMap.ProjectMgrCompanyName" global="true"/>
                <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.ProjectMgrCompanySubtitle" 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.png" global="true"/>-->
                <set field="layoutSettings.styleSheets[]" value="/projectmgr/static/projectmgr.css" global="true"/>
                <set field="activeApp" value="projectmgr" global="true"/>
                <set field="applicationMenuName" value="ProjectMgrAppBar" global="true"/>
                <set field="applicationMenuLocation" value="component://projectmgr/widget/ProjectMenus.xml" global="true"/>
                <set field="applicationTitle" from-field="uiLabelMap.ProjectMgrApplication" global="true"/>
                <set field="helpAnchor" from-field="helpAnchor" default-value="_project_manager"/>
                <set field="my" value="My" global="true"/>
            </actions>
            <widgets>
                <include-screen name="ApplicationDecorator" location="component://commonext/widget/CommonScreens.xml"/>
            </widgets>
        </section>
    </screen>

    <screen name="CommonProjectDecorator">
        <section>
            <actions>
                <set field="headerItem" value="projects"/>
                <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/>
                <entity-one entity-name="WorkEffort" value-field="project">
                    <field-map field-name="workEffortId" from-field="projectId"/>
                </entity-one>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition>
                                <and>
                                    <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                                    <not><if-empty field="project"/></not>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu name="ProjectTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition>
                                        <not>
                                            <if-empty field="project"/>
                                        </not>
                                    </condition>
                                    <widgets>
                                        <include-menu name="ProjectButtonBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                                        <container style="clear"/>
                                        <label style="h1" text="${uiLabelMap.ProjectMgrProjectCurrent}: ${project.workEffortName}[${project.workEffortId}]"/>
                                    </widgets>
                                 </section>

                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonTaskDecorator">
        <section>
            <actions>
                <set field="headerItem" value="task"/>
                <entity-one entity-name="WorkEffort" value-field="workEffort"/>
                <script location="component://projectmgr/groovyScripts/GetProjectId.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition>
                                <and>
                                    <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                                    <not><if-empty field="workEffort"/></not>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu name="TaskTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition>
                                        <not><if-empty field="workEffort"/></not>
                                    </condition>
                                    <widgets>
                                        <include-menu name="TaskSubTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                                        <container style="clear"/>
                                        <label style="h1" text="${uiLabelMap.ProjectMgrTaskCurrent}: ${workEffort.workEffortName} [${workEffort.workEffortId}]"/>
                                        <label style="h1" text="${uiLabelMap.ProjectMgrPhaseName}: ${phaseName}"/>
                                        <container style="h1">
                                            <label text="${uiLabelMap.ProjectMgrProjectName}: ${projectName}"/>
                                            <link text="[${projectId}]" target="projectView"><parameter param-name="projectId"/></link>
                                        </container>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonMyTaskDecorator">
        <section>
            <actions>
                <set field="headerItem" value="mytasks"/>
                <set field="helpAnchor" value="_my_tasks"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonSkillTypeDecorator">
        <section>
            <actions>
                <set field="skillTypeId" from-field="parameters.skillTypeId"/>
                <entity-one entity-name="SkillType" value-field="skillType"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for PartyAbility, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonTimesheetDecorator">
        <section>
            <actions>
                <set field="headerItem" value="timesheet"/>
                <set field="timesheetId" from-field="parameters.timesheetId"/>
                <set field="helpAnchor" value="_my_timesheets"/>
                <entity-one entity-name="Timesheet" value-field="timesheet"/>
                <entity-one entity-name="PartyNameView" value-field="partyName">
                    <field-map field-name="partyId" from-field="timesheet.partyId"/>
                </entity-one>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <!--include-menu name="TimesheetTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/-->
                                <include-menu name="TimesheetSubTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                                <section>
                                    <condition>
                                        <not>
                                            <if-empty field="timesheet"/>
                                        </not>
                                    </condition>
                                    <widgets>
                                        <container><label style="h1">${uiLabelMap.WorkEffortTimesheetTimesheetId}: ${timesheetId} ${uiLabelMap.CommonFrom}: ${partyName.firstName} ${partyName.middleName} ${partyName.lastName} ${partyName.groupName} [${timesheet.partyId}]</label></container>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonMyTimeDecorator">
        <section>
            <actions>
                <set field="headerItem" value="mytime"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                    <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <include-menu name="MyTimeSubTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="Main">
        <section>
            <actions>
                <set field="parameters.currentStatus" value="_NA_"/>
                <set field="headerItem" value="main"/>
                <set field="helpAnchor" value="_projectmgr_in_ui"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <and>
                                    <if-has-permission permission="PROJECTMGR" action="_ADMIN"/>
                                    <if-has-permission permission="PROJECTMGR" action="_ROLE_ADMIN"/>
                                    <if-has-permission permission="PROJECTMGR" action="_ROLE_VIEW"/>
                                </and>
                            </condition>
                            <widgets>
                                <screenlet title="${uiLabelMap.ProjectMgrProjectSummary}" navigation-form-name="ListCurrentProjects">
                                    <include-form name="ListCurrentProjects" location="component://projectmgr/widget/forms/ProjectForms.xml"/>
                                </screenlet>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProjectMgrAdminViewPermissionError}. ${uiLabelMap.CommonAsk}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="CommonPartyDecorator">
        <section>
            <actions>
                <property-map resource="SecurityUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="headerItem" value="resources"/>
                <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"/>
                <set field="communicationEventId" from-field="parameters.communicationEventId"/>
                <entity-one entity-name="CommunicationEvent" value-field="communicationEvent"/>
                <set field="okayToUpdate" value="true" type="Boolean" global="true"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <and>
                            <not><if-empty field="communicationEvent.statusId"/></not>
                            <or>
                                <if-compare field="communicationEvent.statusId" operator="equals" type="String" value="COM_COMPLETE"/>
                                <if-compare field="communicationEvent.statusId" operator="equals" type="String" value="COM_RESOLVED"/>
                                <if-compare field="communicationEvent.statusId" operator="equals" type="String" value="COM_REFERRED"/>
                            </or>
                        </and>
                    </condition>
                    <actions>
                        <set field="okayToUpdate" value="false" type="Boolean" global="true"/>
                    </actions>
                    <widgets/>
                </section>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for PROJECTMGR, _VIEW permission -->
                            <condition>
                                <or>
                                    <if-has-permission permission="PARTYMGR" action="_ADMIN"/>
                                    <if-has-permission permission="PROJECTMGR" action="_VIEW"/>
                                </or>
                            </condition>
                            <widgets>
                                <section>
                                    <condition><not><if-empty field="partyId"/></not></condition>
                                    <widgets>
                                        <include-menu name="ResourceTabBar" location="component://projectmgr/widget/ProjectMenus.xml"/>
                                        <container>
                                            <section>
                                                <widgets>
                                                    <label style="h1" text="${uiLabelMap.PartyTheProfileOf} ${lookupPerson.personalTitle} ${lookupPerson.firstName} ${lookupPerson.middleName} ${lookupPerson.lastName} ${lookupPerson.suffix} ${lookupGroup.groupName}"/>
                                                </widgets>
                                                <fail-widgets>
                                                    <label style="h1" text="${uiLabelMap.PartyNewUser}"/>
                                                </fail-widgets>
                                            </section>

                                            <label style="h1" text="[${partyId}]"/>
                                        </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="CommonRequestDecorator">
        <section>
            <widgets>
                <decorator-screen name="CommonRequestDecorator" location="component://order/widget/ordermgr/CommonScreens.xml">
                    <decorator-section name="body">
                        <decorator-section-include name="body"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="GlobalHRSettingsDecorator">
        <section>
            <actions>
                <set field="headerItem" value="SkillType"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <decorator-section-include name="body"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

</screens>
