<?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"
 xmlns="http://ofbiz.apache.org/Widget-Menu" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Menu 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="${groovy:
                result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                org.apache.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="${groovy:
                result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                org.apache.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" menu-container-style="button-bar button-style-2">
        <actions>
            <set field="projectId" from-field="parameters.projectId" default-value="${parameters.workEffortId}"/>
            <set field="hasUpdatePermission" value="${groovy:
                result = dispatcher.runSync(&quot;projectMgrPermission&quot;,
                org.apache.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_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="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>
