applications/product/widget/catalog/CatalogMenus.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->
<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd">
<menu name="CatalogAppBar" title="${uiLabelMap.ProductCatalog}" extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="catalogs" title="${uiLabelMap.ProductCatalogs}"><link target="FindCatalog"><parameter param-name="find" value="true"/></link></menu-item>
<menu-item name="categories" title="${uiLabelMap.ProductCategories}"><link target="FindCategory"/></menu-item>
<menu-item name="products" title="${uiLabelMap.ProductProducts}"><link target="FindProduct"/></menu-item>
<menu-item name="productReviews" title="${uiLabelMap.ProductReviews}"><link target="FindReviews"/></menu-item>
<menu-item name="store" title="${uiLabelMap.ProductStores}"><link target="FindProductStore"/></menu-item>
<menu-item name="pricerules" title="${uiLabelMap.ProductPrices}"><link target="FindProductPriceRules"/></menu-item>
<menu-item name="promos" title="${uiLabelMap.ProductPromotions}"><link target="FindProductPromo"/></menu-item>
<menu-item name="subscriptions" title="${uiLabelMap.ProductSubscriptions}"><link target="FindSubscription"/></menu-item>
<menu-item name="carriers" title="${uiLabelMap.ProductCarriers}"><link target="ListCarrierShipmentMethods"/></menu-item>
<menu-item name="features" title="${uiLabelMap.ProductFeatures}"><link target="ListFeatures"/></menu-item>
<!-- SCIPIO - Remove; will be replaced with content app features -->
<!-- <menu-item name="Imagemanagement" title="${uiLabelMap.CommonMedia}"><link target="Imagemanagement"/></menu-item> -->
</menu>
<menu name="CatalogAppSideBar" title="${uiLabelMap.ProductCatalog}" extends="CommonAppSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
always-expand-selected-or-ancestor="true">
<!-- Already included in CommonSidebar
<menu-item name="main" title="${uiLabelMap.CommonDashboard}" sort-mode="off"><link target="main"></link></menu-item>-->
<include-elements menu-name="CatalogAppBar" recursive="full" />
<!-- SCIPIO: TODO? FindProductSettings target does not exist <menu-item name="settings" title="${uiLabelMap.ProductSettings}" sort-mode="off"><link target="FindProductSettings"/></menu-item>-->
<menu-item name="catalogs">
<sub-menu name="Catalog" include="CatalogSideBar"/>
</menu-item>
<menu-item name="categories">
<sub-menu name="Category" include="CategorySideBar"/>
</menu-item>
<menu-item name="products">
<sub-menu name="Product" include="ProductSideBar"/>
</menu-item>
<menu-item name="store">
<sub-menu name="ProductStore" include="ProductStoreSideBar"/>
</menu-item>
<!-- SCIPIO: NOTE: there is no dedicated pricerules sub-menu
<menu-item name="pricerules">
<sub-menu name="" include="SideBar"/>
</menu-item>
-->
<menu-item name="promos">
<sub-menu name="Promo" include="PromoSideBar"/>
</menu-item>
<menu-item name="subscriptions">
<sub-menu name="Subscriptions" include="SubscriptionSideBar"/>
</menu-item>
<!-- SCIPIO (11/30/2018): Moved specific carrier screens that are not bound to the store. -->
<menu-item name="carriers">
<sub-menu name="Carriers" include="CarrierSideBar"/>
</menu-item>
<menu-item name="features">
<sub-menu name="Features" include="FeaturesSideBar"/>
</menu-item>
<!--
<menu-item name="Imagemanagement">
<sub-menu name="ImageManagement" include="ImageManagementSideBar"/>
</menu-item>
-->
</menu>
<menu name="CatalogTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="ProductCatalog" title="${uiLabelMap.ProductCatalog}">
<link target="EditProdCatalog">
<parameter param-name="prodCatalogId"/>
</link>
</menu-item>
<!-- SCIPIO: ProductStores has been removed -->
<menu-item name="PartyParties" title="${uiLabelMap.ProductCatalogParties}">
<link target="EditProdCatalogParties">
<parameter param-name="prodCatalogId"/>
</link>
</menu-item>
<menu-item name="ProductCategories" title="${uiLabelMap.ProductCatalogCategories}">
<link target="EditProdCatalogCategories">
<parameter param-name="prodCatalogId"/>
</link>
</menu-item>
</menu>
<menu name="CatalogSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<include-elements menu-name="CatalogTabBar" recursive="includes-only" />
</menu>
<menu name="CatalogSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductCatalog" title="${uiLabelMap.ProductNewProdCatalog}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-true field="isCreateProdCatalog"/></not>
</condition>
<link target="EditProdCatalog"/>
</menu-item>
<!-- SCIPIO: CreateSeo has been removed -->
</menu>
<menu name="ProductFeaturesSubTabBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<menu-item-alias name="EditProductFeatures" for="PARENT-WITHSUB"/>
<menu-item name="Feature" title="${uiLabelMap.ProductFeature}">
<link target="EditProductFeatures">
<parameter param-name="productId"/>
</link>
</menu-item>
</menu>
<menu name="ProductFeaturesSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<include-elements menu-name="ProductFeaturesSubTabBar" recursive="includes-only" />
</menu>
<menu name="FeaturesTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="ListFeatures" title="${uiLabelMap.ProductFeature}">
<!--<!– SCIPIO: always show this for now because otherwise there's a consistency issue-->
<!--<condition>-->
<!--<or>-->
<!--<if-compare field="activeSubMenuItem" operator="equals" value="Feature" />-->
<!--<not><if-empty field="productFeatureId"/></not>-->
<!--</or>-->
<!--</condition>–>-->
<link target="ListFeatures">
<!--<parameter param-name="productFeatureId"/>-->
</link>
</menu-item>
<menu-item name="FeatureType" title="${uiLabelMap.ProductFeatureType}">
<link target="EditFeatureTypes">
<!-- does nothing
<parameter param-name="productFeatureTypeId"/> -->
</link>
</menu-item>
<menu-item name="FeatureCategory" title="${uiLabelMap.ProductFeatureCategory}">
<link target="EditFeatureCategories">
<!-- all it does is prefix find form, not helpful
<parameter param-name="productFeatureCategoryId"/> -->
</link>
</menu-item>
<menu-item name="FeatureGroup" title="${uiLabelMap.ProductFeatureGroup}">
<link target="EditFeatureGroups"/>
</menu-item>
<menu-item name="FeatureInterAction" title="${uiLabelMap.ProductFeatureInteraction}">
<link target="EditFeatureInterActions"/>
</menu-item>
</menu>
<menu name="FeaturesSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<include-elements menu-name="FeaturesTabBar" recursive="includes-only" />
</menu>
<menu name="FeaturesSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditFeature" title="${uiLabelMap.ProductNewFeature}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateFeature" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditFeature"/>
</menu-item>
<menu-item name="EditFeatureCategoryFeatures" title="${uiLabelMap.ProductGoToFeatureCategory} ${productFeature.productFeatureCategoryId}" widget-style="+${styles.action_nav}">
<condition>
<and>
<not><if-empty field="productFeature"/></not>
<not><if-empty field="productFeature.productFeatureCategoryId"/></not>
</and>
</condition>
<link target="EditFeatureCategoryFeatures">
<parameter param-name="productFeatureCategoryId" from-field="productFeature.productFeatureCategoryId"/>
</link>
</menu-item>
</menu>
<menu name="FeatureTypeSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditFeatureType" title="${uiLabelMap.ProductNewFeatureType}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateFeatureType" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditFeatureType"/>
</menu-item>
</menu>
<menu name="FeatureInterActionSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditFeatureInterAction" title="${uiLabelMap.ProductNewFeatureInterAction}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateFeatureInterAction" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditFeatureInterAction"/>
</menu-item>
</menu>
<menu name="ShippingTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<!-- SCIPIO (11/30/2018): Removed the ones not depending on store (carriers). -->
<menu-item name="ListShipmentMethodTypes" title="${uiLabelMap.ProductShipmentMethodTypes}">
<link target="ListShipmentMethodTypes"/>
</menu-item>
<menu-item name="EditProductStoreShipSetup" title="${uiLabelMap.ProductStoreShippingSetup}">
<link target="EditProductStoreShipSetup">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreShipmentCostEstimates" title="${uiLabelMap.ProductViewEstimates}">
<link target="EditProductStoreShipmentCostEstimates">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
</menu>
<menu name="ShippingSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<include-elements menu-name="ShippingTabBar" recursive="includes-only" />
</menu>
<menu name="CarrierSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="CreateCarrier" title="${uiLabelMap.ProductNewCarrier}" widget-style="+${styles.action_nav} ${styles.action_add}">
<link target="addCarrier" />
</menu-item>
</menu>
<menu name="CarrierTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="ListQuantityBreaks" title="${uiLabelMap.ProductQuantityBreaks}">
<link target="ListQuantityBreaks"/>
</menu-item>
<menu-item name="ListCarrierShipmentMethods" title="${uiLabelMap.ProductCarrierShipmentMethods}">
<link target="ListCarrierShipmentMethods"/>
</menu-item>
</menu>
<menu name="CarrierSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<include-elements menu-name="CarrierTabBar" recursive="includes-only" />
</menu>
<menu name="CategoryTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditCategory" title="${uiLabelMap.ProductCategory}">
<link target="EditCategory">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditCategoryContent" title="${uiLabelMap.ProductCategoryContent}">
<link target="EditCategoryContent">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditCategoryRollup" title="${uiLabelMap.ProductCategoryAssociations}">
<link target="EditCategoryRollup">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditCategoryProducts" title="${uiLabelMap.ProductCategoryProds}">
<link target="EditCategoryProducts">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditCategoryAttributes" title="${uiLabelMap.ProductCategoryAttributes}">
<link target="EditCategoryAttributes">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<!-- SCIPIO - To be demoved -->
<!-- <menu-item name="EditCategoryProdCatalogs" title="${uiLabelMap.ProductCatalogs}">
<link target="EditCategoryProdCatalogs">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditCategoryFeatureCats" title="${uiLabelMap.ProductCategoryFeatures}">
<link target="EditCategoryFeatureCats">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditCategoryParties" title="${uiLabelMap.ProductCategoryParties}">
<link target="EditCategoryParties">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="EditProductCategoryLinks" title="${uiLabelMap.ProductCategoryLinks}">
<link target="EditProductCategoryLinks">
<parameter param-name="productCategoryId"/>
</link>
</menu-item> -->
</menu>
<menu name="CategorySideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<include-elements menu-name="CategoryTabBar" recursive="includes-only" />
</menu>
<menu name="CategorySubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<actions>
<property-to-field resource="catalog" property="shop.default.link.category.prefix" field="categoryPageUrl"/>
</actions>
<menu-item name="EditCategory" title="${uiLabelMap.ProductNewCategory}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateCategory" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditCategory"/>
</menu-item>
<menu-item name="createProductInCategoryStart" title="${uiLabelMap.ProductCreateProductInCategory}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="createProductInCategoryStart">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="DuplicateCategory" title="${uiLabelMap.ProductDuplicateCategory}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="EditCategory">
<parameter param-name="duplicateCategory" value="Y" />
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="AdvancedSearch" title="${uiLabelMap.ProductSearchInCategory}" widget-style="+search">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="advancedsearch">
<parameter param-name="SEARCH_CATEGORY_ID" from-field="productCategoryId"/>
</link>
</menu-item>
<menu-item name="ProductCategoryPage" title="${uiLabelMap.CommonShopPage}" widget-style="+website"><!-- SCIPIO: was: title="${uiLabelMap.ProductCategoryPage}" -->
<condition>
<and>
<not><if-empty field="productCategory"/></not>
<not><if-empty field="categoryPageUrl"/></not>
</and>
</condition>
<!-- SCIPIO: Now points to shop -->
<link target="${categoryPageUrl}${productCategory.productCategoryId}" url-mode="plain" target-window="_blank"/>
</menu-item>
</menu>
<menu name="CategoryContentSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="NewContentInCategory" title="${uiLabelMap.ContentNewContent}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="EditCategoryContent">
<parameter param-name="productCategoryId"/>
</link>
</menu-item>
<menu-item name="AddExistingContentInCategory" title="${uiLabelMap.ProductAddExistingContentInCategory}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="addExistingContentInCategory">
<parameter param-name="productCategoryId"/>
<parameter param-name="addExistingContent" value="Y"/>
</link>
</menu-item>
</menu>
<menu name="CategoryProductSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditCategoryProduct" title="${uiLabelMap.ProductCopyCategoryProductsToCategory}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="EditCategoryProducts">
<parameter param-name="productCategoryId"/>
<parameter param-name="copyProductToCategory" value="Y"/>
</link>
</menu-item>
<menu-item name="ExpireAllCategoryProducts" title="${uiLabelMap.ProductExpireAllCategoryProducts}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="EditCategoryProducts">
<parameter param-name="productCategoryId"/>
<parameter param-name="expireAllCategoryProducts" value="Y"/>
</link>
</menu-item>
<menu-item name="RemoveExpiredCategoryProducts" title="${uiLabelMap.ProductRemoveExpiredCategoryProducts}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="productCategory"/></not>
</condition>
<link target="EditCategoryProducts">
<parameter param-name="productCategoryId"/>
<parameter param-name="removeExpiredCategoryProducts" value="Y"/>
</link>
</menu-item>
</menu>
<menu name="ProductStoreTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductStore" title="${uiLabelMap.ProductStore}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStore">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="FindProductStoreRoles" title="${uiLabelMap.PartyRoles}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="FindProductStoreRoles">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStorePromos" title="${uiLabelMap.ProductPromos}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStorePromos">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreCatalogs" title="${uiLabelMap.ProductCatalogs}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreCatalogs">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<!-- SCIPIO: NOTE: WebSite editing is now handled within catalog app instead of delegating to content app -->
<menu-item name="EditProductStoreWebSites" title="${uiLabelMap.ProductWebSites}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreWebSites">
<parameter param-name="productStoreId" from-field="productStoreId"/>
</link>
</menu-item>
<!-- The tax stuff is in the Tax Authority area of the accounting manager, need to re-do this screen to list current tax entries and link to the accmgr screens
<menu-item name="EditProductStoreTaxSetup" title="${uiLabelMap.ProductSalesTax}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreTaxSetup">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
-->
<menu-item name="ListShipmentMethodTypes" title="${uiLabelMap.ProductShipping}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="ListShipmentMethodTypes">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<!-- SCIPIO: Renamed to Payment Methods -->
<menu-item name="EditProductStorePaySetup" title="${uiLabelMap.ProductPaymentMethods}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStorePaySetup">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreFinAccountSettings" title="${uiLabelMap.CommonFinAccounts}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreFinAccountSettings">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreFacilities" title="${uiLabelMap.ProductFacility}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="ProductStoreFacilities">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreEmails" title="${uiLabelMap.CommonEmails}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreEmails">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreSurveys" title="${uiLabelMap.CommonSurveys}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreSurveys">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreKeywordOvrd" title="${uiLabelMap.FormFieldTitle_keyword}"><!-- ProductOverride -->
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="editProductStoreKeywordOvrd">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="ViewProductStoreSegments" title="${uiLabelMap.ProductSegments}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="ViewProductStoreSegments">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreVendorPayments" title="${uiLabelMap.ProductVendorPayments}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreVendorPayments">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<menu-item name="EditProductStoreVendorShipments" title="${uiLabelMap.ProductVendorShipments}">
<condition>
<not><if-empty field="productStore"/></not>
</condition>
<link target="EditProductStoreVendorShipments">
<parameter param-name="productStoreId"/>
</link>
</menu-item>
<!-- SCIPIO: fallback entry. currently it will normally not show. -->
<menu-item name="EditProductStoreGroups" title="${uiLabelMap.ProductProductStoreGroup}">
<condition>
<and>
<not><if-empty field="productStore"/></not>
<not><if-empty field="_non_existent_variable_"/></not>
</and>
</condition>
<link target="ListParentProductStoreGroup">
<parameter param-name="productStoreGroupId"/>
</link>
</menu-item>
</menu>
<menu name="ProductStoreSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<include-elements menu-name="ProductStoreTabBar" recursive="includes-only" />
<menu-item name="EditProductStoreWebSites">
<sub-menu name="WebSite" include="component://content/widget/content/ContentMenus.xml#WebSiteSideBar"/>
</menu-item>
<menu-item name="ListShipmentMethodTypes">
<sub-menu name="Shipping" include="ShippingSideBar"/>
</menu-item>
</menu>
<menu name="ProductStoreSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductStore" title="${uiLabelMap.ProductNewProductStore}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateProductStore" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditProductStore"/>
</menu-item>
<!-- SCIPIO: TODO: Implement the collapse/expand, here or elsewhere
<menu-item name="Expand" title="${uiLabelMap.CommonExpandAll}" widget-style="+${styles.action_run_local} ${styles.action_show}">
<condition>
<or>
<if-compare operator="equals" value="EditProductStore" field="activeSubMenuItem"/>
<if-compare operator="equals" value="EditProductStoreShipmentCostEstimates" field="activeSubMenuItem"/>
</or>
</condition>
<link target="javascript:expandAll(true);" url-mode="plain"/>
</menu-item>
<menu-item name="Collapse" title="${uiLabelMap.CommonCollapseAll}" widget-style="+${styles.action_run_local} ${styles.action_hide}">
<condition>
<or>
<if-compare operator="equals" value="EditProductStore" field="activeSubMenuItem"/>
<if-compare operator="equals" value="EditProductStoreShipmentCostEstimates" field="activeSubMenuItem"/>
</or>
</condition>
<link target="javascript:expandAll(false);" url-mode="plain"/>
</menu-item>
-->
</menu>
<menu name="ProductStoreGroupButtonBar" extends="CommonButtonBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="editstoregroup" widget-style="+${styles.action_nav} ${styles.action_add}">
<link target="EditProductStoreGroup" text="${uiLabelMap.ProductNewGroup}"/>
</menu-item>
</menu>
<menu name="ProductStoreFacility" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<!-- SCIPIO: got rid of ajax
<menu-item name="AddProductStoreFacility" title="${uiLabelMap.ProductAddFacility}" widget-style="+${styles.action_nav} ${styles.action_add}">
<link target="javascript:ajaxUpdateArea('ProductStoreFacilityEditArea', 'editProductStoreFacility', 'productStoreId=${parameters.productStoreId}');"
url-mode="plain"/>
</menu-item>
-->
</menu>
<menu name="PriceRulesButtonBar" extends="CommonButtonBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="FindRules" title="${uiLabelMap.CommonAdd}/${uiLabelMap.ProductFindRule}">
<link target="FindProductPriceRules"/>
</menu-item>
</menu>
<menu name="PromoTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductPromo" title="${uiLabelMap.ProductPromotion}" always-expand-selected-or-ancestor="false"><!-- SCIPIO: this uses a weird construct -->
<condition>
<not>
<if-empty field="productPromoId"/>
</not>
</condition>
<link target="EditProductPromo">
<parameter param-name="productPromoId"/>
</link>
</menu-item>
<menu-item name="FindProductPromo" title="${uiLabelMap.ProductPromotion}">
<condition>
<if-empty field="productPromoId"/>
</condition>
<link target="FindProductPromo" />
</menu-item>
<menu-item name="EditProductPromoRules" title="${uiLabelMap.ProductRules}">
<condition>
<not>
<if-empty field="productPromoId"/>
</not>
</condition>
<link target="EditProductPromoRules">
<parameter param-name="productPromoId"/>
</link>
</menu-item>
<menu-item name="EditProductPromoStores" title="${uiLabelMap.ProductStores}">
<condition>
<not>
<if-empty field="productPromoId"/>
</not>
</condition>
<link target="EditProductPromoStores">
<parameter param-name="productPromoId"/>
</link>
</menu-item>
<menu-item name="FindProductPromoCode" title="${uiLabelMap.ProductPromotionCode}">
<link target="FindProductPromoCode">
<parameter param-name="productPromoId"/>
</link>
</menu-item>
<menu-item name="EditProductPromoContent" title="${uiLabelMap.CommonContent}">
<condition>
<not>
<if-empty field="productPromoId"/>
</not>
</condition>
<link target="EditProductPromoContent">
<parameter param-name="productPromoId"/>
</link>
</menu-item>
</menu>
<!-- SCIPIO: new Promo Sidebar -->
<menu name="PromoSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<include-elements menu-name="PromoTabBar" recursive="includes-only" />
</menu>
<menu name="PromoSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductPromo" title="${uiLabelMap.ProductNewPromotion}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateProductPromo" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditProductPromo"/>
</menu-item>
</menu>
<menu name="PromoCodeSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductPromoCode" title="${uiLabelMap.ProductNewPromotionCode}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateProductPromoCode" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditProductPromoCode"/>
</menu-item>
</menu>
<menu name="ProductTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<!-- SCIPIO: this is inconsistent with catalog/categories menus; handled by decorator
<menu-item name="FindProduct" title="${uiLabelMap.ProductFindProduct}">
<condition>
<if-empty field="parameters.productId"/>
</condition>
<link target="FindProduct" />
</menu-item>
-->
<menu-item name="EditProduct" title="${uiLabelMap.ProductProduct}">
<condition mode="omit">
<and>
<if-has-permission permission="CATALOG" action="_UPDATE"/>
<!-- SCIPIO: this is added but only used in emergency; New screen shouldn't show submenu -->
<not>
<if-empty field="parameters.productId"/>
</not>
</and>
</condition>
<link target="EditProduct">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="ViewProduct" title="${uiLabelMap.ProductProductOverview}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="ViewProduct">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductPrices" title="${uiLabelMap.ProductPrices}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductPrices">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductContent" title="${uiLabelMap.ProductContent}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductContent">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductGeos" title="${uiLabelMap.CommonGeos}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductGeos">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductGoodIdentifications" title="${uiLabelMap.CommonIds}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductGoodIdentifications">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductCategories" title="${uiLabelMap.ProductCategories}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductCategories">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: EditProductKeyword removed -->
<menu-item name="EditProductAssoc" title="${uiLabelMap.ProductAssociations}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductAssoc">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: ViewProductManufacturing removed -->
<menu-item name="EditProductCosts" title="${uiLabelMap.ProductCosts}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductCosts">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductAttributes" title="${uiLabelMap.ProductAttributes}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductAttributes">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: NOTE: we set disabled attribute because always-expand-selected-or-ancestor="true"
may be set, which will bypass the condition. but currently there may not be a product ID, and in that case
the target EditProductFeatures will not work, so must disable in that case.
-->
<menu-item name="EditProductFeatures" title="${uiLabelMap.ProductFeatures}" disabled="${(empty context.productId) and (not currentMenuRenderState.itemState.conditionResult)}">
<condition>
<not>
<!--<if-empty field="parameters.productId"/>-->
<if-empty field="productId"/>
</not>
</condition>
<link target="EditProductFeatures">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductFacilities" title="${uiLabelMap.ProductFacilities}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductFacilities">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: TODO: Merge with EditProductFacilities
<menu-item name="EditProductFacilityLocations" title="${uiLabelMap.ProductLocations}">
<link target="EditProductFacilityLocations">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductInventoryItems" title="${uiLabelMap.ProductInventory}">
<link target="EditProductInventoryItems">
<parameter param-name="productId"/>
<parameter param-name="showAllFacilities" value="Y"/>
</link>
</menu-item>
-->
<menu-item name="EditSupplierProduct" title="${uiLabelMap.ProductSuppliers}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductSuppliers">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: ViewProductAgreements removed -->
<!-- SCIPIO: TODO: Migrate to accounting
<menu-item name="EditProductGlAccounts" title="${uiLabelMap.ProductAccounts}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductGlAccounts">
<parameter param-name="productId"/>
</link>
</menu-item>-->
<menu-item name="EditProductPaymentMethodTypes" title="${uiLabelMap.ProductPaymentTypes}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductPaymentMethodTypes">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: EditProductMaints removed -->
<!-- SCIPIO: Review - this is a special type of product attribute
<menu-item name="EditProductMeters" title="${uiLabelMap.ProductMeters}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductMeters">
<parameter param-name="productId"/>
</link>
</menu-item>-->
<menu-item name="EditProductSubscriptionResources" title="${uiLabelMap.ProductSubscriptionResources}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductSubscriptionResources">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: EditProductQuickAdmin removed -->
<menu-item name="EditVendorProduct" title="${uiLabelMap.PartyVendor}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditVendorProduct">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="QuickAddVariants" title="${uiLabelMap.ProductVariants}">
<condition>
<and>
<if-compare field="product.isVirtual" operator="equals" value="Y"/>
<not>
<if-empty field="parameters.productId"/>
</not>
</and>
</condition>
<link target="QuickAddVariants">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: NOTE: the disabled is here due to same reasons as EditProductFeatures, see EditProductFeatures -->
<menu-item name="EditProductConfigs" title="${uiLabelMap.ProductConfigs}" disabled="${(empty context.productId) and (not currentMenuRenderState.itemState.conditionResult)}">
<condition>
<and>
<or>
<if-compare field="product.productTypeId" operator="equals" value="AGGREGATED"/>
<if-compare field="product.productTypeId" operator="equals" value="AGGREGATED_SERVICE"/>
</or>
<not>
<!--<if-empty field="parameters.productId"/>-->
<if-empty field="productId"/>
</not>
</and>
</condition>
<link target="EditProductConfigs">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="EditProductAssetUsage" title="${uiLabelMap.ProductAssetUsage}">
<condition>
<and>
<or>
<if-compare field="product.productTypeId" operator="equals" value="ASSET_USAGE"/>
<if-compare field="product.productTypeId" operator="equals" value="ASSET_USAGE_OUT_IN"/>
</or>
<not>
<if-empty field="parameters.productId"/>
</not>
</and>
</condition>
<link target="EditProductAssetUsage">
<parameter param-name="productId"/>
</link>
</menu-item>
<!-- SCIPIO: EditProductWorkEfforts removed -->
<!-- SCIPIO: Remove - the usefulness is really limited here and should probably be listed elsewhere
<menu-item name="EditProductParties" title="${uiLabelMap.PartyParties}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="EditProductParties">
<parameter param-name="productId"/>
</link>
</menu-item>
-->
<!-- SCIPIO: viewProductOrder removed -->
<!-- SCIPIO: EditProductCommunicationEvents removed -->
<!-- SCIPIO: ViewProductGroupOrder removed -->
</menu>
<menu name="ProductSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<include-elements menu-name="ProductTabBar" recursive="includes-only" />
<!--<menu-item name="EditProductFeatures">-->
<!--<!– SCIPIO: NOTE: see comments on EditProductFeatures in ProductTabBar –>-->
<!--<sub-menu name="Features" include="FeaturesSideBar"/>-->
<!--</menu-item>-->
<menu-item name="EditProductConfigs">
<!-- SCIPIO: NOTE: see comments on EditProductFeatures in ProductTabBar -->
<sub-menu name="ConfigItem" include="ConfigItemSideBar"/>
</menu-item>
</menu>
<!-- SCIPIO: small tab bar needed for content (may be removed in future) -->
<menu name="ProductContentSectionSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="NewProductContent" title="${uiLabelMap.ContentNewContent}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-empty field="product.productId"/></not>
</condition>
<link target="EditProductContent">
<parameter param-name="productId" from-field="product.productId"/>
</link>
</menu-item>
</menu>
<!-- SCIPIO: ProductSubTabBar Deprecated - replaced by component://product/webapp/catalog/menu/ProductSubTabBar.ftl -->
<menu name="ProductReviewTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="FindReviews" title="${uiLabelMap.ProductReviews}">
<link target="FindReviews">
<parameter param-name="productId" from-field="product.productId"/>
</link>
</menu-item>
<menu-item name="updateProductReview" title="${uiLabelMap.ProductConfigOptions}">
<condition>
<not>
<if-empty field="parameters.productId"/>
</not>
</condition>
<link target="updateProductReview">
<parameter param-name="productId" from-field="product.productId"/>
</link>
</menu-item>
</menu>
<menu name="ProductReviewSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<include-elements menu-name="ProductReviewTabBar" recursive="includes-only" />
</menu>
<menu name="ConfigItemTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductConfigItem" title="${uiLabelMap.ProductConfigItem}">
<link target="EditProductConfigItem">
<parameter param-name="configItemId"/>
</link>
</menu-item>
<menu-item name="EditProductConfigOptions" title="${uiLabelMap.ProductConfigOptions}">
<link target="EditProductConfigOptions">
<parameter param-name="configItemId"/>
</link>
</menu-item>
<menu-item name="EditProductConfigItemContent" title="${uiLabelMap.ProductContent}">
<link target="EditProductConfigItemContent">
<parameter param-name="configItemId"/>
</link>
</menu-item>
<!-- SCIPIO: this is sort of circular in our menu hierarchy
<menu-item name="ProductConfigItemArticle" title="${uiLabelMap.ProductProduct}">
<link target="ProductConfigItemArticle">
<parameter param-name="configItemId"/>
</link>
</menu-item>
-->
</menu>
<menu name="ConfigItemSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<include-elements menu-name="ConfigItemTabBar" recursive="includes-only" />
</menu>
<!-- SCIPIO: new -->
<menu name="ConfigItemSubTabBar" extends="CommonSubTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
<menu-item name="EditProductConfigItem" title="${uiLabelMap.ProductNewConfigItem}" widget-style="+${styles.action_nav} ${styles.action_add}">
<condition>
<not><if-compare field="isCreateConfigItem" operator="equals" type="Boolean" value="true"/></not>
</condition>
<link target="EditProductConfigItem"/>
</menu-item>
</menu>
<menu name="SubscriptionSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml" menu-container-style="+scipio-nav-actions-menu">
<include-elements menu-name="SubscriptionTabBar" recursive="includes-only" />
</menu>
<menu name="SubscriptionTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"></menu>
<!-- SCIPIO - Remove; will be replaced with content app features -->
<!-- <menu name="ImageManagementTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
selected-menuitem-context-field-name="userTabButtonImage">
<menu-item name="main" title="${uiLabelMap.CommonMain}" sort-mode="off">
<condition mode="omit">
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</condition>
<link target="Imagemanagement"/>
</menu-item>
<menu-item name="ImageGallery" title="${uiLabelMap.ImageManagementGallery}">
<link target="ListImageGallery">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="ImageUpload" title="${uiLabelMap.CommonUpload}">
<condition mode="omit">
<or>
<if-has-permission permission="IMAGE_MANAGEMENT_UPLOAD"/>
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</or>
</condition>
<link target="ImageUpload">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="ImageManage" title="${uiLabelMap.CommonManage}">
<condition mode="omit">
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</condition>
<link target="ListImageManage">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="ImageApprove" title="${uiLabelMap.ImageManagementApprove}">
<condition mode="omit">
<or>
<if-has-permission permission="IMAGE_MANAGEMENT_APPROVE"/>
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</or>
</condition>
<link target="ImageApprove"/>
</menu-item>
<menu-item name="ImageRejected" title="${uiLabelMap.CommonRejected}">
<condition mode="omit">
<or>
<if-has-permission permission="IMAGE_MANAGEMENT_APPROVE"/>
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</or>
</condition>
<link target="ImageRejected"/>
</menu-item>
<menu-item name="ImageRecentlyApproved" title="${uiLabelMap.ImageManagementRecentlyApproved}">
<condition mode="omit">
<or>
<if-has-permission permission="IMAGE_MANAGEMENT_APPROVE"/>
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</or>
</condition>
<link target="ImageRecentlyApproved"/>
</menu-item>
<menu-item name="ImageReplace" title="${uiLabelMap.ImageManagementReplace}">
<condition mode="omit">
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</condition>
<link target="ListImageReplace">
<parameter param-name="productId"/>
</link>
</menu-item>
<menu-item name="ImageResize" title="${uiLabelMap.ImageManagementResize}">
<condition mode="omit">
<if-has-permission permission="IMAGE_MANAGEMENT_ADMIN"/>
</condition>
<link target="ImageResize">
<parameter param-name="productId"/>
</link>
</menu-item>
</menu>
<menu name="ImageManagementSideBar" extends="CommonSideBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
selected-menuitem-context-field-name="userTabButtonImage">
<include-elements menu-name="ImageManagementTabBar" recursive="includes-only" />
</menu> -->
</menus>