You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2009/02/18 09:55:20 UTC
svn commit: r745438 - in /ofbiz/trunk/framework/common:
script/org/ofbiz/common/PortalPageServices.xml servicedef/services.xml
webcommon/WEB-INF/actions/includes/ListPortalPages.groovy
webcommon/WEB-INF/portal-controller.xml widget/PortalPageForms.xml
Author: hansbak
Date: Wed Feb 18 08:55:20 2009
New Revision: 745438
URL: http://svn.apache.org/viewvc?rev=745438&view=rev
Log:
allow changing the order of the portal pages, currently only for private pages(click first on 'edit' to make the movement pictures show)
Modified:
ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml
ofbiz/trunk/framework/common/servicedef/services.xml
ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy
ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
ofbiz/trunk/framework/common/widget/PortalPageForms.xml
Modified: ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml?rev=745438&r1=745437&r2=745438&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml (original)
+++ ofbiz/trunk/framework/common/script/org/ofbiz/common/PortalPageServices.xml Wed Feb 18 08:55:20 2009
@@ -105,23 +105,44 @@
</simple-method>
<simple-method method-name="createPortalPage" short-description="Create a new Portal Page">
- <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"/>
- <set field="newPortalPageColumn.portalPageId" from-field="newPortalPage.portalPageId"/>
- <call-service service-name="addPortalPageColumn" in-map-name="newPortalPageColumn"/>
- <field-to-result field="newPortalPage.portalPageId" result-name="portalPageId"/>
+ <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"/>
+ <set field="newPortalPageColumn.portalPageId" from-field="newPortalPage.portalPageId"/>
+ <call-service service-name="addPortalPageColumn" in-map-name="newPortalPageColumn"/>
+ <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"/>
@@ -200,5 +221,67 @@
</if-compare>
<store-value value-field="portalPagePortlet"/>
</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>
+
</simple-methods>
Modified: ofbiz/trunk/framework/common/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/servicedef/services.xml?rev=745438&r1=745437&r2=745438&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/servicedef/services.xml (original)
+++ ofbiz/trunk/framework/common/servicedef/services.xml Wed Feb 18 08:55:20 2009
@@ -623,13 +623,20 @@
location="org/ofbiz/common/PortalPageServices.xml" invoke="deletePortalPage">
<description>Delete a Portal Page, related colums and used portlets</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
+ <auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updatePortalPagePortletSeq" engine="simple" default-entity-name="PortalPagePortlet" auth="true"
location="org/ofbiz/common/PortalPageServices.xml" invoke="updatePortalPagePortletSeq">
<auto-attributes mode="IN" include="pk"/>
<attribute name="mode" type="String" mode="IN"/><!-- possible values: TOP, BOTTOM, UP, DOWN -->
</service>
-
+ <service name="updatePortalPageSeq" engine="simple" default-entity-name="PortalPage" auth="true"
+ location="org/ofbiz/common/PortalPageServices.xml" invoke="updatePortalPageSeq">
+ <auto-attributes mode="IN" include="pk"/>
+ <auto-attributes include="nonpk" mode="IN" optional="true"/>
+ <attribute name="mode" type="String" mode="IN"/><!-- possible values: TOP, BOTTOM, UP, DOWN -->
+ </service>
+
<!-- PortalPageColumn services -->
<service name="addPortalPageColumn" default-entity-name="PortalPageColumn" engine="simple" auth="true"
location="org/ofbiz/common/PortalPageServices.xml" invoke="addPortalPageColumn">
Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy?rev=745438&r1=745437&r2=745438&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy (original)
+++ ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy Wed Feb 18 08:55:20 2009
@@ -69,7 +69,27 @@
}
}
+ // get sequenceNumMin and sequenceNumMax
+ sequenceNumCond =
+ EntityCondition.makeCondition([
+ EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, parameters.userLogin.userLoginId),
+ EntityCondition.makeCondition([
+ EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId),
+ EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, parentPortalPageId)
+ ],EntityOperator.OR),
+ ],EntityOperator.AND);
+ sequenceNums = delegator.findList("PortalPage", sequenceNumCond, null, ["sequenceNum"], null, false);
+ if(sequenceNums){
+ parameters.sequenceNumMin = sequenceNums.get(0).sequenceNum;
+ parameters.sequenceNumMax = sequenceNums.get(sequenceNums.size()-1).sequenceNum;
+ }
+ else{
+ parameters.sequenceNumMin = "null";
+ parameters.sequenceNumMax = "null";
+ }
+
context.portalPages = portalPages;
context.userLoginSecurityGroupId = userLoginSecurityGroupId;
+ parameters.portalPagesSize = portalPages.get(portalPages.size()-1).sequenceNum;
}
Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml?rev=745438&r1=745437&r2=745438&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml (original)
+++ ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml Wed Feb 18 08:55:20 2009
@@ -113,6 +113,12 @@
<response name="success" type="request" value="ManagePortalPages"/>
<response name="error" type="request" value="ManagePortalPages"/>
</request-map>
+ <request-map uri="updatePortalPageSeq">
+ <security https="true" auth="true"/>
+ <event type="service" invoke="updatePortalPageSeq"/>
+ <response name="success" type="request" value="ManagePortalPages"/>
+ <response name="error" type="request" value="ManagePortalPages"/>
+ </request-map>
<!-- View Mappings -->
<view-map name="showPortalPage" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortalPage"/>
Modified: ofbiz/trunk/framework/common/widget/PortalPageForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageForms.xml?rev=745438&r1=745437&r2=745438&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/PortalPageForms.xml (original)
+++ ofbiz/trunk/framework/common/widget/PortalPageForms.xml Wed Feb 18 08:55:20 2009
@@ -18,17 +18,22 @@
under the License.
-->
-<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../../widget/dtd/widget-form.xsd">
<form name="ListPortalPages" type="list" list-name="portalPages" paginate-target="ManagePortalPages" separate-columns="true"
odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
- <row-actions>
- <set field="portalPageName" from-field="portalPageName" default-value="???"/>
- </row-actions>
<field name="portalPageId" title="${uiLabelMap.CommonEdit}">
<hyperlink description="${uiLabelMap.CommonEdit}" target="ManagePortalPages?portalPageId=${portalPageId}&parentPortalPageId=${parameters.parentPortalPageId}"/>
</field>
+ <field name="top" title=" " use-when="(ownerUserLoginId.equals("_NA_"))||(sequenceNum == ${parameters.sequenceNumMin})"><hyperlink target="" description=""/></field>
+ <field name="bot" title=" " use-when="(ownerUserLoginId.equals("_NA_"))||(sequenceNum >= ${parameters.sequenceNumMax})"><hyperlink target="" description=""/></field>
+ <field name="up" title=" " use-when="(ownerUserLoginId.equals("_NA_"))||(sequenceNum == ${parameters.sequenceNumMin})"><hyperlink target="" description=""/></field>
+ <field name="dwn" title=" " use-when="(ownerUserLoginId.equals("_NA_"))||(sequenceNum >= ${parameters.sequenceNumMax})"><hyperlink target="" description=""/></field>
+ <field name="top" title=" " use-when="(!ownerUserLoginId.equals("_NA_"))&&(sequenceNum > ${parameters.sequenceNumMin})"><hyperlink target="updatePortalPageSeq?mode=TOP&portalPageId=${portalPageId}&parentPortalPageId=${parameters.parentPortalPageId}" image-location="/images/arrow-end-up-green.png"/></field>
+ <field name="bot" title=" " use-when="(!ownerUserLoginId.equals("_NA_"))&&(sequenceNum < ${parameters.sequenceNumMax})"><hyperlink target="updatePortalPageSeq?mode=BOT&portalPageId=${portalPageId}&parentPortalPageId=${parameters.parentPortalPageId}" image-location="/images/arrow-end-down-green.png"/></field>
+ <field name="up" title=" " use-when="(!ownerUserLoginId.equals("_NA_"))&&(sequenceNum > ${parameters.sequenceNumMin})"><hyperlink target="updatePortalPageSeq?mode=UP&portalPageId=${portalPageId}&parentPortalPageId=${parameters.parentPortalPageId}" image-location="/images/arrow-single-up-green.png"/></field>
+ <field name="dwn" title=" " use-when="(!ownerUserLoginId.equals("_NA_"))&&(sequenceNum < ${parameters.sequenceNumMax})"><hyperlink target="updatePortalPageSeq?mode=DWN&portalPageId=${portalPageId}&parentPortalPageId=${parameters.parentPortalPageId}" image-location="/images/arrow-single-down-green.png"/></field>
<field name="portalPageName" use-when="ownerUserLoginId.equals("_NA_")" title="${uiLabelMap.CommonName}" sort-field="true"><display/></field>
<field name="portalPageName" use-when="!ownerUserLoginId.equals("_NA_")" title="${uiLabelMap.CommonName}" id-name="portalPageName" widget-style="tabletext" sort-field="true">
<display>
@@ -56,15 +61,11 @@
</field>
</form>
- <form name="NewPortalPage" type="single" target="createPortalPage?mainPortalPageId=${parameters.portalPageId}">
- <actions>
- <script location="component://common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy"/>
- </actions>
+ <form name="NewPortalPage" type="single" target="createPortalPage">
<field name="parentPortalPageId"><hidden value="${parameters.parentPortalPageId}"/></field>
+ <field name="sequenceNum"><hidden value="${parameters.portalPagesSize+1}"/></field>
<field name="portalPageName" position="1"><text/></field>
<field name="description" position="2"><text/></field>
<field name="createButton"><submit button-type="button"/></field>
- </form>
-
-
+ </form>
</forms>