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> |
Free forum by Nabble | Edit this page |