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

<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods-v2.xsd">

    <simple-method method-name="movePortletToPortalPage" short-description="Moves a PortalPortlet from the actual portalPage to a different one">
        <call-simple-method method-name="checkOwnerShip"/>
        <entity-one entity-name="PortalPagePortlet" value-field="oldEntity"/>
        <set field="parameters.portalPageId" from-field="parameters.newPortalPageId"/>
        <call-simple-method method-name="copyIfRequiredSystemPage" xml-resource="component://common/script/org/ofbiz/common/PortalPageMethods.xml"/>
        <set field="parameters.newPortalPageId" from-field="portalPageId"/>
        <make-value value-field="newEntity" entity-name="PortalPagePortlet"/>
        <set field="newEntity.portalPortletId" from-field="parameters.portalPortletId"/>
        <set field="newEntity.portalPageId" from-field="parameters.newPortalPageId"/>
        <set field="newEntity.columnNum" value="1"/>
        <make-next-seq-id value-field="newEntity" seq-field-name="portletSeqId"/>
        <create-value value-field="newEntity"/>
        <remove-value value-field="oldEntity"/>
    </simple-method>

    <simple-method method-name="addPortalPageColumn" short-description="Add a new Column to a PortalPage">
        <call-simple-method method-name="checkOwnerShip"/>
        <make-value entity-name="PortalPageColumn" value-field="newEntity"/>
        <set-pk-fields map="parameters" value-field="newEntity"/>
        <if-empty field="parameters.columnSeqId">
            <make-next-seq-id value-field="newEntity" seq-field-name="columnSeqId"/>
        </if-empty>
        <field-to-result field="newEntity.columnSeqId" result-name="columnSeqId"/>
        <set-nonpk-fields map="parameters" value-field="newEntity"/>
        <create-value value-field="newEntity"/>
    </simple-method>

    <simple-method method-name="deletePortalPageColumn" short-description="Delete a Column from a PortalPage">
        <call-simple-method method-name="checkOwnerShip"/>
        <entity-one entity-name="PortalPageColumn" value-field="column" auto-field-map="true"/>
        <if-not-empty field="column">
            <entity-and entity-name="PortalPagePortlet" list="portalPortletList">
                <field-map field-name="portalPageId" from-field="column.portalPageId"/>
                <field-map field-name="columnSeqId"  from-field="column.columnSeqId"/>
            </entity-and>
            <iterate list="portalPortletList" entry="portalPortlet">
                <set-service-fields service-name="deletePortalPagePortlet" to-map="deletePortalPagePortletInMap" map="portalPortlet"/>
                <call-service service-name="deletePortalPagePortlet" in-map-name="deletePortalPagePortletInMap"/>
            </iterate>
            <remove-value value-field="column"/>
        </if-not-empty>
        <check-errors/>
    </simple-method>

    <simple-method method-name="createPortalPagePortlet" short-description="Add a registered PortalPortlet to a PortalPage">
        <call-simple-method method-name="checkOwnerShip"/>
        <make-value entity-name="PortalPagePortlet" value-field="newEntity"/>
        <set-pk-fields map="parameters" value-field="newEntity"/>

        <entity-condition list="portlets" entity-name="PortalPagePortlet">
            <condition-expr field-name="portalPageId" operator="equals" from-field="parameters.portalPageId"/>
            <select-field field-name="sequenceNum"/>
            <order-by field-name="-sequenceNum"/>
            <limit-range size="1" start="0"/>
        </entity-condition>
        <first-from-list entry="portalPagePortlet" list="portlets"/>

        <if-empty field="portalPagePortlet.sequenceNum">
            <calculate field="newEntity.sequenceNum" type="Long"><number value="1"/></calculate>
            <else>
                <calculate field="newEntity.sequenceNum" type="Long">
                    <calcop operator="add" field="portalPagePortlet.sequenceNum">
                        <number value="1"/>
                    </calcop>
                </calculate>
            </else>
        </if-empty>

        <make-next-seq-id value-field="newEntity" seq-field-name="portletSeqId"/>
        <field-to-result field="newEntity.portletSeqId" result-name="portletSeqId"/>
        <set-nonpk-fields map="parameters" value-field="newEntity"/>
        <create-value value-field="newEntity"/>
    </simple-method>

    <simple-method method-name="deletePortalPagePortlet" short-description="Delete a PortalPortlet from a PortalPageColumn">
        <call-simple-method method-name="checkOwnerShip"/>
        <entity-one entity-name="PortalPagePortlet" value-field="portlet" auto-field-map="true"/>
        <if-not-empty field="portlet">
            <make-value value-field="newEntity" entity-name="PortletAttribute"/>
            <set field="newEntity.portalPageId" from-field="portlet.portalPageId"/>
            <set field="newEntity.portalPortletId" from-field="portlet.portalPortletId"/>
            <set field="newEntity.portletSeqId" from-field="portlet.portletSeqId"/>
            <remove-by-and entity-name="PortletAttribute" map="newEntity"/>
            <remove-value value-field="portlet"/>
        </if-not-empty>
    </simple-method>

    <simple-method method-name="getPortletAttributes" short-description="Get all attributes of a Portlet either by providing userLogin or portalPageid with portalPortletId" login-required="true">
        <if-empty field="parameters.ownerUserLoginId">
            <if-empty field="parameters.portalPageId">
                <log level="error" message="Service getPortletAttributes did not receive either ownerUserLoginId OR portalPageId"></log>
                <string-to-list string="Service getPortletAttributes did not receive either ownerUserLoginId OR portalPageId" list="error_list"/>
            </if-empty>
        </if-empty>
        <check-errors/>
        <!-- if userLogin provided get the portalPageId with the required portlet -->
        <if-not-empty field="parameters.ownerUserLoginId">
            <entity-and entity-name="PortalPageAndPortlet" list="ppList">
                <field-map field-name="ownerUserLoginId" from-field="parameters.ownerUserLoginId"/>
                <field-map field-name="portalPortletId"  from-field="parameters.portalPortletId"/>
            </entity-and>
            <first-from-list entry="portalPage" list="ppList"/>
            <set field="parameters.portalPageId" from-field="portalPage.portalPageId"/>
        </if-not-empty>
        <entity-condition entity-name="PortletAttribute" list="attributeList">
            <condition-list combine="and">
                <condition-expr field-name="portalPageId" operator="equals" from-field="parameters.portalPageId"/>
                <condition-expr field-name="portalPortletId" operator="equals" from-field="parameters.portalPortletId"/>
                <condition-expr field-name="portletSeqId" operator="equals" from-field="parameters.portletSeqId" ignore-if-empty="true"/>
            </condition-list>
        </entity-condition>
        <if-not-empty field="attributeList">
            <iterate list="attributeList" entry="attributeRecord">
                <set field="attributeMap.${attributeRecord.attrName}" from-field="attributeRecord.attrValue"/>
            </iterate>
            <field-to-result field="attributeMap" result-name="attributeMap"/>
        </if-not-empty>
    </simple-method>

    <simple-method method-name="createPortalPage" short-description="Create a new Portal Page">
        <if-not-empty field="parameters.portalPageName">
            <make-value entity-name="PortalPage" value-field="newPortalPage"/>
            <set-pk-fields map="parameters" value-field="newPortalPage"/>
            <if-empty field="newPortalPage.portalPageId">
                <sequenced-id sequence-name="PortalPage" field="newPortalPage.portalPageId"/>
            </if-empty>
            <set-nonpk-fields map="parameters" value-field="newPortalPage"/>
            <set field="newPortalPage.ownerUserLoginId" from-field="parameters.userLogin.userLoginId"/>
            <if-empty field="parameters.sequenceNum">
                <make-next-seq-id value-field="newPortalPage" seq-field-name="sequenceNum"/>
            </if-empty>
            <create-value value-field="newPortalPage"/>
            <field-to-result field="newPortalPage.portalPageId" result-name="portalPageId"/>
        </if-not-empty>
    </simple-method>

    <simple-method method-name="deletePortalPage" short-description="Delete a Portal Page">
        <entity-one entity-name="PortalPage" value-field="getPortalPage"/>
        <if-not-empty field="getPortalPage.originalPortalPageId">
            <entity-one entity-name="PortalPage" value-field="getOldSequenceNum">
                <field-map field-name="portalPageId" from-field="getPortalPage.originalPortalPageId"/>
            </entity-one>
            <entity-condition entity-name="PortalPage" list="checkSequenceNums">
                <condition-list combine="and">
                    <condition-expr field-name="sequenceNum" operator="equals" from-field="getOldSequenceNum.sequenceNum"/>
                    <condition-expr field-name="ownerUserLoginId" operator="equals" from-field="userLogin.userLoginId"/>
                    <condition-expr field-name="parentPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                </condition-list>
            </entity-condition>
            <first-from-list entry="checkSequenceNum" list="checkSequenceNums"/>
            <if-not-empty field="checkSequenceNum.portalPageId">
                <set field="first.portalPageId" from-field="checkSequenceNum.portalPageId"/>
                <set field="first.sequenceNum" from-field="getPortalPage.sequenceNum" type="Long"/>
                <call-service service-name="updatePortalPage" in-map-name="first"/>
            </if-not-empty>
        </if-not-empty>
        <call-simple-method method-name="checkOwnerShip"/>
        <remove-related value-field="portalPage" relation-name="PortalPageColumn"/>
        <remove-related value-field="portalPage" relation-name="PortalPagePortlet"/>
        <remove-value value-field="portalPage"/>
    </simple-method>

    <simple-method method-name="checkOwnerShip" short-description="Check the ownership of a Portal Page">
        <if-not-empty field="parameters.portalPageId">
            <entity-one entity-name="PortalPage" value-field="portalPage"/>
            <if-empty field="portalPage">
                <add-error>
                    <fail-property resource="CommonUiLabels" property="PortalPageNotFound"/>
                </add-error>
            </if-empty>
            <check-errors/>
            <if> <!-- only page owner or user with MYPORTALBASE_ADMIN can modify the page detail -->
              <condition>
                <and>
                  <if-compare field="portalPage.ownerUserLoginId" operator="not-equals" value="${parameters.userLogin.userLoginId}"/>
                  <not>
                       <if-has-permission permission="MYPORTALBASE" action="_ADMIN"/>
                  </not>
                </and>
              </condition>
              <then>
                <add-error>
                    <fail-property resource="CommonUiLabels" property="PortalPageNotOwned"/>
                </add-error>
              </then>
            </if>
            <check-errors/>
        </if-not-empty>
    </simple-method>
    <simple-method method-name="updatePortalPageSeq" short-description="Update the portal page sequence numbers">
        <call-simple-method method-name="checkOwnerShip"/>
        <entity-one entity-name="PortalPage" value-field="getSequenceNum"/>
        <if-compare field="parameters.mode" value="UP" operator="equals">
            <entity-condition entity-name="PortalPage" list="getDatas">
                <condition-list combine="and">
                    <condition-expr field-name="sequenceNum" operator="less" from-field="getSequenceNum.sequenceNum"/>
                    <condition-expr field-name="ownerUserLoginId" operator="equals" from-field="userLogin.userLoginId"/>
                    <condition-list combine="or">
                        <condition-expr field-name="parentPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                        <condition-expr field-name="originalPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="-sequenceNum"/>
            </entity-condition>
        </if-compare>
        <if-compare field="parameters.mode" value="DWN" operator="equals">
            <entity-condition entity-name="PortalPage" list="getDatas">
                <condition-list combine="and">
                    <condition-expr field-name="sequenceNum" operator="greater" from-field="getSequenceNum.sequenceNum"/>
                    <condition-expr field-name="ownerUserLoginId" operator="equals" from-field="userLogin.userLoginId"/>
                    <condition-list combine="or">
                        <condition-expr field-name="parentPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                        <condition-expr field-name="originalPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="sequenceNum"/>
            </entity-condition>
        </if-compare>
        <if-compare field="parameters.mode" value="TOP" operator="equals">
            <entity-condition entity-name="PortalPage" list="getDatas">
                <condition-list combine="and">
                    <condition-expr field-name="sequenceNum" operator="less" from-field="getSequenceNum.sequenceNum"/>
                    <condition-expr field-name="ownerUserLoginId" operator="equals" from-field="userLogin.userLoginId"/>
                    <condition-list combine="or">
                        <condition-expr field-name="parentPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                        <condition-expr field-name="originalPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="sequenceNum"/>
            </entity-condition>
        </if-compare>
        <if-compare field="parameters.mode" value="BOT" operator="equals">
            <entity-condition entity-name="PortalPage" list="getDatas">
                <condition-list combine="and">
                    <condition-expr field-name="sequenceNum" operator="greater" from-field="getSequenceNum.sequenceNum"/>
                    <condition-expr field-name="ownerUserLoginId" operator="equals" from-field="userLogin.userLoginId"/>
                    <condition-list combine="or">
                        <condition-expr field-name="parentPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                        <condition-expr field-name="originalPortalPageId" operator="equals" from-field="parameters.parentPortalPageId"/>
                    </condition-list>
                </condition-list>
                <order-by field-name="-sequenceNum"/>
            </entity-condition>
        </if-compare>
        <first-from-list entry="getData" list="getDatas"/>
        <set field="portalPage.sequenceNum" from-field="getData.sequenceNum" type="Long"/>
        <store-value value-field="portalPage"/>
        <set field="first.portalPageId" from-field="getData.portalPageId"/>
        <set field="first.sequenceNum" from-field="getSequenceNum.sequenceNum" type="Long"/>
        <call-service service-name="updatePortalPage" in-map-name="first"/>
    </simple-method>

    <!-- update Portlet Seq with Drag & Drop -->
    <simple-method method-name="updatePortletSeqDragDrop" short-description="Updates a portlet Seq No for the Drag and Drop Feature">
        <set field="parameters.portalPageId" from-field="parameters.o_portalPageId"/>
        <call-simple-method method-name="checkOwnerShip"/>

        <!-- origin Portlet -->
        <entity-one value-field="originPp" entity-name="PortalPagePortlet">
            <field-map field-name="portalPageId" from-field="parameters.o_portalPageId"/>
            <field-map field-name="portalPortletId" from-field="parameters.o_portalPortletId"/>
            <field-map field-name="portletSeqId" from-field="parameters.o_portletSeqId"/>
        </entity-one>
        <if-empty field="originPp">
            <return response-code="error"/>
        </if-empty>
        <set field="columnSeqId" from-field="parameters.destinationColumn" default-value="${originPp.columnSeqId}"/>

        <!-- destination Portlet -->
        <if-compare operator="contains" field="parameters.mode" value="DRAGDROPBEFORE">
            <entity-one value-field="destiPp" entity-name="PortalPagePortlet">
                <field-map field-name="portalPageId" from-field="parameters.d_portalPageId"/>
                <field-map field-name="portalPortletId" from-field="parameters.d_portalPortletId"/>
                <field-map field-name="portletSeqId" from-field="parameters.d_portletSeqId"/>
            </entity-one>

            <entity-condition list="modifyPpList" entity-name="PortalPagePortlet">
             <condition-list combine="and">
                <condition-expr field-name="portalPageId" operator="equals" from-field="parameters.portalPageId"/>
                <condition-expr field-name="columnSeqId" operator="equals" from-field="columnSeqId"/>
                <condition-expr field-name="sequenceNum" operator="greater-equals" from-field="destiPp.sequenceNum"/>
                <condition-expr field-name="sequenceNum" operator="less" from-field="originPp.sequenceNum" ignore-if-empty="true"/>
             </condition-list>
             <order-by field-name="sequenceNum"/>
            </entity-condition>
            <set field="increase" value="1" type="Long"/>
            <set field="newSequenceNo" from-field="destiPp.sequenceNum"/>
        </if-compare>

        <if-compare operator="equals" field="parameters.mode" value="DRAGDROPAFTER">
            <entity-one value-field="destiPp" entity-name="PortalPagePortlet">
                <field-map field-name="portalPageId" from-field="parameters.d_portalPageId"/>
                <field-map field-name="portalPortletId" from-field="parameters.d_portalPortletId"/>
                <field-map field-name="portletSeqId" from-field="parameters.d_portletSeqId"/>
            </entity-one>

            <entity-condition list="modifyPpList" entity-name="PortalPagePortlet">
             <condition-list combine="and">
                <condition-expr field-name="portalPageId" operator="equals" from-field="parameters.portalPageId"/>
                <condition-expr field-name="columnSeqId" operator="equals" from-field="columnSeqId"/>
                <condition-expr field-name="sequenceNum" operator="greater" from-field="originPp.sequenceNum"/>
                <condition-expr field-name="sequenceNum" operator="less-equals" from-field="destiPp.sequenceNum" ignore-if-empty="true"/>
             </condition-list>
             <order-by field-name="-sequenceNum"/>
            </entity-condition>
            <set field="increase" value="-1" type="Long"/>
            <set field="newSequenceNo" from-field="destiPp.sequenceNum"/>
        </if-compare>

        <if-compare operator="contains" field="parameters.mode" value="NEW">
            <set field="newSequenceNo" value="0"/>
        </if-compare>

        <!-- Modify the sequence id from the following portlets -->
        <if-not-empty field="modifyPpList">
            <iterate entry="modifyPp" list="modifyPpList">
                <if-empty field="modifyPp.sequenceNum">
                    <set field="modifyPp.sequenceNum" value="newSequenceNo"/>
                    <else>
                        <calculate field="modifyPp.sequenceNum" type="Long">
                            <calcop operator="add" field="newSequenceNo">
                                <calcop operator="get" field="increase"/>
                            </calcop>
                        </calculate>
                        <calculate field="increase" type="Long">
                            <calcop operator="add" field="increase">
                                <calcop operator="get" field="increase"/>
                            </calcop>
                        </calculate>
                    </else>
                </if-empty>
                <store-value value-field="modifyPp"/>
            </iterate>
        </if-not-empty>
        <!-- Create a new db entry for the moved portlet -->
        <set field="originPp.columnSeqId" from-field="columnSeqId"/>
        <set field="originPp.sequenceNum" from-field="newSequenceNo" type="Long"/>
        <store-value value-field="originPp"/>
    </simple-method>
    <!--  -->
</simple-methods>
