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/06/18 03:15:10 UTC

svn commit: r785872 - in /ofbiz/trunk: applications/commonext/ applications/commonext/data/ applications/commonext/entitydef/ applications/commonext/script/org/ applications/commonext/script/org/ofbiz/ applications/commonext/servicedef/ applications/co...

Author: hansbak
Date: Thu Jun 18 01:15:09 2009
New Revision: 785872

URL: http://svn.apache.org/viewvc?rev=785872&view=rev
Log:
This is a proof of concept, comments are very welcome.
The first page of myportal now shows changes which happened in the system for the logged on user in the first portlet.
The second portlet gives the total OPEN items in a certain function for the logged on user.

The first two functions which are working now:
1. Incoming communication events (email, internal notes)
2. tasks which are assigned either in projectmanager or workeffort

What is also pretty interesting is that the status can now be checked by a firefox plugin and when it changes the employee is notified from within firefox
The plugin: http://updatescanner.mozdev.org/en/index.html
and it should check the following url: (adjust to your requirements)
https://localhost:8443/myportal/control/showPortlet?portalPortletId=SystemInfoNotes&USERNAME=admin&PASSWORD=ofbiz

In the flat grey theme i also have added notifications in the header when they are available.

If the notification shows and the user clicks on the message the related portlet is shown.


Added:
    ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml   (with props)
    ofbiz/trunk/applications/commonext/entitydef/
    ofbiz/trunk/applications/commonext/entitydef/eecas.xml   (with props)
    ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml   (with props)
    ofbiz/trunk/applications/commonext/script/org/
    ofbiz/trunk/applications/commonext/script/org/ofbiz/
    ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml   (with props)
    ofbiz/trunk/applications/commonext/servicedef/
    ofbiz/trunk/applications/commonext/servicedef/secas.xml   (with props)
    ofbiz/trunk/applications/commonext/servicedef/services.xml   (with props)
    ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml   (with props)
    ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml   (with props)
    ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl   (with props)
Modified:
    ofbiz/trunk/applications/commonext/ofbiz-component.xml
    ofbiz/trunk/applications/commonext/widget/CommonScreens.xml
    ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml
    ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml
    ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
    ofbiz/trunk/framework/common/widget/PortalPageScreens.xml
    ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml
    ofbiz/trunk/themes/flatgrey/includes/header.ftl

Added: ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml (added)
+++ ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,36 @@
+<?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.
+-->
+<entity-engine-xml>
+    
+    <PortletCategory portletCategoryId="SYSTEMINFO" description="OFBiz System Information"/>
+    
+    <PortalPortlet portalPortletId="SystemInfoNotes"
+        portletName="System notes reporting an event"
+        screenName="SystemInfoNotes"
+        screenLocation="component://commonext/widget/SystemInfoScreens.xml" description="List of system notes for this specific party"/>
+    <PortletPortletCategory portalPortletId="SystemInfoNotes" portletCategoryId="SYSTEMINFO"/>
+    
+    <PortalPortlet portalPortletId="SystemInfoStatus"
+        portletName="System status of for this particular user"
+        screenName="SystemInfoStatus"
+        screenLocation="component://commonext/widget/SystemInfoScreens.xml" description="List of system notes for this specific party"/>
+    <PortletPortletCategory portalPortletId="SystemInfoStatus" portletCategoryId="SYSTEMINFO"/>
+    
+</entity-engine-xml>
\ No newline at end of file

Propchange: ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/data/SystemInfoPortletData.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/commonext/entitydef/eecas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/entitydef/eecas.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/entitydef/eecas.xml (added)
+++ ofbiz/trunk/applications/commonext/entitydef/eecas.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,31 @@
+<?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.
+-->
+
+<entity-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entity-eca.xsd">
+
+    <eca entity="WorkEffortPartyAssignment" operation="create-store" event="return">
+        <condition field-name="statusId" operator="equals" value="PAS_ASSIGNED"/>
+        <set field-name="entityName" value="WorkEffortPartyAssign"/>
+        <set field-name="entityNameId" env-name="workEffortId"/>
+        <action service="createSystemInfoNote" mode="sync"/>
+    </eca>
+
+</entity-eca>

Propchange: ofbiz/trunk/applications/commonext/entitydef/eecas.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/entitydef/eecas.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/entitydef/eecas.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml (added)
+++ ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,33 @@
+<?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.
+-->
+
+<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
+    <title>Entity of an Open For Business Project Component</title>
+    <description>None</description>
+    <copyright>Copyright 2001-2009 The Apache Software Foundation</copyright>
+    <author>None</author>
+    <version>1.0</version>
+
+  <extend-entity entity-name="NoteData">
+    <field name="moreInfoPortletId" type="value"><description>url to go to the related portlet screen in the system</description></field>
+  </extend-entity>
+
+</entitymodel>

Propchange: ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/entitydef/entitymodel.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/commonext/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/ofbiz-component.xml?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/applications/commonext/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/commonext/ofbiz-component.xml Thu Jun 18 01:15:09 2009
@@ -23,5 +23,12 @@
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd">
     <resource-loader name="main" type="component"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/EntityDiagramGroupData.xml"/>
+    <entity-resource type="data" reader-name="seed" loader="main" location="data/SystemInfoPortletData.xml"/>
 
+    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
+    <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>
+    
+    <service-resource type="model" loader="main" location="servicedef/services.xml"/>
+    <service-resource type="eca" loader="main" location="servicedef/secas.xml"/>
+    
 </ofbiz-component>

Added: ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml (added)
+++ ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+
+    <simple-method method-name="createSystemInfoNote" short-description="Create a system to to a specific party">
+
+        <!-- new communication events -->
+        <if-compare field="parameters.entityName" value="CommunicationEvent" operator="equals">
+            <entity-one entity-name="CommunicationEvent" value-field="comm">
+                <field-map field-name="communicationEventId" from-field="parameters.entityNameId"/>
+            </entity-one>
+            <entity-and entity-name="CommunicationEventRole" list="roles">
+                <field-map field-name="communicationEventId" from-field="parameters.entityNameId"/>
+            </entity-and>
+            <if-not-empty field="roles">
+                <iterate entry="role" list="roles">
+                    <if-compare field="role.statusId" value="COM_ROLE_CREATED" operator="equals">
+                        <make-value value-field="noteData" entity-name="NoteData"/>
+                        <set field="noteData.noteParty" from-field="role.partyId"/>
+                        <set field="noteData.noteName" value="SYSTEMNOTE"/>
+                        <now-timestamp field="noteData.noteDateTime"/>
+                        <sequenced-id sequence-name="NoteData" field="noteData.noteId"/>
+                        <set field="noteData.noteInfo" value="New incoming communication event: ${comm.subject} from ${comm.partyIdFrom}"/>
+                        <set field="noteData.moreInfoPortletId" value="MyCommunications"/>
+                        <create-value value-field="noteData"/>
+                    </if-compare>
+                </iterate>
+            </if-not-empty>
+        </if-compare>
+        
+        <!-- new task assignments for the logged on user -->
+        <if-compare field="parameters.entityName" value="WorkEffortPartyAssignment" operator="equals">
+            <entity-one entity-name="WorkEffort" value-field="workEffort"/>
+            <make-value value-field="noteData" entity-name="NoteData"/>
+            <set field="noteData.noteParty" from-field="parameters.partyId"/>
+            <set field="noteData.noteName" value="SYSTEMNOTE"/>
+            <now-timestamp field="noteData.noteDateTime"/>
+            <set field="noteData.noteInfo" value="New task assignment '${workEffort,workEffortName}' [${parameters.workEffortId}]"/>
+            <sequenced-id sequence-name="NoteData" field="noteData.noteId"/>
+            <set field="noteData.moreInfoPortletId" value="mytasks"/>
+            <create-value value-field="noteData"/>
+        </if-compare>
+    
+    </simple-method>
+
+    <simple-method method-name="getSystemInfoStatus" short-description="">
+        <!-- communication events -->
+        <entity-count entity-name="CommunicationEventRole" count-field="comCount">
+            <condition-list combine="and">
+                <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                <condition-expr field-name="statusId" operator="not-equals" value="COM_ROLE_COMPLETED"/>    
+            </condition-list>
+        </entity-count>
+        <entity-condition entity-name="CommunicationEventAndRole" list="comms">
+            <condition-list combine="and">
+                <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                <condition-expr field-name="statusId" operator="not-equals" value="COM_ROLE_COMPLETED"/>    
+            </condition-list>
+            <order-by field-name="-entryDate"/>
+        </entity-condition>
+        <if-compare field="comCount" value="0" operator="greater">
+            <set field="status.noteInfo" value="Open communication events: ${comCount}"/>
+            <first-from-list entry="comm" list="comms"/>
+            <set field="status.noteDateTime" from-field="comm.entryDate"/>
+            <field-to-list field="status" list="systemInfoStatus"/>
+            <clear-field field="status"/>
+        </if-compare>
+        <!-- assigned tasks -->
+        <entity-and entity-name="WorkEffortPartyAssignment" list="assigns" filter-by-date="true">
+            <field-map field-name="partyId" from-field="userLogin.partyId"/>
+            <field-map field-name="statusId" value="PAS_ASSIGNED"/>
+            <order-by field-name="-fromDate"/>
+        </entity-and>
+        <entity-count entity-name="WorkEffortPartyAssignment" count-field="assignCount">
+            <condition-list combine="and">
+                <condition-expr field-name="partyId" from-field="userLogin.partyId"/>
+                <condition-expr field-name="statusId" operator="not-equals" value="PAS_ASSIGNED"/>
+            </condition-list>
+        </entity-count>            
+        <if-compare field="assignCount" value="0" operator="greater">
+            <set field="status.noteInfo" value="Assigned and not completed tasks: ${assignCount}"/>
+            <first-from-list entry="assign" list="assigns"/>
+            <set field="status.noteDateTime" from-field="assign.fromDate"/>
+            <field-to-list field="status" list="systemInfoStatus"/>
+        </if-compare>
+        
+        <!-- return result -->
+        <if-not-empty field="systemInfoStatus">
+            <field-to-result field="systemInfoStatus"/>
+        </if-not-empty>
+        
+    </simple-method>
+    <simple-method method-name="getSystemInfoNotes" short-description="">
+        <entity-and entity-name="NoteData" list="systemInfoNotes">
+            <field-map field-name="noteParty" from-field="parameters.userLogin.partyId"/>
+            <field-map field-name="noteName" value="SYSTEMNOTE"/>
+            <order-by field-name="-noteDateTime"/>
+        </entity-and>
+        <if-not-empty field="systemInfoNotes">
+            <field-to-result field="systemInfoNotes"/>
+        </if-not-empty>
+    </simple-method>
+    
+    <simple-method method-name="getLastSystemInfoNote" short-description="">
+        <entity-and entity-name="NoteData" list="systemInfoNotes">
+            <field-map field-name="noteParty" from-field="parameters.userLogin.partyId"/>
+            <field-map field-name="noteName" value="SYSTEMNOTE"/>
+            <order-by field-name="-noteDateTime"/>
+        </entity-and>
+        <if-not-empty field="systemInfoNotes">
+            <set field="lastSystemInfoNote1" from-field="systemInfoNotes[0]"/>
+            <field-to-result field="lastSystemInfoNote1"/>
+            <set field="lastSystemInfoNote2" from-field="systemInfoNotes[1]"/>
+            <field-to-result field="lastSystemInfoNote2"/>
+            <set field="lastSystemInfoNote3" from-field="systemInfoNotes[2]"/>
+            <field-to-result field="lastSystemInfoNote3"/>
+        </if-not-empty>
+    </simple-method>
+    
+</simple-methods>

Propchange: ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/script/org/ofbiz/SystemInfoServices.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/commonext/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/servicedef/secas.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/servicedef/secas.xml (added)
+++ ofbiz/trunk/applications/commonext/servicedef/secas.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,29 @@
+<?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.
+-->
+
+<service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-eca.xsd">
+    <eca service="setCommunicationEventStatus" event="commit">
+        <condition field-name="statusId" operator="equals" value="COM_ENTERED"/>
+        <set field-name="entityName" value="CommunicationEvent"/>
+        <set field-name="entityNameId" env-name="communicationEventId"/>
+        <action service="createSystemInfoNote" mode="sync"/>
+    </eca>
+</service-eca>

Propchange: ofbiz/trunk/applications/commonext/servicedef/secas.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/servicedef/secas.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/servicedef/secas.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/commonext/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/servicedef/services.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/servicedef/services.xml (added)
+++ ofbiz/trunk/applications/commonext/servicedef/services.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,52 @@
+<?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.
+-->
+
+<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
+    <description>Commonext Component Services</description>
+    <vendor>OFBiz</vendor>
+    <version>1.0</version>
+
+    <service name="createSystemInfoNote" engine="simple" default-entity-name="NoteData"
+        location="component://commonext/script/org/ofbiz/SystemInfoServices.xml" invoke="createSystemInfoNote">
+        <description>Create a system info note</description>        
+        <auto-attributes mode="IN" optional="true"/>
+        <attribute name="entityName" type="String" mode="IN" optional="true"/>
+        <attribute name="entityNameId" type="String" mode="IN" optional="true"/>
+    </service>
+    
+    <service name="getSystemInfoNotes" engine="simple" auth="true"
+        location="component://commonext/script/org/ofbiz/SystemInfoServices.xml" invoke="getSystemInfoNotes">
+        <description>Get system notes for the logged on party</description>
+        <attribute name="systemInfoNotes" type="List" mode="OUT" optional="true"/>
+    </service>
+    <service name="getLastSystemInfoNote" engine="simple" auth="true"
+        location="component://commonext/script/org/ofbiz/SystemInfoServices.xml" invoke="getLastSystemInfoNote">
+        <description>Get last system note for the logged on party</description>
+        <attribute name="lastSystemInfoNote1" type="GenericValue" mode="OUT" optional="true"/>
+        <attribute name="lastSystemInfoNote2" type="GenericValue" mode="OUT" optional="true"/>
+        <attribute name="lastSystemInfoNote3" type="GenericValue" mode="OUT" optional="true"/>
+    </service>
+    <service name="getSystemInfoStatus" engine="simple" auth="true"
+        location="component://commonext/script/org/ofbiz/SystemInfoServices.xml" invoke="getSystemInfoStatus">
+        <description>Get system status for the logged on party</description>
+        <attribute name="systemInfoStatus" type="List" mode="OUT" optional="true"/>
+    </service>
+</services>

Propchange: ofbiz/trunk/applications/commonext/servicedef/services.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/servicedef/services.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/servicedef/services.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/commonext/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/widget/CommonScreens.xml?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/applications/commonext/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/applications/commonext/widget/CommonScreens.xml Thu Jun 18 01:15:09 2009
@@ -59,6 +59,22 @@
                     </actions>
                     <widgets/>
                 </section>
+                <section>
+                    <condition>
+                        <not><if-empty field="userLogin"/></not>
+                    </condition>
+                    <actions>                
+                        <service service-name="getLastSystemInfoNote" result-map="resultNote"/>
+                        <set field="layoutSettings.middleTopHeader" value="----------Last system notes----------"/>
+                        <set field="layoutSettings.middleTopMessage1" value="${date:dateTimeStr(resultNote.lastSystemInfoNote1.noteDateTime, timeZone, locale)} ${resultNote.lastSystemInfoNote1.noteInfo}"/>
+                        <set field="layoutSettings.middleTopLink1" from-field="resultNote.lastSystemInfoNote1.moreInfoPortletId"/>
+                        <set field="layoutSettings.middleTopMessage2" value="${date:dateTimeStr(resultNote.lastSystemInfoNote2.noteDateTime, timeZone, locale)} ${resultNote.lastSystemInfoNote2.noteInfo}"/>
+                        <set field="layoutSettings.middleTopLink2" from-field="resultNote.lastSystemInfoNote2.moreInfoPortletId"/>
+                        <set field="layoutSettings.middleTopMessage3" value="${date:dateTimeStr(resultNote.lastSystemInfoNote3.noteDateTime, timeZone, locale)} ${resultNote.lastSystemInfoNote3.noteInfo}"/>
+                        <set field="layoutSettings.middleTopLink3" from-field="resultNote.lastSystemInfoNote3.moreInfoPortletId"/>
+                    </actions>
+                    <widgets/>
+                </section>
                 <include-screen name="GlobalDecorator" location="component://common/widget/CommonScreens.xml"/>
             </widgets>
         </section>

Added: ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml (added)
+++ ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,41 @@
+<?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.
+-->
+
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
+
+    <form name="SystemInfoNotes" type="list" list-name="systemInfoNotes"
+        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
+        <actions>
+            <service service-name="getSystemInfoNotes" result-map-list="systemInfoNotes"/>
+        </actions>
+        <field name="noteDateTime" title="Date info created"><display/></field>
+        <field name="noteInfo" title="System Info Note"><hyperlink target="/myportal/control/showPortlet?portalPortletId=${moreInfoPortletId}" target-type="inter-app" description="${noteInfo}"></hyperlink></field>
+    </form>
+
+    <form name="SystemInfoStatus" type="list" list-name="systemInfoStatus"
+        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
+        <actions>
+            <service service-name="getSystemInfoStatus" result-map-list="systemInfoStatus"/>
+        </actions>
+        <field name="noteDateTime" title="Date Last Changed"><display/></field>
+        <field name="noteInfo" title="Item info"><hyperlink target="${moreInfoUrl}" target-type="inter-app" description="${noteInfo}"></hyperlink></field>
+    </form>
+</forms>

Propchange: ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/widget/SystemInfoForms.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml (added)
+++ ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml Thu Jun 18 01:15:09 2009
@@ -0,0 +1,44 @@
+<?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.
+-->
+
+<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
+
+    <screen name="SystemInfoNotes">
+        <section>
+            <widgets>
+                <screenlet title="System Info notes for user: ${userLogin.partyId}">
+                    <include-form name="SystemInfoNotes" location="component://commonext/widget/SystemInfoForms.xml"/>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="SystemInfoStatus">
+        <section>
+            <widgets>
+                <screenlet title="System Status Info for user: ${userLogin.partyId}">
+                    <include-form name="SystemInfoStatus" location="component://commonext/widget/SystemInfoForms.xml"/>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
+    
+</screens>
\ No newline at end of file

Propchange: ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/commonext/widget/SystemInfoScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml (original)
+++ ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml Thu Jun 18 01:15:09 2009
@@ -233,7 +233,8 @@
         short-description="Update a CommunicationEvent">
         <entity-one entity-name="CommunicationEvent" value-field="event"/>
         <if-compare-field to-field="parameters.statusId" operator="not-equals" field="event.statusId">
-            <call-simple-method method-name="setCommunicationEventStatus"/>
+            <set field="newStatusId" from-field="parameters.statusId"/>
+            <set field="parameters.statusId" from-field="event.statusId"/>
         </if-compare-field>
         <!-- get partyId from email address if required -->
         <if-empty field="parameters.partyIdTo">
@@ -310,6 +311,12 @@
         </if>
         <set-nonpk-fields map="parameters" value-field="event"/>
         <store-value value-field="event"/>
+        <!-- set status at the end if required with the com event completed -->
+        <if-not-empty field="newStatusId">
+            <set field="parameters.statusId" from-field="newStatusId"/>
+            <set-service-fields service-name="setCommunicationEventStatus" map="parameters" to-map="newStat"/>
+            <call-service service-name="setCommunicationEventStatus" in-map-name="newStat"/>
+        </if-not-empty>
     </simple-method>
 
     <simple-method method-name="deleteCommunicationEvent" short-description="Delete a CommunicationEvent">
@@ -543,7 +550,7 @@
                 <field-map field-name="statusIdTo" from-field="parameters.statusId"/>
             </entity-one>
             <if-empty field="statusChange">
-                <add-error><fail-message message="Status is not a valid change"/></add-error>
+                <add-error><fail-message message="Status is not a valid change; old Status: ${communicationEvent.statusId}, new status: ${parameters.statusId}"/></add-error>
                 <log level="error" message="Cannot change from ${communicationEvent.statusId} to ${parameters.statusId}"/>
                 <check-errors/>
                 <else>

Modified: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml Thu Jun 18 01:15:09 2009
@@ -721,6 +721,10 @@
         <event type="service" invoke="setCommEventRoleToRead"/>
         <response name="success" type="view" value="ViewCommunicationEvent"/>
     </request-map>
+    <request-map uri="viewCommunicationEvent">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ViewCommunicationEvent"/>
+    </request-map>
     <request-map uri="addContentToCommEvent">
         <security https="true" auth="true"/>
         <event type="simple" invoke="addContentToCommEvent" path="component://party/script/org/ofbiz/party/communication/CommunicationEventEvents.xml"/>

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=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml (original)
+++ ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml Thu Jun 18 01:15:09 2009
@@ -24,6 +24,10 @@
     <owner>Copyright 2001-2009 The Apache Software Foundation</owner>
 
     <!-- Portal requests -->
+    <request-map uri="showPortlet">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="showPortlet"/>
+    </request-map>
     <request-map uri="showPortalPage">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="showPortalPage" save-home-view="true"/>
@@ -118,6 +122,7 @@
 
     <!-- View Mappings -->
     <view-map name="showPortalPage" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortalPage"/>
+    <view-map name="showPortlet" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortlet"/>
     <view-map name="ManagePortalPages" type="screen" page="component://common/widget/PortalPageScreens.xml#ManagePortalPages"/>
     <view-map name="AddPortlet" type="screen" page="component://common/widget/PortalPageScreens.xml#AddPortlet"/>
 </site-conf>

Added: ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl?rev=785872&view=auto
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl (added)
+++ ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl Thu Jun 18 01:15:09 2009
@@ -0,0 +1,30 @@
+<#--
+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.
+-->
+
+<#if portlet?has_content>
+<table width="100%">
+  <tr><td>
+    <div>
+      ${screens.render(portlet.screenLocation, portlet.screenName)}
+    </div>
+  </td></tr>
+</table>
+<#else/>
+<h2>Portlet '${parameters.portalPortletId?if_exists}' not found. You may not have the necessary seed or other data for it.</h2>
+</#if>

Propchange: ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/framework/common/webcommon/portal/showPortlet.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/trunk/framework/common/widget/PortalPageScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageScreens.xml?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/PortalPageScreens.xml (original)
+++ ofbiz/trunk/framework/common/widget/PortalPageScreens.xml Thu Jun 18 01:15:09 2009
@@ -21,6 +21,28 @@
 <screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
 
+    <screen name="showPortlet">
+        <section>
+            <actions>
+                <set field="headerItem" from-field="parameters.portletId"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <actions>
+                                <entity-one entity-name="PortalPortlet" value-field="portlet"/>
+                            </actions>
+                            <widgets>
+                                <platform-specific><html><html-template location="component://common/webcommon/portal/showPortlet.ftl"/></html></platform-specific>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
     <screen name="showPortalPage">
         <section>
             <actions>
@@ -51,7 +73,7 @@
             </widgets>
         </section>
     </screen>
-
+    
     <screen name="ManagePortalPages">
         <section>
             <actions>

Modified: ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml (original)
+++ ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml Thu Jun 18 01:15:09 2009
@@ -30,14 +30,16 @@
     <!-- no security group -->
     <PortalPage portalPageId="MYPORTAL_NONE" sequenceNum="0" portalPageName="Main" description="The default OFBiz portal page" ownerUserLoginId="_NA_"/><!-- user belonging to no portal security group -->
 
-    <PortalPage portalPageId="MYPORTAL_EMPLOYEE" sequenceNum="0" portalPageName="Main" description="The OFBiz My Portal Main page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPLOYEE"/>
+    <PortalPage portalPageId="MYPORTAL_EMPLOYEE" sequenceNum="0" portalPageName="Main" description="The OFBiz System info page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPLOYEE"/>
+    <PortalPage portalPageId="MYPORTAL_EMPLOYEE0" sequenceNum="50" portalPageName="My Comms" description="The OFBiz My Communications page" ownerUserLoginId="_NA_" parentPortalPageId="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 Party Comms" 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 Sheet" 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-NOEML" sequenceNum="0" portalPageName="Main" description="The OFBiz System info page" ownerUserLoginId="_NA_" securityGroupId="MYPORTAL_EMPL-NOEML"/>
+    <PortalPage portalPageId="MYPORTAL_EMPL-NOEML0" sequenceNum="50" portalPageName="My Comms" description="The OFBiz My Communications page" ownerUserLoginId="_NA_" parentPortalPageId="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 Party Comms" 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"/>
@@ -54,6 +56,7 @@
     <PortalPageColumn portalPageId="MYPORTAL_NONE" columnSeqId="00002" columnWidthPercentage="50"/>
 
     <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE" columnSeqId="00001"/>
+    <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE0" columnSeqId="00001"/>
     <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE1" columnSeqId="00001" columnWidthPercentage="50"/>
     <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE1" columnSeqId="00002" columnWidthPercentage="50"/>
     <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE2" columnSeqId="00001"/>
@@ -62,6 +65,7 @@
     <PortalPageColumn portalPageId="MYPORTAL_EMPLOYEE5" columnSeqId="00001"/>
 
     <PortalPageColumn portalPageId="MYPORTAL_EMPL-NOEML" columnSeqId="00001"/>
+    <PortalPageColumn portalPageId="MYPORTAL_EMPL-NOEML0" columnSeqId="00001"/>
     <PortalPageColumn portalPageId="MYPORTAL_EMPL-NOEML1" columnSeqId="00001" columnWidthPercentage="50"/>
     <PortalPageColumn portalPageId="MYPORTAL_EMPL-NOEML1" columnSeqId="00002" columnWidthPercentage="50"/>
     <PortalPageColumn portalPageId="MYPORTAL_EMPL-NOEML2" columnSeqId="00001"/>
@@ -82,8 +86,10 @@
     <PortalPagePortlet portalPageId="MYPORTAL_NONE" portalPortletId="Content" portletSeqId="00001" columnSeqId="00002" sequenceNum="8"/>
     <PortalPagePortlet portalPageId="MYPORTAL_NONE" portalPortletId="Notes" portletSeqId="00001" columnSeqId="00002" sequenceNum="10"/>
 
-    <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" portalPortletId="INCOM_CUST_REQUESTS" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
-    <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" portalPortletId="MyCommunications" portletSeqId="00001" columnSeqId="00001" sequenceNum="1"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" portalPortletId="SystemInfoNotes" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" portalPortletId="SystemInfoStatus" portletSeqId="00001" columnSeqId="00001" sequenceNum="1"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE0" portalPortletId="INCOM_CUST_REQUESTS" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE0" portalPortletId="MyCommunications" portletSeqId="00001" columnSeqId="00001" sequenceNum="1"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" portalPortletId="party" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" portalPortletId="contact" portletSeqId="00001" columnSeqId="00001" sequenceNum="1"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" portalPortletId="LoyaltyPoints" portletSeqId="00001" columnSeqId="00001" sequenceNum="2"/>
@@ -102,8 +108,10 @@
     <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE4" portalPortletId="mytimesheet" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE5" portalPortletId="mytasks" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
 
-    <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML" portalPortletId="INCOM_CUST_REQUESTS" portletSeqId="00001" columnSeqId="00001"  sequenceNum="0"/>
-    <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML" portalPortletId="MyCommunications" portletSeqId="00001" columnSeqId="00001"  sequenceNum="0"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML" portalPortletId="SystemInfoNotes" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML" portalPortletId="SystemInfoStatus" portletSeqId="00001" columnSeqId="00001" sequenceNum="1"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML0" portalPortletId="INCOM_CUST_REQUESTS" portletSeqId="00001" columnSeqId="00001"  sequenceNum="1"/>
+    <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML0" portalPortletId="MyCommunications" portletSeqId="00001" columnSeqId="00001"  sequenceNum="2"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML1" portalPortletId="party" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML1" portalPortletId="contact" portletSeqId="00001" columnSeqId="00001"  sequenceNum="1"/>
     <PortalPagePortlet portalPageId="MYPORTAL_EMPL-NOEML1" portalPortletId="UserLogin" portletSeqId="00001" columnSeqId="00002"  sequenceNum="2"/>

Modified: ofbiz/trunk/themes/flatgrey/includes/header.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/themes/flatgrey/includes/header.ftl?rev=785872&r1=785871&r2=785872&view=diff
==============================================================================
--- ofbiz/trunk/themes/flatgrey/includes/header.ftl (original)
+++ ofbiz/trunk/themes/flatgrey/includes/header.ftl Thu Jun 18 01:15:09 2009
@@ -136,6 +136,18 @@
         <#if headerImageUrl?exists>
           <li class="logo-area"><a href="<@o...@ofbizUrl>"><img alt="${layoutSettings.companyName}" src="<@o...@ofbizContentUrl>"/></a></li>
         </#if>
+        <li width=20/>
+        <#if layoutSettings.middleTopMessage1?exists && layoutSettings.middleTopMessage1 != " ">
+          <li class=h4>
+          <table width="350px">
+          <tr><td>
+          <center>${layoutSettings.middleTopHeader?if_exists}</center>
+          <a href="/myportal/control/showPortlet?portalPortletId=${layoutSettings.middleTopLink1?if_exists}">${layoutSettings.middleTopMessage1?if_exists}</a><br/>
+          <a href="/myportal/control/showPortlet?portalPortletId=${layoutSettings.middleTopLink2?if_exists}">${layoutSettings.middleTopMessage2?if_exists}</a><br/>
+          <a href="/myportal/control/showPortlet?portalPortletId=${layoutSettings.middleTopLink3?if_exists}">${layoutSettings.middleTopMessage3?if_exists}</a>
+          </td></tr></table>
+          </li>
+        </#if>
         <li class="control-area"<#if layoutSettings.headerRightBackgroundUrl?has_content> background="${layoutSettings.headerRightBackgroundUrl}"</#if>>
           <#if userLogin?exists>
             <p class="expanded">