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

<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd">
    <menu name="ProjectMgrAppBar" title="${uiLabelMap.ProjectMgr}" extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml">

        <menu-item name="mytasks" title="${uiLabelMap.WorkEffortMyTasks}"><link target="MyTasks"/></menu-item>
        <menu-item name="mytime" title="${uiLabelMap.WorkEffortTimesheetMyTime}"><link target="MyTimesheet"/></menu-item>
        <menu-item name="projects" title="${uiLabelMap.WorkEffortProjects}"><link target="FindProject"/></menu-item>
        <menu-item name="task" title="${uiLabelMap.ProjectMgrTasks}">
            <condition>
                <if-has-permission permission="PROJECTMGR_ADMIN"/>
            </condition>
            <link target="FindTask"/>
        </menu-item>
        <menu-item name="resources" title="${uiLabelMap.ProjectMgrResources}">
            <condition>
                <if-has-permission permission="PROJECTMGR_ADMIN"/>
            </condition>
            <link target="FindResource"/>
        </menu-item>
        <menu-item name="timesheet" title="${uiLabelMap.WorkEffortTimesheet}">
            <condition>
                <if-has-permission permission="PROJECTMGR_ADMIN"/>
            </condition>
            <link target="FindTimeSheet"/>
        </menu-item>
        <menu-item name="SkillType" title="${uiLabelMap.ProjectMgrSkillType}">
            <condition>
                <if-has-permission permission="PROJECTMGR_ADMIN"/>
            </condition>
            <link target="findSkillTypes"/>
        </menu-item>
        <!--menu-item name="calendar" title="${uiLabelMap.WorkEffortCalendar}"><link target="day"/></menu-item-->
        <menu-item name="request" title="${uiLabelMap.WorkEffortRequestList}">
            <condition>
                <if-has-permission permission="PROJECTMGR_ADMIN"/>
            </condition>
            <link target="requestlist"/>
        </menu-item>
    </menu>
    <menu name="ProjectTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <actions>
            <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/>
            <set field="hasUpdatePermission" value="${bsh:
                result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                &quot;resourceDescription&quot;, &quot;Project&quot;,
                &quot;mainAction&quot;, &quot;UPDATE&quot;,
                &quot;projectId&quot;, projectId));
                return result.get(&quot;hasPermission&quot;); }" type="Boolean"/>
            <set field="hasViewPermission" value="${bsh:
                result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                &quot;resourceDescription&quot;, &quot;Project&quot;,
                &quot;mainAction&quot;, &quot;VIEW&quot;,
                &quot;projectId&quot;, projectId));
                return result.get(&quot;hasPermission&quot;); }" type="Boolean"/>
        </actions>
        <menu-item name="ganttchart" title="${uiLabelMap.ProjectMgrGanttChart}">
            <condition>
                <if-compare field="hasViewPermission" operator="equals" value="true"/>
            </condition>
            <link target="ganttChart">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="projectView" title="${uiLabelMap.ProjectMgrProjectSummary}">
            <condition>
                <if-compare field="hasViewPermission" operator="equals" value="true"/>
            </condition>
            <link target="projectView">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="editproject" title="${uiLabelMap.ProjectMgrEditProject}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="EditProject">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="mailing" title="${uiLabelMap.ProjectMgrMailingList}">
            <condition>
                <if-compare field="hasViewPermission" operator="equals" value="true"/>
            </condition>
            <link target="FindMailingList">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="phases" title="${uiLabelMap.ProjectMgrPhases}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="FindPhase">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="tasks" title="${uiLabelMap.ProjectMgrTasks}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="EditProjectTasks">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="orders" title="${uiLabelMap.OrderOrders}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="EditProjectOrders">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="parties" title="${uiLabelMap.ProjectMgrResources}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="ListWorkEffortPartyAssigns">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="projectContent" title="${uiLabelMap.CommonContent}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="EditProjectContents">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="notes" title="${uiLabelMap.CommonNotes}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                </and>
            </condition>
            <link target="EditWorkEffortNotes">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="subprojects" title="${uiLabelMap.ProjectMgrSubProjects}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="ListSubProjects">
                <parameter param-name="projectId"/>
                <parameter param-name="subProjects" value="true"/>
            </link>
        </menu-item>
        <menu-item name="billing" title="${uiLabelMap.ProjectMgrBilling}">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                </and>
            </condition>
            <link target="projectBilling">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
    </menu>
    <menu name="ProjectButtonBar" extends="CommonButtonBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <actions>
            <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/>
            <set field="hasUpdatePermission" value="${bsh:
                result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                org.ofbiz.base.util.UtilMisc.toMap(&quot;userLogin&quot;, parameters.get(&quot;userLogin&quot;),
                &quot;resourceDescription&quot;, &quot;Project&quot;,
                &quot;mainAction&quot;, &quot;UPDATE&quot;,
                &quot;projectId&quot;, projectId));
                return result.get(&quot;hasPermission&quot;); }" type="Boolean"/>
        </actions>
        <menu-item name="newProject" title="${uiLabelMap.ProjectMgrNewProject}" widget-style="buttontext create">
            <condition>
                <and>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                    <if-has-permission permission="PROJECTMGR" action="_ADMIN"/>
                </and>
            </condition>
            <link target="EditProject"/>
        </menu-item>
        <menu-item name="copyProject" title="${uiLabelMap.ProjectMgrCopyProject}">
            <condition>
                <and>
                    <not>
                        <if-empty field="project"/>
                    </not>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                </and>
            </condition>
            <link target="copyProject">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="schedule" title="${uiLabelMap.ProjectMgrSchedule}">
            <condition>
                <and>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                    <not>
                        <if-empty field="project"/>
                    </not>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                </and>
            </condition>
            <link target="scheduleProject" request-confirmation="true" confirmation-message="${uiLabelMap.ProjectMgrConfirmationSchedule}">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="copyProjectToTemplate" title="${uiLabelMap.ProjectMgrSaveAsTemplate}">
            <condition>
                <and>
                    <not>
                        <if-empty field="project"/>
                    </not>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                </and>
            </condition>
            <link target="copyProjectToTemplate">
                <parameter param-name="projectId"/>
            </link>
        </menu-item>
        <menu-item name="close" title="${uiLabelMap.CommonClose}">
            <condition>
                <and>
                    <if-compare field="project.currentStatusId" operator="not-equals" value="PRJ_CLOSED"/>
                    <not>
                        <if-empty field="project"/>
                    </not>
                    <if-compare field="hasUpdatePermission" operator="equals" value="true"/>
                </and>
            </condition>
            <link target="updateProject" request-confirmation="true" confirmation-message="${uiLabelMap.ProjectMgrConfirmationClose}">
                <parameter param-name="workEffortId" from-field="parameters.projectId"/>
                <parameter param-name="currentStatusId" value="PRJ_CLOSED"/>
            </link>
        </menu-item>
    </menu>
    <menu name="TaskTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="taskView" title="${uiLabelMap.ProjectMgrTaskSummary}">
            <condition>
               <not><if-empty field="workEffort"/></not>
            </condition>
            <link target="taskView">
                <parameter param-name="workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="edittask" title="${uiLabelMap.ProjectMgrEditTask}">
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_CANCELLED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                </and>
            </condition>
            <link target="EditTask">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="dependencies" title="${uiLabelMap.ProjectMgrDependencies}">
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_CANCELLED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                </and>
            </condition>
            <link target="Dependencies">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="parties" title="${uiLabelMap.ProjectMgrResources}">
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_CANCELLED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                </and>
            </condition>
            <link target="EditTaskPartyAssigns">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="taskskills" title="${uiLabelMap.ProjectMgrSkillStandards}">
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_CANCELLED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                </and>
            </condition>
            <link target="EditTaskSkills">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="timeEntries" title="${uiLabelMap.ProjectMgrTimeEntries}">
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_CANCELLED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                </and>
            </condition>
            <link target="EditTimeEntries">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="taskContent" title="${uiLabelMap.CommonContent}">
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_COMPLETED"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_ON_HOLD"/>
                    <if-compare field="workEffort.currentStatusId" operator="not-equals" value="PTS_CANCELED"/>
                </and>
            </condition>
            <link target="EditTaskContents">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="notes" title="${uiLabelMap.CommonNotes}">
            <condition>
                <not><if-empty field="workEffort"/></not>
            </condition>
            <link target="EditTaskNotes">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="EditWorkEffortSurveyAppls" title="${uiLabelMap.EcommerceSurveys}">
            <condition>
                <not><if-empty field="workEffortId"/></not>
            </condition>
            <link target="EditWorkEffortSurveyAppls">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
    </menu>
    <menu name="TaskSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
          menu-container-style="button-bar button-style-2">
        <menu-item name="new" title="${uiLabelMap.CommonNew}">
            <condition>
                <or>
                    <not><if-empty field="workEffort"/></not>
                    <and>
                        <if-empty field="workEffort"/>
                        <if-compare field="tabButtonItem" operator="equals" value="find"/>
                    </and>
                </or>
            </condition>
            <link target="EditTask"/>
        </menu-item>
        <menu-item name="setonhold" title="${uiLabelMap.ProjectMgrSetOnHold}" >
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="equals" value="PTS_CREATED"/>
                </and>
            </condition>
            <link target="setTaskStatus">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
                <parameter param-name="currentStatusId" value="PTS_ON_HOLD"/>
            </link>
        </menu-item>
        <menu-item name="setcomplete" title="${uiLabelMap.ProjectMgrSetComplete}" >
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="equals" value="PTS_CREATED"/>
                </and>
            </condition>
            <link target="setTaskStatusToComplete">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
            </link>
        </menu-item>
        <menu-item name="release" title="${uiLabelMap.ProjectMgrRelease}" >
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="equals" value="PTS_ON_HOLD"/>
                </and>
            </condition>
            <link target="setTaskStatus">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
                <parameter param-name="currentStatusId" value="PTS_CREATED"/>
            </link>
        </menu-item>
        <menu-item name="cancel" title="${uiLabelMap.CommonCancel}" >
            <condition>
                <and>
                    <not><if-empty field="workEffort"/></not>
                    <if-compare field="workEffort.currentStatusId" operator="equals" value="PTS_CREATED"/>
                </and>
            </condition>
            <link target="setTaskStatus">
                <parameter param-name="workEffortId" from-field="parameters.workEffortId"/>
                <parameter param-name="currentStatusId" value="PTS_CANCELLED"/>
            </link>
        </menu-item>
    </menu>
    <menu name="TimesheetTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="findtimesheet" title="${uiLabelMap.CommonFind}">
            <link target="FindTimeSheet"/>
        </menu-item>
        <menu-item name="addTimesheet" title="${uiLabelMap.CommonAdd}">
            <link target="addWeeklyTimesheet"/>
        </menu-item>
    </menu>
    <menu name="TimesheetSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
          menu-container-style="button-bar button-style-2" default-menu-item-name="StatustoProgress">
        <menu-item name="addTimesheet" title="${uiLabelMap.CommonNew}">
            <link target="addWeeklyTimesheet"/>
        </menu-item>
        <menu-item name="TimeSheetStatusToComplete" title="${uiLabelMap.CommonStatustoComplete}">
            <condition>
                <and>
                    <not><if-empty field="timesheet"/></not>
                    <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_IN_PROCESS"/>
                </and>
            </condition>
            <link target="TimeSheetStatusToComplete">
                <parameter param-name="timesheetId" from-field="timesheet.timesheetId"/>
                <parameter param-name="statusId" value="TIMESHEET_COMPLETED"/>
            </link>
        </menu-item>
        <menu-item name="TimeSheetStatustoProgress" title="${uiLabelMap.ProjectMgrSetStatusInProgress}">
            <condition>
                <and>
                    <not><if-empty field="timesheet"/></not>
                    <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_COMPLETED"/>
                </and>
            </condition>
            <link target="TimeSheetStatustoProgress">
                <parameter param-name="timesheetId" from-field="timesheet.timesheetId"/>
                <parameter param-name="statusId" value="TIMESHEET_IN_PROCESS"/>
            </link>
        </menu-item>
    </menu>
    <menu name="MyTimeSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
          menu-container-style="button-bar button-style-2">
        <menu-item name="TimeSheetStatusToComplete" title="${uiLabelMap.CommonStatustoComplete}">
            <condition>
                <and>
                    <not><if-empty field="timesheet"/></not>
                    <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_IN_PROCESS"/>
                </and>
            </condition>
            <link target="myTimeSheetStatusToComplete">
                <parameter param-name="timesheetId" from-field="timesheet.timesheetId"/>
                <parameter param-name="statusId" value="TIMESHEET_COMPLETED"/>
            </link>
        </menu-item>
    </menu>
    <menu name="ResourceTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
          default-menu-item-name="edittimesheet">
        <menu-item name="ResourcesProfile" title="${uiLabelMap.PartyProfile}">
            <link target="viewprofile">
                <parameter param-name="partyId"/>
            </link>
        </menu-item>
        <menu-item name="viewroles" title="${uiLabelMap.PartyRoles}">
            <link target="viewroles">
                <parameter param-name="partyId"/>
            </link>
        </menu-item>
        <menu-item name="listResourcesProject" title="${uiLabelMap.ProjectMgrProjects}">
            <link target="listResourcesProject">
                <parameter param-name="partyId"/>
            </link>
        </menu-item>
        <menu-item name="listResourcesTask"  title="${uiLabelMap.ProjectMgrTasks}">
            <link target="listResourcesTask">
                <parameter param-name="partyId"/>
            </link>
        </menu-item>
        <menu-item name="EditPartyRates"  title="${uiLabelMap.ProjectMgrRates}">
            <link target="EditPartyRates">
                <parameter param-name="partyId"/>
            </link>
        </menu-item>
        <menu-item name="ListBillingHours"  title="${uiLabelMap.ProjectMgrBilling}">
            <link target="ListResourceBillingHours">
                <parameter param-name="partyId"/>
            </link>
        </menu-item>
    </menu>
    <menu name="RequestTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="ViewRequest" title="${uiLabelMap.ProjectMgrView}">
            <condition>
                <not><if-empty field="custRequest"/></not>
            </condition>
            <link target="ViewRequest">
                <parameter param-name="custRequestId" from-field="parameters.custRequestId"/>
            </link>
        </menu-item>
        <menu-item name="editRequest" title="${uiLabelMap.ProjectMgrEdit}">
            <condition>
                <and>
                    <not><if-empty field="custRequest"/></not>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_CANCELLED"/>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_COMPLETED"/>
                </and>
            </condition>
            <link target="EditRequest">
                <parameter param-name="custRequestId" from-field="parameters.custRequestId"/>
            </link>
        </menu-item>
        <menu-item name="custRequestContent" title="${uiLabelMap.ContentContent}">
            <condition>
                <and>
                    <not><if-empty field="custRequest"/></not>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_CANCELLED"/>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_COMPLETED"/>
                </and>
            </condition>
            <link target="EditCustRequestContent">
                <parameter param-name="custRequestId" from-field="custRequest.custRequestId"/>
            </link>
        </menu-item>
    </menu>
    <menu name="TimesheetBar">
        <menu-item name="setToComplete" title="${uiLabelMap.CommonStatustoComplete}">
            <condition>
                <if-compare field="timesheet.statusId" operator="equals" value="TIMESHEET_IN_PROCESS"/>
            </condition>
            <link target="${my}StatusToComplete">
                <parameter param-name="timesheetId" from-field="timesheet.timesheetId"/>
                <parameter param-name="statusId" value="TIMESHEET_COMPLETED"/>
            </link>
        </menu-item>
    </menu>
    <menu name="RequestSubTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
          menu-container-style="button-bar button-style-2">
        <menu-item name="cancelledRequest" title="${uiLabelMap.CommonCancel} ${uiLabelMap.OrderRequest}" >
            <condition>
                <and>
                    <not><if-empty field="custRequest"/></not>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_CANCELLED"/>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_COMPLETED"/>
                </and>
            </condition>
            <link target="setCustRequestStatus">
                <parameter param-name="custRequestId"/>
                <parameter param-name="statusId" value="CRQ_CANCELLED"/>
            </link>
        </menu-item>
        <menu-item name="addContent" title="${uiLabelMap.PageTitleAddContent}">
            <condition>
                <and>
                    <not><if-empty field="custRequest"/></not>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_CANCELLED"/>
                    <if-compare field="custRequest.statusId" operator="not-equals" value="CRQ_COMPLETED"/>
                </and>
            </condition>
            <link target="EditCustRequestContent">
                <parameter param-name="custRequestId" from-field="custRequest.custRequestId"/>
            </link>
        </menu-item>
    </menu>
</menus>
