Author: hansbak
Date: Sun Feb 15 15:10:50 2009 New Revision: 744675 URL: http://svn.apache.org/viewvc?rev=744675&view=rev Log: improved menu widget for portal pages, reactivated menuitem override and various other improvements Added: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy (with props) Removed: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ShowPortalPage.groovy ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy ofbiz/trunk/framework/common/widget/PortalPageScreens.xml ofbiz/trunk/framework/example/widget/example/CommonScreens.xml ofbiz/trunk/framework/example/widget/example/ExampleMenus.xml ofbiz/trunk/framework/widget/dtd/widget-menu.xsd ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml ofbiz/trunk/specialpurpose/myportal/widget/MyPortalMenus.xml Added: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy?rev=744675&view=auto ============================================================================== --- ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy (added) +++ ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy Sun Feb 15 15:10:50 2009 @@ -0,0 +1,57 @@ +/* + * 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. + */ + +import org.ofbiz.entity.*; +import org.ofbiz.base.util.*; +import org.ofbiz.entity.condition.*; + +// executes only on startup when no parameters.portalPageId is available +if (parameters.parentPortalPageId && !parameters.portalPageId) { + // look for system page according the current securitygroup + //get the security group + userLoginSecurityGroupId = null; + condSec = EntityCondition.makeCondition([ + EntityCondition.makeCondition("groupId", EntityOperator.LIKE, parameters.parentPortalPageId + "%"), + EntityCondition.makeCondition("userLoginId", EntityOperator.EQUALS, parameters.userLogin.userLoginId) + ],EntityOperator.AND); + userLoginSecurityGroups = delegator.findList("UserLoginSecurityGroup", condSec, null, null, null, false); + if (UtilValidate.isNotEmpty(userLoginSecurityGroups)) { + userLoginSecurityGroupId = userLoginSecurityGroups.get(0).get("groupId"); + } + Debug.log("=====security group found: " + userLoginSecurityGroupId); + //get the portal page + cond1 = EntityCondition.makeCondition([ + EntityCondition.makeCondition("portalPageId", EntityOperator.LIKE, parameters.parentPortalPageId + "%"), + EntityCondition.makeCondition("securityGroupId", EntityOperator.EQUALS, userLoginSecurityGroupId), + EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, "_NA_"), + EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, null) + ],EntityOperator.AND); + portalMainPages = delegator.findList("PortalPage", cond1, null, null, null, false); + if (portalMainPages) { + portalPage = portalMainPages.get(0); + Debug.log("=====page found: " + portalPage.portalPageId); + if ("_NA_".equals(portalPage.ownerUserLoginId)) { + context.parameters.parentPortalPageId = portalPage.portalPageId; + } else { + context.parameters.parentPortalPageId = portalPage.orginalPortalPageId; + } + context.parameters.portalPageId = portalPage.portalPageId; //make sure we have a starting portalPageId + context.headerItem = portalPage.portalPageId; // and the menu item is highlighted + } +} Propchange: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy ------------------------------------------------------------------------------ svn:mime-type = text/plain 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=744675&r1=744674&r2=744675&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 Sun Feb 15 15:10:50 2009 @@ -22,7 +22,6 @@ import org.ofbiz.entity.condition.*; // only execute when a user is logged in if (parameters.userLogin) { - // find userLoginSecurityGroupId = null; condSec = EntityCondition.makeCondition([ EntityCondition.makeCondition("groupId", EntityOperator.LIKE, parameters.parentPortalPageId + "%"), @@ -34,7 +33,7 @@ userLoginSecurityGroupId = userLoginSecurityGroups.get(0).get("groupId"); } - //get the portal page + //get the portal mainpage cond1 = EntityCondition.makeCondition([ EntityCondition.makeCondition("portalPageId", EntityOperator.LIKE, parameters.parentPortalPageId + "%"), EntityCondition.makeCondition("securityGroupId", EntityOperator.EQUALS, userLoginSecurityGroupId), @@ -45,7 +44,7 @@ if (portalMainPages) { parentPortalPageId = portalMainPages.get(0).portalPageId; } - + // get user and system pages ppCond = EntityCondition.makeCondition([ EntityCondition.makeCondition([ @@ -72,6 +71,5 @@ context.portalPages = portalPages; context.userLoginSecurityGroupId = userLoginSecurityGroupId; - parameters.parentPortalPageId = parentPortalPageId } Modified: ofbiz/trunk/framework/common/widget/PortalPageScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageScreens.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/framework/common/widget/PortalPageScreens.xml (original) +++ ofbiz/trunk/framework/common/widget/PortalPageScreens.xml Sun Feb 15 15:10:50 2009 @@ -25,18 +25,28 @@ <section> <actions> <set field="headerItem" from-field="parameters.portalPageId"/> - <script location="component://common/webcommon/WEB-INF/actions/includes/ShowPortalPage.groovy"/> </actions> <widgets> <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> - <platform-specific><html><html-template location="component://common/webcommon/portal/showPortalPage.ftl"/></html></platform-specific> + <section> + <actions> + <entity-one entity-name="PortalPage" value-field="portalPage"/> + <get-related value-field="portalPage" relation-name="PortalPageColumn" list="portalPageColumns"/> + <entity-and entity-name="PortalPagePortletView" list="portalPagePortlets"> + <field-map field-name="portalPageId" from-field="portalPage.portalPageId"/> + </entity-and> + </actions> + <widgets> + <platform-specific><html><html-template location="component://common/webcommon/portal/showPortalPage.ftl"/></html></platform-specific> + </widgets> + </section> </decorator-section> </decorator-screen> </widgets> </section> </screen> - + <screen name="ManagePortalPages"> <section> <actions> Modified: ofbiz/trunk/framework/example/widget/example/CommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/widget/example/CommonScreens.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/framework/example/widget/example/CommonScreens.xml (original) +++ ofbiz/trunk/framework/example/widget/example/CommonScreens.xml Sun Feb 15 15:10:50 2009 @@ -43,8 +43,8 @@ <set field="applicationMenuName" value="ExampleAppBar" global="true"/> <set field="applicationMenuLocation" value="component://example/widget/example/ExampleMenus.xml" global="true"/> <!--set field="appheaderTemplate" value="component://example/webapp/appheader.ftl"/--> - <set field="parameters.parentPortalPageId" value="EXAMPLE"/> - <script location="component://common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy"/> + <set field="parameters.parentPortalPageId" from-field="parameters.parentPortalPageId" default-value="EXAMPLE"/> + <script location="component://common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy"/> <set field="applicationTitle" value="${uiLabelMap.ExampleApplication}" global="true"/> </actions> <widgets> @@ -180,7 +180,11 @@ <section> <actions> <set field="parameters.portalPageId" value="EXAMPLE"/> - <script location="component://common/webcommon/WEB-INF/actions/includes/ShowPortalPage.groovy"/> + <entity-one entity-name="PortalPage" value-field="portalPage"/> + <get-related value-field="portalPage" relation-name="PortalPageColumn" list="portalPageColumns"/> + <entity-and entity-name="PortalPagePortletView" list="portalPagePortlets"> + <field-map field-name="portalPageId" from-field="portalPage.portalPageId"/> + </entity-and> </actions> <widgets> <include-screen name="FindExample" location="component://example/widget/example/ExampleScreens.xml"/> Modified: ofbiz/trunk/framework/example/widget/example/ExampleMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/widget/example/ExampleMenus.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/framework/example/widget/example/ExampleMenus.xml (original) +++ ofbiz/trunk/framework/example/widget/example/ExampleMenus.xml Sun Feb 15 15:10:50 2009 @@ -19,14 +19,13 @@ --> <menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd"> - + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd"> <menu name="ExampleAppBar" title="${uiLabelMap.ExampleApplication}" extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> <menu-item name="Example" title="${uiLabelMap.ExampleExample}"><link target="FindExample"/></menu-item> <menu-item name="ExampleFeature" title="${uiLabelMap.ExampleFeature}"><link target="FindExampleFeature"/></menu-item> <menu-item name="FormWidgetExamples" title="${uiLabelMap.ExampleFormWidgetExamples}"><link target="FormWidgetExamples"/></menu-item> <menu-item name="AjaxExample" title="Ajax Examples"><link target="authview/findExampleAjax"/></menu-item> - <menu-item portal-page="EXAMPLE"/> + <menu-item name="portalPage" parent-portal-page-value="${parameters.parentPortalPageId}"/> <menu-item name="Dashboard" title="Dashboard" align-style="opposed"><link target="ManagePortalPages?portalPageId=${currentPortalPage.portalPageId}&parentPortalPageId=${parameters.parentPortalPageId}"/></menu-item> </menu> Modified: ofbiz/trunk/framework/widget/dtd/widget-menu.xsd URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-menu.xsd?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/dtd/widget-menu.xsd (original) +++ ofbiz/trunk/framework/widget/dtd/widget-menu.xsd Sun Feb 15 15:10:50 2009 @@ -45,7 +45,6 @@ </xs:simpleType> </xs:attribute> <xs:attribute type="xs:string" name="id"/> - <xs:attribute type="xs:string" name="portal-page"/> <xs:attribute type="xs:string" name="title"/> <xs:attribute type="xs:string" name="tooltip"/> <xs:attribute type="xs:string" name="default-entity-name"/> @@ -105,6 +104,7 @@ <xs:attributeGroup name="attlist.menu-item"> <xs:attribute type="xs:string" name="name" use="required"/> <xs:attribute type="xs:string" name="title"/> + <xs:attribute type="xs:string" name="parent-portal-page-value"><xs:annotation><xs:documentation>an expanded value of the parentPortalPageId in the Portal entity, will insert buttons using the portalId as the menuitem name portalPageName as the buttom title</xs:documentation></xs:annotation></xs:attribute> <xs:attribute type="xs:string" name="tooltip"/> <xs:attribute type="xs:string" name="title-style"/> <xs:attribute type="xs:string" name="widget-style"/> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenu.java Sun Feb 15 15:10:50 2009 @@ -36,6 +36,7 @@ import org.ofbiz.entity.GenericValue; import org.ofbiz.entity.condition.EntityCondition; import org.ofbiz.entity.condition.EntityOperator; +import org.ofbiz.entity.util.EntityUtil; import org.ofbiz.service.LocalDispatcher; import org.ofbiz.widget.ModelWidget; import org.ofbiz.widget.menu.ModelMenuItem.Link; @@ -138,7 +139,7 @@ } } if (parent == null) { - Debug.logError("Failed to find parent menu defenition '" + parentMenu + "' in same document.", module); + Debug.logError("Failed to find parent menu definition '" + parentMenu + "' in same document.", module); } } @@ -148,7 +149,6 @@ this.id = parent.id; this.title = parent.title; this.tooltip = parent.tooltip; - this.tooltip = parent.tooltip; this.defaultEntityName = parent.defaultEntityName; this.defaultTitleStyle = parent.defaultTitleStyle; this.defaultSelectedStyle = parent.defaultSelectedStyle; @@ -250,34 +250,11 @@ } } - // read in add item defs, add/override one by one using the menuItemList and menuItemMap and add portal pages + // read in add item defs, add/override one by one using the menuItemList List<? extends Element> itemElements = UtilXml.childElementList(menuElement, "menu-item"); for (Element itemElement : itemElements) { - String portalResource = itemElement.getAttribute("portal-page"); - if (UtilValidate.isNotEmpty(portalResource)) { - ModelMenuItem modelMenuItem = new ModelMenuItem(itemElement, this); - List <GenericValue> portalPages = null; - List exprs = UtilMisc.toList(EntityCondition.makeCondition("portalPageId", EntityOperator.EQUALS, portalResource), - EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, portalResource)); - EntityCondition cond = EntityCondition.makeCondition(exprs, EntityOperator.OR); - try { - portalPages = delegator.findList("PortalPage", cond, null, UtilMisc.toList("sequenceNum"), null, false); - } catch (GenericEntityException e) { - Debug.logError("Could not retrieve portalpages in the menu:" + e.getMessage(), module); - } - for (GenericValue portalPage : portalPages) { - if (UtilValidate.isNotEmpty(portalPage.getString("portalPageName"))) { - modelMenuItem.setName(portalPage.getString("portalPageName")); - modelMenuItem.setTitle(portalPage.getString("portalPageName")); - modelMenuItem.link = new Link(itemElement, modelMenuItem); - modelMenuItem.link.setTarget("showPortalPage?portalPageId=" + portalPage.getString("portalPageId")); - modelMenuItem = this.addUpdateMenuItem(modelMenuItem); - } - } - } else { - ModelMenuItem modelMenuItem = new ModelMenuItem(itemElement, this); - modelMenuItem = this.addUpdateMenuItem(modelMenuItem); - } + ModelMenuItem modelMenuItem = new ModelMenuItem(itemElement, this); + modelMenuItem = this.addUpdateMenuItem(modelMenuItem); } } /** @@ -363,11 +340,61 @@ // render formatting wrapper open menuStringRenderer.renderFormatSimpleWrapperOpen(writer, context, this); - //Debug.logInfo("in ModelMenu, menuItemList:" + menuItemList, module); + //Debug.logInfo("in ModelMenu, menuItemList:" + menuItemList, module); // render each menuItem row, except hidden & ignored rows + // include portal pages if specified //menuStringRenderer.renderFormatSimpleWrapperRows(writer, context, this); for (ModelMenuItem item : this.menuItemList) { - item.renderMenuItemString(writer, context, menuStringRenderer); + String parentPortalPageId = item.getParentPortalPageId(context); + if (UtilValidate.isNotEmpty(parentPortalPageId)) { + List <GenericValue> portalPages = null; + try { + // first get public pages + EntityCondition cond = + EntityCondition.makeCondition(UtilMisc.toList( + EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, "_NA_"), + EntityCondition.makeCondition(UtilMisc.toList( + EntityCondition.makeCondition("portalPageId", EntityOperator.EQUALS, parentPortalPageId), + EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), + EntityOperator.OR)), + EntityOperator.AND); + portalPages = delegator.findList("PortalPage", cond, null, null, null, false); + String userLoginId = ((GenericValue)context.get("userLogin")).getString("userLoginId"); + // replace with private pages + for (GenericValue portalPage : portalPages) { + cond = EntityCondition.makeCondition(UtilMisc.toList( + EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), + EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, portalPage.getString("portalPageId"))), + EntityOperator.AND); + List <GenericValue> privatePortalPages = delegator.findList("PortalPage", cond, null, null, null, false); + if (UtilValidate.isNotEmpty(privatePortalPages)) { + portalPages.remove(portalPage); + portalPages.add(privatePortalPages.get(0)); + } + } + // add any other created private pages + cond = EntityCondition.makeCondition(UtilMisc.toList( + EntityCondition.makeCondition("ownerUserLoginId", EntityOperator.EQUALS, userLoginId), + EntityCondition.makeCondition("originalPortalPageId", EntityOperator.EQUALS, null), + EntityCondition.makeCondition("parentPortalPageId", EntityOperator.EQUALS, parentPortalPageId)), + EntityOperator.AND); + portalPages.addAll(delegator.findList("PortalPage", cond, null, null, null, false)); + portalPages = EntityUtil.orderBy(portalPages, UtilMisc.toList("sequenceNum")); + } catch (GenericEntityException e) { + Debug.logError("Could not retrieve portalpages in the menu:" + e.getMessage(), module); + } + for (GenericValue portalPage : portalPages) { + if (UtilValidate.isNotEmpty(portalPage.getString("portalPageName"))) { + item.setName(portalPage.getString("portalPageId")); + item.setTitle(portalPage.getString("portalPageName")); + item.link = new Link(item); + item.link.setTarget("showPortalPage?portalPageId=" + portalPage.getString("portalPageId") + "&parentPortalPageId=" + parentPortalPageId); + item.renderMenuItemString(writer, context, menuStringRenderer); + } + } + } else { + item.renderMenuItemString(writer, context, menuStringRenderer); + } } // render formatting wrapper close menuStringRenderer.renderFormatSimpleWrapperClose(writer, context, this); Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/menu/ModelMenuItem.java Sun Feb 15 15:10:50 2009 @@ -50,6 +50,7 @@ protected String entityName; protected FlexibleStringExpander title; protected FlexibleStringExpander tooltip; + protected FlexibleStringExpander parentPortalPageId; protected String titleStyle; protected String disabledTitleStyle; protected String widgetStyle; @@ -102,6 +103,7 @@ this.entityName = fieldElement.getAttribute("entity-name"); this.setTitle(fieldElement.getAttribute("title")); this.setTooltip(fieldElement.getAttribute("tooltip")); + this.setParentPortalPageId(fieldElement.getAttribute("parent-portal-page-value")); this.titleStyle = fieldElement.getAttribute("title-style"); this.disabledTitleStyle = fieldElement.getAttribute("disabled-title-style"); this.widgetStyle = fieldElement.getAttribute("widget-style"); @@ -217,19 +219,17 @@ return this.disabled; } - public void mergeOverrideModelMenuItem(ModelMenuItem overrideModelMenuItem) { - if (overrideModelMenuItem == null) + public void mergeOverrideModelMenuItem(ModelMenuItem overrideMenuItem) { + if (overrideMenuItem == null) return; -/* + // incorporate updates for values that are not empty in the overrideMenuItem if (UtilValidate.isNotEmpty(overrideMenuItem.name)) this.name = overrideMenuItem.name; if (UtilValidate.isNotEmpty(overrideMenuItem.entityName)) this.entityName = overrideMenuItem.entityName; - if (overrideMenuItem.entryAcsr != null && !overrideMenuItem.entryAcsr.isEmpty()) - this.entryAcsr = overrideMenuItem.entryAcsr; - if (UtilValidate.isNotEmpty(overrideMenuItem.attributeName)) - this.attributeName = overrideMenuItem.attributeName; + if (UtilValidate.isNotEmpty(overrideMenuItem.parentPortalPageId)) + this.parentPortalPageId = overrideMenuItem.parentPortalPageId; if (overrideMenuItem.title != null && !overrideMenuItem.title.isEmpty()) this.title = overrideMenuItem.title; if (overrideMenuItem.tooltip != null && !overrideMenuItem.tooltip.isEmpty()) @@ -242,7 +242,7 @@ this.widgetStyle = overrideMenuItem.widgetStyle; if (overrideMenuItem.position != null) this.position = overrideMenuItem.position; -*/ + } public void renderMenuItemString(Appendable writer, Map<String, Object> context, MenuStringRenderer menuStringRenderer) throws IOException { @@ -345,6 +345,13 @@ } } + public void setParentPortalPageId(String string) { + this.parentPortalPageId = FlexibleStringExpander.getInstance(string); + } + + public String getParentPortalPageId(Map<String, Object> context) { + return this.parentPortalPageId.expandString(context); + } public String getWidgetStyle() { if (UtilValidate.isNotEmpty(this.widgetStyle)) { @@ -419,7 +426,6 @@ this.tooltip = FlexibleStringExpander.getInstance(string); } - /** * @param string */ @@ -541,13 +547,23 @@ if (imageElement != null) { this.image = new Image(imageElement); } - } - // create link only for portal page public Link(ModelMenuItem parentMenuItem) { + this.linkMenuItem = parentMenuItem; - } + setText(""); + setId(""); + setStyle(""); + setTarget(""); + setTargetWindow(""); + setPrefix(""); + setUrlMode(""); + setFullPath(""); + setSecure(""); + setEncode(""); + setName(""); + } public void renderLinkString(Appendable writer, Map<String, Object> context, MenuStringRenderer menuStringRenderer) throws IOException { menuStringRenderer.renderLink(writer, context, this); Modified: ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml (original) +++ ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml Sun Feb 15 15:10:50 2009 @@ -30,26 +30,26 @@ <!-- no security group --> <PortalPage portalPageId="MYPORTAL_NONE" portalPageName="Main" description="The default OFBiz portal page" ownerUserLoginId="_NA_"/><!-- user belonging to no portal security group --> - <PortalPage portalPageId="MYPORTAL_EMPLOYEE" sequenceNum="00" portalPageName="Main" description="The OFBiz My Portal Main page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPLOYEE" /> - <PortalPage portalPageId="MYPORTAL_EMPLOYEE1" sequenceNum="01" portalPageName="My Profile" description="The OFBiz My Portal Profile page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> - <PortalPage portalPageId="MYPORTAL_EMPLOYEE2" sequenceNum="03" portalPageName="Other Communications" description="The OFBiz My Portal other commmunication page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> - <PortalPage portalPageId="MYPORTAL_EMPLOYEE3" sequenceNum="04" portalPageName="Company Events" description="The OFBiz My Portal Company Events page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> - <PortalPage portalPageId="MYPORTAL_EMPLOYEE4" sequenceNum="05" portalPageName="My Time Sheets" description="The OFBiz My Portal Timesheet page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> - <PortalPage portalPageId="MYPORTAL_EMPLOYEE5" sequenceNum="06" portalPageName="My Tasks" description="The OFBiz My Portal My Task page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> - - <PortalPage portalPageId="MYPORTAL_EMPL-NOEML" sequenceNum="00" portalPageName="Main" description="The default OFBiz portal page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPL-NOEML" /> - <PortalPage portalPageId="MYPORTAL_EMPL-NOEML1" sequenceNum="01" portalPageName="My Profile" description="The OFBiz My Portal Profile page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> - <PortalPage portalPageId="MYPORTAL_EMPL-NOEML2" sequenceNum="03" portalPageName="Other Communications" description="The OFBiz My Portal other commmunication page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> - <PortalPage portalPageId="MYPORTAL_EMPL-NOEML3" sequenceNum="04" portalPageName="Company Events" description="The OFBiz My Portal Company Events page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> - <PortalPage portalPageId="MYPORTAL_EMPL-NOEML4" sequenceNum="05" portalPageName="My Time Sheets" description="The OFBiz My Portal Timesheet page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> - <PortalPage portalPageId="MYPORTAL_EMPL-NOEML5" sequenceNum="06" portalPageName="My Tasks" description="The OFBiz My Portal My Task page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> - - <PortalPage portalPageId="MYPORTAL_CUSTOMER" sequenceNum="00" portalPageName="Main" description="The default OFBiz portal page for a customers" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_CUSTOMER" /> - <PortalPage portalPageId="MYPORTAL_CUSTOMER1" sequenceNum="01" portalPageName="My Profile" description="The OFBiz My Portal Profile page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_CUSTOMER" /> - <PortalPage portalPageId="MYPORTAL_CUSTOMER2" sequenceNum="02" portalPageName="Invoices" description="The OFBiz My Portal Invoices page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_CUSTOMER" /> - <PortalPage portalPageId="MYPORTAL_CUSTOMER3" sequenceNum="03" portalPageName="Projects" description="The OFBiz My Portal Project page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_CUSTOMER" /> + <PortalPage portalPageId="MYPORTAL_EMPLOYEE" sequenceNum="0" portalPageName="Main" description="The OFBiz My Portal Main page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPLOYEE" /> + <PortalPage portalPageId="MYPORTAL_EMPLOYEE1" sequenceNum="100" portalPageName="My Profile" description="The OFBiz My Portal Profile page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> + <PortalPage portalPageId="MYPORTAL_EMPLOYEE2" sequenceNum="200" portalPageName="Other Communications" description="The OFBiz My Portal other commmunication page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> + <PortalPage portalPageId="MYPORTAL_EMPLOYEE3" sequenceNum="300" portalPageName="Company Events" description="The OFBiz My Portal Company Events page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> + <PortalPage portalPageId="MYPORTAL_EMPLOYEE4" sequenceNum="400" portalPageName="My Time Sheets" description="The OFBiz My Portal Timesheet page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> + <PortalPage portalPageId="MYPORTAL_EMPLOYEE5" sequenceNum="500" portalPageName="My Tasks" description="The OFBiz My Portal My Task page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPLOYEE"/> + + <PortalPage portalPageId="MYPORTAL_EMPL-NOEML" sequenceNum="0" portalPageName="Main" description="The default OFBiz portal page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPL-NOEML" /> + <PortalPage portalPageId="MYPORTAL_EMPL-NOEML1" sequenceNum="100" portalPageName="My Profile" description="The OFBiz My Portal Profile page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> + <PortalPage portalPageId="MYPORTAL_EMPL-NOEML2" sequenceNum="200" portalPageName="Other Communications" description="The OFBiz My Portal other commmunication page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> + <PortalPage portalPageId="MYPORTAL_EMPL-NOEML3" sequenceNum="300" portalPageName="Company Events" description="The OFBiz My Portal Company Events page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> + <PortalPage portalPageId="MYPORTAL_EMPL-NOEML4" sequenceNum="400" portalPageName="My Time Sheets" description="The OFBiz My Portal Timesheet page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> + <PortalPage portalPageId="MYPORTAL_EMPL-NOEML5" sequenceNum="500" portalPageName="My Tasks" description="The OFBiz My Portal My Task page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_EMPL-NOEML"/> + + <PortalPage portalPageId="MYPORTAL_CUSTOMER" sequenceNum="0" portalPageName="Main" description="The default OFBiz portal page for a customers" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_CUSTOMER" /> + <PortalPage portalPageId="MYPORTAL_CUSTOMER1" sequenceNum="100" portalPageName="My Profile" description="The OFBiz My Portal Profile page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_CUSTOMER" /> + <PortalPage portalPageId="MYPORTAL_CUSTOMER2" sequenceNum="200" portalPageName="Invoices" description="The OFBiz My Portal Invoices page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_CUSTOMER" /> + <PortalPage portalPageId="MYPORTAL_CUSTOMER3" sequenceNum="300" portalPageName="Projects" description="The OFBiz My Portal Project page" ownerUserLoginId="_NA_" parentPortalPageId="MYPORTAL_CUSTOMER" /> - <PortalPageColumn portalPageId="MYPORTAL_NONE" columnSeqId="00001" /> + <PortalPageColumn portalPageId="MYPORTAL_NONE" sequenceNum="0" columnSeqId="00001" /> <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE" columnSeqId="00001" /> <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE1" columnSeqId="00001" columnWidthPercentage="50" /> Modified: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml (original) +++ ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml Sun Feb 15 15:10:50 2009 @@ -27,6 +27,10 @@ <description>Show personal information in the system</description> + <request-map uri="main"> + <security https="true" auth="true"/> + <response name="success" type="request-redirect-noparam" value="showPortalPage"/> + </request-map> <request-map uri="newRegisterLogin"> <security https="true" auth="false"/> <event type="java" invoke="getCodeCaptcha" path="org.ofbiz.common.Captcha"/> @@ -105,7 +109,7 @@ <security https="true" auth="true"/> <event type="service" invoke="createCommunicationEvent"/> <response name="success" type="request" value="myCommunications"/> - <response name="error" type="view" value="main"/> + <response name="error" type="request-redirect" value="showPortalPage"/> </request-map> <request-map uri="deletePartyCommunicationEvent"> <security https="true" auth="true"/> @@ -140,7 +144,7 @@ <security https="true" auth="true"/> <event type="service" invoke="setCommunicationEventRoleStatus"/> <response name="success" type="request" value="getToNextDonePage"/> - <response name="error" type="view" value="main"/> + <response name="error" type="request-redirect-noparam" value="showPortalPage"/> </request-map> <request-map uri="ViewCommunicationEvent"> <security https="true" auth="true"/> @@ -161,19 +165,19 @@ <security https="true" auth="true"/> <event type="simple" invoke="createCommunicationEventRoles" path="org/ofbiz/myportal/Events.xml"/> <response name="success" type="request" value="getToNextDonePage"/> - <response name="error" type="view" value="main"/> + <response name="error" type="request-redirect-noparam" value="showPortalPage"/> </request-map> <request-map uri="getToNextDonePage"> <security https="true" auth="true"/> <event type="simple" invoke="getToNextDonePage" path="org/ofbiz/myportal/Events.xml"/> - <response name="main" type="request" value="main"/> + <response name="main" type="request-redirect" value="showPortalPage"/> <response name="ViewCommunicationEvent" type="request" value="ViewCommunicationEvent"/> <response name="otherCommunications" type="request" value="otherCommunications"/> <response name="myTimesheet" type="request" value="myTimesheet"/> <response name="myTasks" type="request" value="myTasks"/> <response name="myCompanyComms" type="request" value="myCompanyComms"/> - <response name="error" type="view" value="main"/> + <response name="error" type="request-redirect-noparam" value="showPortalPage"/> </request-map> <!-- Create Customer Request--> @@ -184,7 +188,7 @@ <request-map uri="createrequest"> <security https="true" auth="true"/> <event type="service" invoke="createCustRequest"/> - <response name="success" type="view" value="main"/> + <response name="error" type="request-redirect-noparam" value="showPortalPage"/> <response name="error" type="view" value="EditRequest"/> </request-map> <request-map uri="updateRequest"> Modified: ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml (original) +++ ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml Sun Feb 15 15:10:50 2009 @@ -34,22 +34,12 @@ <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/> <property-map resource="ProjectMgrUiLabels" map-name="uiLabelMap" global="true"/> <property-map resource="HumanResUiLabels" map-name="uiLabelMap" global="true"/> - <set field="layoutSettings.companyName" from-field="uiLabelMap.MyPortalInformation" global="true"/> <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.PartyCompanySubtitle" global="true"/> - <!-- layoutSettings.headerImageUrl can be used to specify an application specific logo; if not set, - then the global layoutSettings.commonHeaderImageUrl (specified in GlobalDecorator) will be used. --> - <!--<set field="layoutSettings.headerImageUrl" value="/images/ofbiz_logo.jpg" global="true"/>--> - - <!-- <set field="layoutSettings.headerMiddleBackgroundUrl" value="" global="true"/> --> - <!-- <set field="layoutSettings.headerRightBackgroundUrl" value="" global="true"/> --> - <!-- TODO: Use transform to specify component URI --> - <!--set field="applicationMenuName" value="ExampleAppBar" global="true"/> - <set field="applicationMenuLocation" value="component://example/widget/example/ExampleMenus.xml" global="true"/--> - <set field="appheaderTemplate" value="component://myportal/templates/appheader.ftl"/> - <set field="parameters.parentPortalPageId" value="MYPORTAL"/> - <set field="parameters.userLogin.userLoginId" from-field="userLogin.userLoginId"/> - <script location="component://common/webcommon/WEB-INF/actions/includes/ListPortalPages.groovy"/> + <set field="applicationMenuName" value="MyPortalAppBar" global="true"/> + <set field="applicationMenuLocation" value="component://myportal/widget/MyPortalMenus.xml" global="true"/> + <set field="parameters.parentPortalPageId" from-field="parameters.parentPortalPageId" default-value="MYPORTAL" global="true"/> + <script location="component://common/webcommon/WEB-INF/actions/includes/GetParentPortalPageId.groovy"/> <entity-one entity-name="PartyNameView" value-field="partyNameView"> <field-map field-name="partyId" from-field="userLogin.partyId"/> </entity-one> @@ -155,15 +145,10 @@ <screen name="main"> <section> - <actions> - <set field="parameters.parentPortalPageId" value="MYPORTAL"/> - <script location="component://common/webcommon/WEB-INF/actions/includes/ShowPortalPage.groovy"/> - <set field="headerItem" from-field="parameters.portalPageId"/> - </actions> <widgets> <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> - <platform-specific><html><html-template location="component://common/webcommon/portal/showPortalPage.ftl"/></html></platform-specific> + <include-screen name="showPortalPageInclude" location="component://common/widget/PortalPageScreens.xml"/> </decorator-section> </decorator-screen> </widgets> Modified: ofbiz/trunk/specialpurpose/myportal/widget/MyPortalMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/widget/MyPortalMenus.xml?rev=744675&r1=744674&r2=744675&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/widget/MyPortalMenus.xml (original) +++ ofbiz/trunk/specialpurpose/myportal/widget/MyPortalMenus.xml Sun Feb 15 15:10:50 2009 @@ -18,8 +18,18 @@ under the License. --> -<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd"> +<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd"> + <menu name="MyPortalAppBar" title="${uiLabelMap.PageTitleMyPortal} ${partyNameView.personalTitle?if_exists} ${partyNameView.firstName?if_exists} ${partyNameView.middleName?if_exists} ${partyNameView.lastName?if_exists} ${partyNameView.groupName?if_exists}" + extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> + <menu-item name="main" parent-portal-page-value="${parameters.parentPortalPageId}"/> + <menu-item name="Help" title="${uiLabelMap.CommonHelp}" align-style="opposed"> + <link target="http://docs.ofbiz.org/display/OFBENDUSER/My+Portal?decorator=printable" target-window="new"/> + </menu-item> + <menu-item name="Preferences" title="${uiLabelMap.CommonPreferences}" align-style="opposed"> + <link target="ManagePortalPages?parentPortalPageId=${parameters.parentPortalPageId}"/> + </menu-item> + </menu> <menu name="MyCompanyCommsMenu"> <menu-item name="newEvent" title="${uiLabelMap.WorkEffortNewEvent}"> <link target="newEvent?portalPageId=${parameters.portalPageId}"/> |
Free forum by Nabble | Edit this page |