<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  -->

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <screen name="CommonBlogTitle">
        <section>
            <condition>
                <not>
                    <if-empty field="parameters.blogContentId"/>
                </not>
            </condition>
            <actions>
                <entity-one entity-name="Content" value-field="blogContent">
                    <field-map field-name="contentId" from-field="parameters.blogContentId"/>
                </entity-one>

                <!-- permission fields -->
                <set field="crPerm.ownerContentId" from-field="blogContentId"/>
                <set field="crPerm.contentOperationId" value="CONTENT_CREATE"/>
                <set field="crPerm.contentPurposeTypeId" value="ARTICLE"/>
            </actions>
            <widgets>
                <container style="bloghr">
                    <container style="leftjustify">
                        <link text="${blogContent.contentName} - ${blogContent.description}" target="MainBlog" style="blogtitle">
                            <parameter param-name="blogContentId"/>
                        </link>
                    </container>
                    <container style="rightjustify">
                        <section>
                            <condition>
                                <if-service-permission service-name="genericContentPermission" main-action="CREATE" context-map="crPerm"/>
                            </condition>
                            <widgets>
                                <link text="${uiLabelMap.CommonAddNew}" target="NewBlogArticle" style="buttontext">
                                    <parameter param-name="blogContentId"/>
                                </link>
                            </widgets>
                        </section>
                        <link target="ViewBlogRss" target-window="_blank" link-type="anchor">
                            <parameter param-name="blogContentId" from-field="blogContent.contentId"/>
                            <parameter param-name="mainLinkReq" value="MainBlog"/>
                            <parameter param-name="entryLinkReq" value="ViewBlogArticle"/>
                            <image src="/images/feed-icon-14x14.png" id="feedIcon" height="12px"/>
                        </link>
                    </container>
                </container>
            </widgets>
            <fail-widgets>
                <label text="${uiLabelMap.EcommerceBlogContentNotFound}" style="blogtitle"/>
            </fail-widgets>
        </section>
    </screen>

    <screen name="MainBlog">
        <section>
            <actions>
                <set field="MainColumnStyle" value="nocolumns"/>
                <set field="blogContentId" from-field="parameters.blogContentId"/>
                <entity-condition entity-name="ContentAssocViewTo" use-cache="false" list="blogList">
                    <condition-list combine="and">
                        <condition-expr field-name="contentIdStart" operator="equals" from-field="blogContentId"/>
                        <condition-expr field-name="caContentAssocTypeId" operator="equals" value="PUBLISH_LINK"/>
                        <condition-expr field-name="caThruDate" operator="equals" value=""/>
                        <condition-expr field-name="statusId" operator="equals" value="CTNT_PUBLISHED"/>
                    </condition-list>
                    <order-by field-name="caFromDate DESC"/>
                </entity-condition>

                <!-- permission fields -->
                <set field="upPerm.contentId" from-field="blogContentId"/>
                <set field="upPerm.contentOperationId" value="CONTENT_UPDATE"/>
                <set field="upPerm.contentPurposeTypeId" value="ARTICLE"/>
            </actions>
            <widgets>
                <section>
                    <!-- if viewer has update permission, show all blogs, even those that were preview only -->
                    <condition>
                        <if-service-permission service-name="genericContentPermission" main-action="UPDATE" context-map="upPerm"/>
                    </condition>
                    <actions>
                        <service service-name="getOwnedOrPublishedBlogEntries" result-map="result">
                            <field-map field-name="contentId" from-field="blogContentId"/>
                            <field-map field-name="userLogin" from-field="userLogin"/>
                        </service>
                        <set field="blogList" from-field="result.blogList" default-value="${blogList}"/>
                    </actions>
                    <widgets/>
                </section>
                <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <iterate-section list="blogList" entry="blog" paginate="true" paginate-target="MainBlog">
                            <section name="firstBlog">
                                <condition>
                                    <if-compare field="itemIndex" operator="equals" type="Integer" value="0"/>
                                </condition>
                                <widgets>
                                    <container style="blogwrapper">
                                        <include-menu name="ViewEdit" location="component://ecommerce/widget/blog/BlogMenus.xml"/>
                                        <platform-specific><html><html-template location="component://ecommerce/template/blog/BlogContentAltLink.ftl"/></html></platform-specific>
                                        <!--<link text="${blog.contentName} [${blog.contentId}]" target="ViewBlogArticle" style="blogheader">
                                            <parameter param-name="contentId" from-field="blog.contentId"/>
                                            <parameter param-name="blogContentId"/>
                                        </link>-->
                                        <!--
                                            <link text="Latest" target="LatestResponses" >
                                                <parameter param-name="ownerContentId" from-field="blog.ownerContentId"/>
                                            </link>
                                        -->
                                        <container style="blogtext">
                                            <sub-content map-key="SUMMARY" content-id="${blog.contentId}"/>
                                        </container>
                                    </container>
                                </widgets>
                            </section>
                            <section name="allOtherBlogs">
                                <condition>
                                    <if-compare field="itemIndex" operator="greater" type="Integer" value="0"/>
                                </condition>
                                <widgets>
                                    <container style="blogwrapper">
                                        <include-menu name="ViewEdit" location="component://ecommerce/widget/blog/BlogMenus.xml"/>
                                        <!--<label text="${blog.contentName} [${blog.contentId}]" style="blogheader"/>-->
                                        <platform-specific><html><html-template location="component://ecommerce/template/blog/BlogContentAltLink.ftl"/></html></platform-specific>
                                        <!--<link text="${blog.contentName} [${blog.contentId}]" target="ViewBlogArticle" style="blogheader">
                                            <parameter param-name="contentId" from-field="blog.contentId"/>
                                            <parameter param-name="blogContentId"/>
                                        </link>-->
                                        <!--
                                            <link text="Latest" target="LatestResponses" >
                                                <parameter param-name="ownerContentId" from-field="blog.ownerContentId"/>
                                            </link>
                                        -->
                                        <container style="blogtext">
                                            <label text="${blog.description}" style="blogtext"/>
                                        </container>
                                    </container>
                                </widgets>
                            </section>
                        </iterate-section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="NewArticle">
        <section>
            <actions>
                <set field="crPerm.ownerContentId" from-field="parameters.blogContentId"/>
                <set field="crPerm.contentOperationId" value="CONTENT_CREATE"/>
                <set field="crPerm.contentPurposeTypeId" value="ARTICLE"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <if-service-permission service-name="genericContentPermission" main-action="CREATE" context-map="crPerm"/>
                    </condition>
                    <widgets>
                        <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                            <decorator-section name="body">
                                <include-form name="EditArticle" location="component://content/widget/forum/BlogForms.xml"/>
                            </decorator-section>
                        </decorator-screen>
                    </widgets>
                    <fail-widgets>
                        <label text="${uiLabelMap.PageTitleEditBlogArticlePermissionError}"></label>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="EditArticle">
        <section>
            <actions>
                <set field="blogContentId" from-field="parameters.blogContentId"/>
                <set field="upPerm.contentId" from-field="parameters.blogContentId"/>
                <set field="upPerm.contentOperationId" value="CONTENT_UPDATE"/>
                <set field="upPerm.contentPurposeTypeId" value="ARTICLE"/>
                <set field="contentId" from-field="parameters.contentId"/>
            </actions>
            <widgets>
                <section>
                    <!--condition>
                        <if-service-permission service-name="genericContentPermission" main-action="UPDATE"/>
                    </condition-->
                    <actions>
                        <service service-name="getBlogEntry" result-map="blogEntry" auto-field-map="true"/>
                    </actions>
                    <widgets>
                        <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                            <decorator-section name="body">
                                <sub-content content-id="${parameters.contentId}" map-key="IMAGE"/>
                                <include-form name="EditArticle" location="component://content/widget/forum/BlogForms.xml"/>
                            </decorator-section>
                        </decorator-screen>
                    </widgets>
                    <fail-widgets>
                        <label text="${uiLabelMap.PageTitleEditBlogArticlePermissionError}: ${contentId} ${uiLabelMap.ContentBlog}: ${blogContentId}"></label>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="ViewArticle">
        <section>
            <actions>
                <set field="articleContentId" from-field="parameters.articleContentId" default-value="${parameters.contentId}"/>
                <set field="ownerContentId" from-field="parameters.ownerContentId"/>
                <set field="blogContentId" from-field="parameters.blogContentId"/>
                <entity-one entity-name="Content" value-field="content" use-cache="true">
                    <field-map field-name="contentId" from-field="articleContentId"/>
                </entity-one>
                <set field="enableEdit" value="false"/>
                <property-to-field property="root.publish.point.blog" field="webPutPt" resource="blog"/>
                <set field="rsp.contentName" value="RE: ${content.contentName}"/>

                <!-- for permission service -->
                <set field="upPerm.contentOperationId" value="CONTENT_UPDATE"/>
                <set field="upPerm.contentPurposeTypeId" value="ARTICLE"/>
                <set field="upPerm.ownerContentId" from-field="ownerContentId"/>
                <set field="upPerm.contentId" from-field="articleContentId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="bloghr">
                            <container style="leftjustify">
                                <label text="${content.contentName}: ${content.description}" style="blogtitle"/>
                            </container>
                            <section>
                                <condition>
                                    <if-service-permission service-name="genericContentPermission" main-action="UPDATE" context-map="upPerm"/>
                                </condition>
                                <widgets>
                                    <container style="rightjustify">
                                        <link text="${uiLabelMap.CommonEdit}" target="EditBlogArticle" style="buttontext">
                                        <parameter param-name="contentId" from-field="articleContentId"/>
                                        <parameter param-name="blogContentId"/>
                                    </link>
                                    </container>
                                </widgets>
                            </section>
                        </container>
                        <container style="blogcontentwrapper">
                            <container style="responsetext">
                                <label text="${uiLabelMap.EcommerceBlogPostedOn}: ${content.createdDate}" style="responsetext"/>
                            </container>
                            <content content-id="${articleContentId}"/>
                        </container>

                        <include-screen name="BlogResponses"/>
                        <!--
                            <link text="Latest" target="LatestResponses" >
                                <parameter param-name="ownerContentId" from-field="webPubPt"/>
                            </link>
                        -->
                        <include-screen name="AddBlogResponse"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="ViewResponse">
        <section>
            <actions>
                <set field="contentId" from-field="parameters.contentId"/>
                <set field="responseContentId" from-field="parameters.contentId"/>
                <set field="articleContentId" from-field="parameters.articleContentId"/>
                <set field="ownerContentId" from-field="parameters.ownerContentId"/>
                <set field="blogContentId" from-field="parameters.blogContentId"/>
                <entity-one entity-name="Content" value-field="content" use-cache="true">
                    <field-map field-name="contentId" from-field="contentId"/>
                </entity-one>
                <entity-one entity-name="Content" value-field="article">
                    <field-map field-name="contentId" from-field="articleContentId"/>
                </entity-one>

                <set field="trail" from-field="articleContentId"/>
                <set field="enableEdit" value="false"/>
                <property-to-field property="root.publish.point.blog" field="webPubPt" resource="blog"/>
                <set field="rsp.contentName" value="${content.contentName}"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="bloghr">
                            <container style="leftjustify">
                                <link text="${article.contentName}: ${article.description}" target="ViewBlogArticle" style="blogtitle">
                                    <parameter param-name="articleContentId"/>
                                    <parameter param-name="blogContentId"/>
                                </link>
                                <label text="${content.contentName}: ${content.description}" style="blogtitle"/>
                            </container>
                            <section>
                                <condition>
                                    <!--
                                    <if-service-permission service-name="genericContentPermission" main-action="UPDATE"/>
                                    -->
                                    <if-empty field="foobar"/>
                                </condition>
                                <widgets>
                                    <container style="rightjustify">
                                        <section>
                                            <condition>
                                                <if-compare field="parameters.edit" operator="not-equals" value="Y"/>
                                            </condition>
                                            <widgets>
                                                <link text="${uiLabelMap.CommonEdit}" target="ViewResponse" style="buttontext">
                                                    <parameter param-name="contentId" from-field="content.contentId"/>
                                                    <parameter param-name="ownerContentId" from-field="content.ownerContentId"/>
                                                    <parameter param-name="articleContentId"/>
                                                    <parameter param-name="blogContentId"/>
                                                    <parameter param-name="edit" value="Y"/>
                                                </link>
                                            </widgets>
                                            <fail-widgets>
                                                <link text="${uiLabelMap.CommonView}" target="ViewResponse" style="buttontext">
                                                    <parameter param-name="contentId" from-field="content.contentId"/>
                                                    <parameter param-name="ownerContentId" from-field="content.ownerContentId"/>
                                                    <parameter param-name="articleContentId"/>
                                                    <parameter param-name="blogContentId"/>
                                                    <parameter param-name="edit" value="N"/>
                                                 </link>
                                            </fail-widgets>
                                        </section>
                                    </container>
                                </widgets>
                            </section>
                        </container>
                        <container style="blogcontentwrapper">
                            <content content-id="${contentId}"/>
                        </container>

                        <include-screen name="AddBlogResponse"/>

                        <container style="bloghr">
                            <label text="${uiLabelMap.ContentForumThread}: " style="blogtitle"/>
                        </container>
                        <include-tree name="ResponseTree" location="component://ecommerce/widget/blog/BlogTrees.xml"/>
                        <section>
                            <condition>
                                <or>
                                    <if-compare field="content.statusId" operator="equals" value="CTNT_INITIAL_DRAFT"/>
                                    <and>
                                        <if-entity-permission entity-id="${content.contentId}" entity-name="Content" target-operation="CONTENT_UPDATE"/>
                                        <if-compare field="parameters.edit" operator="equals" value="Y"/>
                                    </and>
                                </or>

                            </condition>
                            <widgets>
                                <container style="bloghr">
                                    <label text="${uiLabelMap.EcommerceEditThisComment}: " style="blogtitle"/>
                                </container>
                                <include-screen name="EditBlogResponse"/>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="BlogContent">
        <section>
            <condition>
                <not>
                    <if-empty field="contentId"/>
                </not>
            </condition>
            <actions/>

            <widgets>
                <content content-id="${contentId}"/>
            </widgets>
        </section>
    </screen>

    <screen name="AdminBlog">
        <section>
            <actions/>

            <widgets>
                <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <include-form name="FindBlogContent" location="component://ecommerce/widget/blog/BlogForms.xml"/>
                        <include-grid name="listFindBlogContent" location="component://ecommerce/widget/blog/BlogForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="BlogResponses">
        <section>
            <actions>
                <entity-condition entity-name="ContentAssocViewTo" use-cache="true" list="responseList">
                    <condition-list combine="and">
                        <condition-expr field-name="caContentId" operator="equals" value="${articleContentId}"/>
                        <condition-expr field-name="caContentAssocTypeId" operator="equals" value="RESPONSE"/>
                        <condition-expr field-name="caThruDate" operator="equals" value=""/>
                    </condition-list>
                    <order-by field-name="caFromDate DESC"/>
                </entity-condition>

                <set field="viewIndex" from-field="requestParameters.VIEW_INDEX" type="Integer"/>
            </actions>
            <widgets>
                <container style="bloghr">
                    <label text="${uiLabelMap.CommonComments}: " style="blogtitle"/>
                </container>
                <iterate-section list="responseList" entry="rsp" view-size="10">
                    <section name="BlogResponses">
                        <widgets>
                            <include-screen name="responseTreeLine"/>
                        </widgets>
                    </section>
                </iterate-section>
            </widgets>
        </section>
    </screen>

    <screen name="LatestResponses">
        <section>
            <actions>
                <entity-condition entity-name="ContentAssocDataResourceViewTo" use-cache="false" list="responseList">
                    <condition-list combine="and">
                        <condition-expr field-name="ownerContentId" operator="equals" value="${parameters.ownerContentId}"/>
                        <condition-expr field-name="caContentAssocTypeId" operator="equals" value="RESPONSE"/>
                        <condition-expr field-name="caThruDate" operator="equals" value=""/>
                    </condition-list>
                    <order-by field-name="caFromDate DESC"/>
                </entity-condition>

            </actions>
            <widgets>
                <decorator-screen name="CommonBlog" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <label text="${uiLabelMap.EcommerceBlogLatestResponses}"/>
                        <iterate-section list="responseList" entry="rsp">
                            <section name="BlogResponses">
                                <widgets>
                                    <include-screen name="responseTreeLine"/>
                                </widgets>
                            </section>
                        </iterate-section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="responseTreeLine">
        <section>
            <widgets>
                <section>
                    <condition>
                        <if-compare-field field="responseContentId" operator="not-equals" to-field="rsp.contentId"/>
                    </condition>
                    <widgets>
                        <container>
                            <link text="${rsp.contentName}[${rsp.contentId}]" target="ViewResponse" style="responseheader">
                                <parameter param-name="contentId" from-field="rsp.contentId"/>
                                <parameter param-name="ownerContentId" from-field="rsp.ownerContentId"/>
                                <parameter param-name="articleContentId"/>
                                <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
                            </link>
                                            <link text="${uiLabelMap.CommonView}" target="ViewResponse" style="buttontext">
                                <parameter param-name="contentId" from-field="rsp.contentId"/>
                                <parameter param-name="ownerContentId" from-field="rsp.ownerContentId"/>
                                <parameter param-name="articleContentId"/>
                                <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
                            </link>
                            <container style="responsetext">
                                <label text="${rsp.description}" style="responsetext"/>
                                <label text="(${uiLabelMap.EcommerceBlogPostedOn}: ${rsp.createdDate})" style="responsetext"/>
                            </container>
                        </container>
                    </widgets>
                </section>
                <section>
                    <condition>
                        <if-compare-field field="responseContentId" operator="equals" to-field="rsp.contentId"/>
                    </condition>
                    <widgets>
                        <container style="responseSelected">
                            <link text="${rsp.contentName}[${rsp.contentId}]" target="ViewResponse" style="responseheader">
                                <parameter param-name="contentId" from-field="rsp.contentId"/>
                                <parameter param-name="ownerContentId" from-field="rsp.ownerContentId"/>
                                <parameter param-name="articleContentId"/>
                                <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
                            </link>
                                            <link text="${uiLabelMap.CommonView}" target="ViewResponse" style="buttontext">
                                <parameter param-name="contentId" from-field="rsp.contentId"/>
                                <parameter param-name="ownerContentId" from-field="rsp.ownerContentId"/>
                                <parameter param-name="articleContentId"/>
                                <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
                            </link>
                            <container style="responsetext">
                                <label text="${rsp.description}" style="responsetext"/>
                                <label text="(${uiLabelMap.EcommerceBlogPostedOn}: ${rsp.createdDate})" style="responsetext"/>
                            </container>
                        </container>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="blogTreeLine">
        <section>
            <widgets>
                <container>
                    <link text="${rsp.contentName}[${rsp.contentId}]" target="ViewBlogArticle" style="responseheader">
                        <parameter param-name="articleContentId"/>
                        <parameter param-name="ownerContentId" from-field="rsp.ownerContentId"/>
                        <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
                    </link>
                    <link text="${uiLabelMap.EcommerceBlogViewArticle}" target="ViewBlogArticle" style="buttontext">
                        <parameter param-name="articleContentId"/>
                        <parameter param-name="ownerContentId" from-field="rsp.ownerContentId"/>
                        <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
                    </link>
                    <container style="responsetext">
                        <label text="${rsp.description}" style="responsetext"/>
                        <label text="(${uiLabelMap.EcommerceBlogPostedOn}: ${rsp.createdDate})" style="responsetext"/>
                    </container>
                </container>
            </widgets>
        </section>
    </screen>

    <screen name="AddBlogResponse">
        <section>
            <widgets>
                <section>
                    <condition>
                        <if-empty field="parameters.contentId"/>
                    </condition>
                    <actions>
                        <set field="rsp.contentIdFrom" from-field="parameters.articleContentId"/>
                    </actions>
                    <widgets/>
                </section>
                <section>
                    <condition>
                        <not>
                            <if-empty field="parameters.contentId"/>
                        </not>
                    </condition>
                    <actions>
                        <set field="rsp.contentIdFrom" from-field="parameters.contentId"/>
                    </actions>
                    <widgets/>
                </section>
                <section>
                    <actions>
                        <set field="rsp.contentTypeId" value="DOCUMENT"/>
                        <set field="rsp.contentAssocTypeId" value="RESPONSE"/>
                        <set field="rsp.dataResourceTypeId" value="ELECTRONIC_TEXT"/>
                        <set field="rsp.contentOperationId" value="CONTENT_CREATE"/>
                        <set field="rsp.contentPurposeTypeId" value="RESPONSE"/>
                        <set field="rsp.articleContentId" from-field="articleContentId"/>
                        <set field="rsp.ownerContentId" from-field="content.contentId"/>
                        <set field="rsp.blogContentId" from-field="parameters.blogContentId"/>
                        <set field="useRequestParameters" value="false" type="Boolean"/>

                        <!-- used for permission check -->
                        <set field="contentPurposeTypeId" value="ARTICLE"/>
                        <set field="contentOperationId" value="CONTENT_RESPOND"/>
                        <set field="ownerContentId" from-field="content.contentId"/>
                    </actions>
                    <widgets>
                        <container style="bloghr">
                            <label text="${uiLabelMap.CommonAdd} ${uiLabelMap.CommonComment} ${content.contentId}: " style="blogtitle"/>
                            <section>
                                <condition>
                                    <if-service-permission service-name="genericContentPermission" main-action="CREATE"/>
                                </condition>

                                <actions>
                                    <set field="displayForm" value="Y"/>
                                </actions>
                                <widgets/>
                                <fail-widgets>
                                    <label text="${uiLabelMap.EcommerceBlogPostComments}"/>
                                </fail-widgets>
                            </section>
                        </container>
                        <section>
                            <condition>
                                <if-compare field="displayForm" operator="equals" value="Y"/>
                            </condition>
                            <widgets>
                                <container style="blogcontentwrapper">
                                    <include-form name="AddBlogResponse" location="component://ecommerce/widget/blog/BlogForms.xml"/>
                                </container>
                            </widgets>
                        </section>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="EditBlogResponse">
        <section>
            <actions>
                <set field="rsp.contentPurposeTypeId" value="RESPONSE"/>
                <set field="rsp.contentOperationId" value="CONTENT_UPDATE"/>
                <set field="rsp.ownerContentId" from-field="parameters.ownerContentId"/>
                <set field="rsp.blogContentId" from-field="parameters.blogContentId"/>

                <!-- permission fields -->
                <set field="upPerm.ownerContentId" from-field="parameters.ownerContentId"/>
                <set field="upPerm.contentId" from-field="parameters.contentId"/>
                <set field="upPerm.contentOperationId" value="CONTENT_UPDATE"/>
                <set field="upPerm.contentPurposeTypeId" value="RESPONSE"/>
            </actions>
            <widgets>
                <section>
                    <!--
                    <condition>
                        <if-service-permission service-name="genericContentPermission" main-action="UPDATE"/>
                    </condition>
                    -->
                    <actions>
                        <set field="rsp.articleContentId" from-field="articleContentId"/>
                        <entity-one entity-name="DataResource" value-field="dataResource" use-cache="false">
                            <field-map field-name="dataResourceId" from-field="content.dataResourceId"/>
                        </entity-one>
                        <entity-one entity-name="ElectronicText" value-field="electronicText" use-cache="false">
                            <field-map field-name="dataResourceId" from-field="content.dataResourceId"/>
                        </entity-one>
                    </actions>
                    <widgets>
                        <container style="blogcontentwrapper">
                            <include-form name="EditBlogResponse" location="component://ecommerce/widget/blog/BlogForms.xml"/>
                        </container>
                    </widgets>
                    <fail-widgets>
                        <label text="${uiLabelMap.EcommerceBlogEditComments}"/>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <!-- Column Included Screens -->
    <screen name="blogs">
        <section>
            <actions>
                <entity-condition entity-name="ContentAssocViewTo" list="blogs" use-cache="true">
                    <condition-list combine="and">
                        <condition-expr field-name="contentIdStart" operator="equals" value="BLOGROOT"/>
                        <condition-expr field-name="caContentAssocTypeId" operator="equals" value="SUB_CONTENT"/>
                        <condition-list combine="or">
                            <condition-expr field-name="caFromDate" operator="equals" from-field="null"/>
                            <condition-expr field-name="caFromDate" operator="less-equals" from-field="nowTimestamp"/>
                        </condition-list>
                        <condition-list combine="or">
                            <condition-expr field-name="caThruDate" operator="equals" from-field="null"/>
                            <condition-expr field-name="caThruDate" operator="greater-equals" from-field="nowTimestamp"/>
                        </condition-list>
                    </condition-list>
                    <order-by field-name="contentName"/>
                </entity-condition>
            </actions>
            <widgets>
                <platform-specific>
                    <html>
                        <html-template location="component://ecommerce/template/blog/Blogs.ftl"/>

                    </html>
                </platform-specific>
            </widgets>
        </section>
    </screen>
</screens>


