<?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="view_edit" default-title-style="tabButton" default-selected-style="tabButtonSelected" default-menu-item-name="all" orientation="horizontal" menu-width="100%" default-widget-style="tabButton" menu-container-style="blogmenuwrapper" title="" type="simple">
        <menu-item name="edit" title="${uiLabelMap.CommonEdit}">
            <condition>
                <or>
                    <if-has-permission permission="CONTENTMGR" action="UPDATE"/>
                    <if-entity-permission entity-id="${blog.contentId}" entity-name="Content" target-operation="CONTENT_UPDATE"/>
                </or>
            </condition>
            <link text="${uiLabelMap.CommonEdit}" target="EditBlogArticle" style="buttontext">
                <parameter param-name="contentId" from-field="blog.contentId"/>
                <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
            </link>
        </menu-item>
    </menu>
</menus>
