<?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"
        xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.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/minilang/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" map="portalPortlet" to-map="deletePortalPagePortletInMap"/>
                <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 entity-name="PortalPagePortlet" list="portlets">
            <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 list="portlets" entry="portalPagePortlet"/>

        <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 list="ppList" entry="portalPage"/>
            <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 list="checkSequenceNums" entry="checkSequenceNum"/>
            <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 list="getDatas" entry="getData"/>
        <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 entity-name="PortalPagePortlet" value-field="originPp">
            <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 field="parameters.mode" operator="contains" 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 entity-name="PortalPagePortlet" list="modifyPpList">
             <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 field="parameters.mode" operator="equals" 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 entity-name="PortalPagePortlet" list="modifyPpList">
             <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 field="parameters.mode" operator="contains" value="NEW">
            <set field="newSequenceNo" value="0"/>
        </if-compare>

        <!-- Modify the sequence id from the following portlets -->
        <if-not-empty field="modifyPpList">
            <iterate list="modifyPpList" entry="modifyPp">
                <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>
