svn commit: r728389 [2/4] - in /ofbiz/trunk: framework/common/data/ framework/common/entitydef/ framework/common/script/org/ofbiz/common/ framework/common/servicedef/ framework/common/webcommon/WEB-INF/ framework/common/webcommon/portal/ framework/comm...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r728389 [2/4] - in /ofbiz/trunk: framework/common/data/ framework/common/entitydef/ framework/common/script/org/ofbiz/common/ framework/common/servicedef/ framework/common/webcommon/WEB-INF/ framework/common/webcommon/portal/ framework/comm...

hansbak-2
Added: ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml (added)
+++ ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml Sat Dec 20 20:40:27 2008
@@ -0,0 +1,125 @@
+<?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="sendEmailToCustomer" short-description="Send Mail When Customer Request is created or commpleted.">
+        <entity-one entity-name="CustRequest" value-name="custReq"/>
+        <if>
+            <condition>
+                <if-compare field="custReq.statusId" value="CRQ_COMPLETED" operator="equals"></if-compare>
+            </condition>
+            <then>
+                <if-not-empty field="custReq.fromPartyId">
+                    <entity-and entity-name="PartyAndUserLogin" list-name="partyUserLogin">
+                        <field-map field-name="partyId" env-name="custReq.fromPartyId"/>
+                    </entity-and>
+                    <first-from-list entry-name="partyUserLogin" list-name="partyUserLogin"/>
+                    <entity-one entity-name="UserPreference" value-name="userPref">
+                        <field-map field-name="userLoginId" value="${partyUserLogin.userLoginId}"/>
+                        <field-map field-name="userPrefTypeId" value="sendCustRequestEmail"/>
+                    </entity-one>
+                    <if-empty field="userPref.userPrefValue">
+                        <!-- set send customer requst email field to default-->
+                        <set field="setUserPref.userPrefMap.sendCustRequestEmail" value="Y"/>
+                        <entity-one entity-name="UserLogin" value-name="userLogin">
+                            <field-map field-name="userLoginId" value="system"/>
+                        </entity-one>
+                        <set field="setUserPref.userLoginId" from-field="userLogin.userLoginId"/>
+                        <set field="setUserPref.userLogin" from-field="userLogin"/>
+                        <set field="setUserPref.userPrefGroupTypeId" value="MyPage"/>
+                        <call-service service-name="setUserPreferenceGroup" in-map-name="setUserPref" include-user-login="false"/>
+                    </if-empty>
+                    <!-- if customer want to send email notification when customer request completed then send email-->
+                    <if>
+                        <condition>
+                            <or>
+                                <if-compare field="userPref.userPrefValue" value="Y" operator="equals"/>
+                                <if-empty field="userPref.userPrefValue"></if-empty>
+                            </or>
+                        </condition>
+                        <then>
+                            <entity-and entity-name="ProductStoreEmailSetting" list-name="storeEmail">
+                                <field-map field-name="emailType" value="PRDS_CUST_CONFIRM"/>
+                            </entity-and>
+                            <first-from-list entry-name="storeEmail" list-name="storeEmail"/>
+                            <set field="statusCustReq" value="COMPLETED"/>                                    
+                        </then>
+                    </if>
+                </if-not-empty>                
+            </then>
+            <else-if>
+                <condition>
+                    <if-compare field="custReq.statusId" value="CRQ_ACCEPTED" operator="equals"></if-compare>
+                </condition>
+                <then>
+                    <entity-and entity-name="ProductStoreEmailSetting" list-name="storeEmail">
+                        <field-map field-name="emailType" value="PRDS_CUST_CREATED"/>
+                    </entity-and>
+                    <first-from-list entry-name="storeEmail" list-name="storeEmail"/>
+                    <set field="statusCustReq" value="ACCEPTED"/>
+                </then>
+            </else-if>
+        </if>
+        <!-- Send Email to Customer when Customer Request is Completed or Created-->
+        <if>
+            <condition>
+                <or>
+                    <if-compare field="statusCustReq" value="COMPLETED" operator="equals"/>
+                    <if-compare field="statusCustReq" value="ACCEPTED" operator="equals"/>
+                </or>
+            </condition>
+            <then>
+                <if-not-empty field="storeEmail.bodyScreenLocation">
+                    <entity-one entity-name="Person" value-name="person">
+                        <field-map field-name="partyId" env-name="custReq.fromPartyId"/>
+                    </entity-one>
+                    <set field="getPartyEmail.partyId" from-field="custReq.fromPartyId"/>
+                    <call-service service-name="getPartyEmail" in-map-name="getPartyEmail">
+                     <result-to-field result-name="emailAddress" field-name="emailParams.sendTo"/>
+                    </call-service>
+                    <entity-and list-name="webSites" entity-name="WebSite">
+                        <field-map field-name="productStoreId" env-name="storeEmail.productStoreId" />
+                    </entity-and>
+                    <first-from-list entry-name="webSite" list-name="webSites" />
+                    <entity-one entity-name="UserLogin" value-name="userLoginSystem">
+                        <field-map field-name="userLoginId" value="system"/>
+                    </entity-one>
+                    <if-not-empty field="emailParams.sendTo">
+                        <set field="bodyParameters.person" from-field="person"/>
+                        <set field="bodyParameters.custRequest" from-field="custReq"/>
+                        <set field="bodyParameters.partyId" from-field="custReq.fromPartyId"/>
+                        <set field="emailParams.bodyParameters" from-field="bodyParameters"/>
+                        <set field="emailParams.subject" from-field="storeEmail.subject"/>
+                        <set field="emailParams.sendFrom" from-field="storeEmail.fromAddress"/>
+                        <set field="emailParams.sendCc" from-field="storeEmail.ccAddress"/>
+                        <set field="emailParams.sendBcc" from-field="storeEmail.bccAddress"/>
+                        <set field="emailParams.contentType" value="text/html"/>
+                        <set field="emailParams.bodyScreenUri" from-field="storeEmail.bodyScreenLocation"/>
+                        <set field="emailParams.webSiteId" from-field="webSite.webSiteId"/>
+                        <set field="emailParams.userLogin" from-field="userLoginSystem"/>
+                        <call-service service-name="sendMailFromScreen" in-map-name="emailParams" include-user-login="false"/>
+                    </if-not-empty>
+                </if-not-empty>
+            </then>
+        </if>
+    </simple-method>
+</simple-methods>

Propchange: ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/script/org/ofbiz/myportal/MyPortalServices.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/myportal/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/servicedef/secas.xml?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/servicedef/secas.xml (added)
+++ ofbiz/trunk/specialpurpose/myportal/servicedef/secas.xml Sat Dec 20 20:40:27 2008
@@ -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.
+-->
+
+<service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-eca.xsd">
+        <eca service="updateCustRequest" event="commit">
+                <condition field-name="oldStatusId" operator="not-equals" value="CRQ_COMPLETED"/>
+                <condition field-name="statusId" operator="equals" value="CRQ_COMPLETED"/>
+                <action service="sendEmailToCustomer" mode="sync"/>
+        </eca>
+        <eca service="createCustRequestStatus" event="commit">
+                <condition field-name="statusId" operator="is-not-empty"/>
+                <condition field-name="statusId" operator="equals" value="CRQ_ACCEPTED"/>
+                <action service="sendEmailToCustomer" mode="sync"/>
+        </eca>
+</service-eca>

Propchange: ofbiz/trunk/specialpurpose/myportal/servicedef/secas.xml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Propchange: ofbiz/trunk/specialpurpose/myportal/servicedef/secas.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/myportal/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/servicedef/services.xml?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/servicedef/services.xml (added)
+++ ofbiz/trunk/specialpurpose/myportal/servicedef/services.xml Sat Dec 20 20:40:27 2008
@@ -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.
+-->
+
+<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
+    <description>Project Manager service definitions.</description>
+
+    <service name="sendEmailToCustomer" engine="simple"  auth="true" default-entity-name="CustRequest"
+        location="org/ofbiz/myportal/MyPortalServices.xml" invoke="sendEmailToCustomer">
+        <description>Send email to customer when customer request is Completed or Created. </description>
+        <attribute name="custRequestId" type="String" mode="IN"/>
+        <auto-attributes mode="IN" include="pk" optional="false"/>
+        <auto-attributes include="nonpk" mode="OUT" optional="true"/>
+    </service>
+    
+</services>

Propchange: ofbiz/trunk/specialpurpose/myportal/servicedef/services.xml
------------------------------------------------------------------------------
    svn:eol-style = native

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

Propchange: ofbiz/trunk/specialpurpose/myportal/servicedef/services.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl (added)
+++ ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl Sat Dec 20 20:40:27 2008
@@ -0,0 +1,48 @@
+<#--
+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.
+-->
+
+<#assign selected = headerItem?default("void")>
+<div id="app-navigation">
+  <h2>My Personal Page</h2>
+  <ul>
+    <#if userLogin?has_content>  
+        <#if getMainPage?has_content>
+        <#list getMainPage as page>
+           <li<#if selected = "${page.portalPageId}"> class="selected"</#if>><a href="<@ofbizUrl>dashboardExample?portalPageId=${page.portalPageId}</@ofbizUrl>">${page.portalName}</a></li>
+         </#list>
+     <#else>
+     <#list getNA as page>
+           <li<#if selected = "${page.portalPageId}"> class="selected"</#if>><a href="<@ofbizUrl>dashboardExample?portalPageId=${page.portalPageId}</@ofbizUrl>">${page.portalName}</a></li>
+         </#list>
+     </#if>      
+     <#if pages?has_content>
+         <#list pages as page>
+             <li<#if selected = "${page.portalPageId}"> class="selected"</#if>><a href="<@ofbizUrl>dashboardExample?portalPageId=${page.portalPageId}</@ofbizUrl>">${page.portalName}</a></li>
+         </#list>
+        </#if>
+        <li class="opposed"><a href="<@ofbizUrl>logout</@ofbizUrl>">${uiLabelMap.CommonLogout}</a></li>
+        <#--li class="opposed"><a href="http://docs.ofbiz.org/display/OFBENDUSER/My+Page?decorator=printable" target="_blank">${uiLabelMap.CommonHelp}</a></li>-->      
+        <li class="opposed"><a href="http://docs.ofbiz.org/display/OFBENDUSER/My+Page?decorator=printable" url-mode="plain" target-window="new">Help</a></li>
+     <li class="opposed"><a href="<@ofbizUrl>ManagePortalPages?originalPortalPageId=${originalPortalPageId}</@ofbizUrl>">preferences</a></li>
+    <#else>
+        <li class="opposed"><a href="<@ofbizUrl>${checkLoginUrl?if_exists}</@ofbizUrl>">${uiLabelMap.CommonLogin}</a></li>
+    </#if>
+  </ul>
+  <br class="clear" />
+</div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/appheader.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl (added)
+++ ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl Sat Dec 20 20:40:27 2008
@@ -0,0 +1,37 @@
+<#--
+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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <title>${title}</title>
+        <link rel="stylesheet" href="${baseUrl?if_exists}/images/maincss.css" type="text/css"/>
+    </head>
+    <body>
+        <h1>${title}</h1>
+        <p>Hello ${person.firstName?if_exists} ${person.lastName?if_exists},</p>
+        <p>Your Customer Request ${custRequest.custRequestName?if_exists} [${custRequest.custRequestId}] has been completed.
+        <br/><br/>
+        The status and used hours can always be checked at the url: <br/>
+        <a href="${baseUrl?if_exists}/mypage/control/ViewRequest?custRequestId=${custRequest.custRequestId}">${baseUrl?if_exists}/mypage/control/ViewRequest?custRequestId=${custRequest.custRequestId}</a>
+        <br/><br/>
+        Regards.<br/><br/>
+        Thank you for your business.
+    </body>
+</html>

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/email/CompletedCustRequestNotification.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl (added)
+++ ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl Sat Dec 20 20:40:27 2008
@@ -0,0 +1,41 @@
+<#--
+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.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <title>${title}</title>
+        <link rel="stylesheet" href="${baseUrl?if_exists}/images/maincss.css" type="text/css"/>
+    </head>
+    <body>
+        <h1>${title}</h1>
+        <p>Hello ${person.firstName?if_exists} ${person.lastName?if_exists},</p>
+        <p>Your Customer Request ${custRequest.custRequestName?if_exists} [${custRequest.custRequestId}] has been created successfully.
+        <br/><br/>
+        We will solve/implement the request as soon as possible
+        <br/><br/>
+        The status and used hours can always be checked at the url: <br/>
+        <a href="${baseUrl?if_exists}/mypage/control/ViewRequest?custRequestId=${custRequest.custRequestId}">${baseUrl?if_exists}/mypage/control/ViewRequest?custRequestId=${custRequest.custRequestId}</a>
+        <br/><br/>
+        Regards.
+        <br/><br/>
+        PS. we will notify you when the customer request is completed.
+        </p>
+    </body>
+</html>

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/templates/email/CreateCustRequestNotification.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl Sat Dec 20 20:40:27 2008
@@ -0,0 +1,26 @@
+  <div id="partyContent" class="screenlet">
+    <div class="screenlet-title-bar">
+      <h3>Attach File</h3>
+    </div>
+    <div class="screenlet-body">
+
+      <div class="label">${uiLabelMap.Attach}</div>
+      <form id="uploadPartyContent" method="post" enctype="multipart/form-data" action="<@ofbizUrl>uploadAttachFiletoEmail</@ofbizUrl>">
+        <input type="hidden" name="dataCategoryId" value="PERSONAL"/>
+        <input type="hidden" name="contentTypeId" value="DOCUMENT"/>
+        <input type="hidden" name="statusId" value="CTNT_PUBLISHED"/>
+        <input type="hidden" name="partyId" value="${partyId}" id="contentPartyId"/>
+        <input type="hidden" name="partyContentTypeId" value="USERDEF"/>
+        <input type="hidden" name="roleTypeId" value="CONTENT"/>
+        <input type="hidden" name="communicationEventId" value="${communicationEventId}"/>  
+        <input type="hidden" name="communicationEventTypeId" value="${communicationEventTypeId}"/>        
+        <input type="hidden" name="parentCommEventId" value="${parameters.parentCommEventId?if_exists}"/>
+ <input type="hidden" name="originalCommEventId" value="${parameters.originalCommEventId?if_exists}"/>
+              
+        <input type="file" name="uploadedFile" size="25" id="uploadedFile"/>
+        <input type="submit" value="${uiLabelMap.CommonUpload}"/><br><br>
+        <input type="button" value="Back" onClick="javascript:history.go(-1);">
+      </form>
+      <div id='progress_bar'><div></div></div>
+    </div>
+  </div>

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/addAttachFile.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl Sat Dec 20 20:40:27 2008
@@ -0,0 +1,37 @@
+  <div id="partyContentList">  
+    <div class="screenlet-title-bar">
+      <h3>Attached file</h3>
+    </div>
+    <div class="screenlet-body">
+      <#if commEventContent?has_content>
+        <table class="basic-table" cellspacing="0">
+          <#list commEventContent as commContent>
+           <#list partyContent as pContent>
+   <#assign partyId = pContent.partyId/>
+   <#if commContent.contentId == pContent.contentId>
+   <#assign content = pContent.getRelatedOne("Content")>
+   <#assign fromDate = commContent.fromDate>
+   <#assign ptype = pContent.partyContentTypeId/>
+   </#if>
+   </#list>
+            <tr>
+              <td width="30%">
+              <#if content?has_content>
+                <#if (content.contentName?has_content)>
+                    <a href="<@ofbizUrl>img/${content.contentName}?imgId=${content.dataResourceId}</@ofbizUrl>" target="blank"> ${content.contentName?if_exists}</a>
+                </#if>
+               </#if>
+               </td>
+              <td class="button-col" width="20%">
+                <a href="<@ofbizUrl>removeAttachFile/EditCommunicationEvent?partyId=${partyId}&communicationEventTypeId=EMAIL_COMMUNICATION&communicationEventId=${commContent.communicationEventId}&contentId=${commContent.contentId}&fromDate=${fromDate}</@ofbizUrl>">${uiLabelMap.CommonRemove}</a>
+              </td>
+              <td  width="20%">${commContent.fromDate?if_exists}</td>
+              <td  width="30%">&nbsp;</td>
+            </tr>
+          </#list>
+        </table>
+      <#else>
+        ${uiLabelMap.PartyNoContent}
+      </#if>
+      </div>
+  </div>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/attachFileList.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp Sat Dec 20 20:40:27 2008
@@ -0,0 +1,20 @@
+<%--
+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.
+--%>
+
+<%response.sendRedirect("control/main");%>

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/index.jsp
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy Sat Dec 20 20:40:27 2008
@@ -0,0 +1,56 @@
+/*
+ * 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 java.util.*;
+import org.ofbiz.entity.*;
+import org.ofbiz.base.util.*;
+import org.ofbiz.base.util.collections.*;
+import org.ofbiz.accounting.invoice.*;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.math.BigDecimal;
+import org.ofbiz.base.util.UtilNumber;
+import javolution.util.FastList;
+
+conversionRate = BigDecimal.ONE;
+ZERO = BigDecimal.ZERO;
+int decimals = UtilNumber.getBigDecimalScale("invoice.decimals");
+int rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding");
+invoiceType = delegator.findByPrimaryKey("InvoiceType", ["invoiceTypeId" : invoiceTypeId]);
+  if (invoiceType.parentTypeId.equals("SALES_INVOICE")) {
+    otherCurrency = delegator.findByPrimaryKey("Party", ["partyId" : partyId]).preferredCurrencyUomId;
+  } else {
+    otherCurrency = delegator.findByPrimaryKey("Party", ["partyId" : partyIdFrom]).preferredCurrencyUomId;
+  }
+  // check if conversion required
+  if (currencyUomId && otherCurrency && otherCurrency != currencyUomId && !otherCurrency.equals(currencyUomId)) {
+    result = dispatcher.runSync("convertUom", [uomId : currencyUomId,
+                                               uomIdTo : otherCurrency,
+                                               originalValue : new Double("1.00"),
+                                               asOfDate : invoiceDate]);
+    
+    if (result.convertedValue != null) {
+        context.total = (org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotalBd(delegator,invoiceId)).multiply(new BigDecimal(result.convertedValue.toString())).setScale(decimals, rounding);
+        context.amountToApply = org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId).multiply(new BigDecimal(result.convertedValue.toString())).setScale(decimals, rounding);
+        context.currencyUomId = otherCurrency;
+    }
+  } else {
+      context.total = (org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotalBd(delegator,invoiceId));
+      context.amountToApply = org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId);
+  }

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/ConvertInvoiceCurrency.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy Sat Dec 20 20:40:27 2008
@@ -0,0 +1,38 @@
+/*
+ * 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.base.util.*;
+import org.ofbiz.entity.util.EntityUtil;
+
+if (parameters.communicationEventId) {
+ communicationEventRoles = delegator.findByAnd("CommunicationEventRole",
+       ["communicationEventId" : parameters.communicationEventId,
+        "partyId" : userLogin.partyId,
+        "statusId" : "COM_ROLE_READ"
+       ]);
+ if (!communicationEventRoles) {
+        communicationEventRoles = delegator.findByAnd("CommunicationEventRole",
+           ["communicationEventId" : parameters.communicationEventId,
+            "partyId" : userLogin.partyId
+           ]);
+    }
+    if (communicationEventRoles) {
+        context.communicationEventRole = communicationEventRoles.get(0);
+    }
+}
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/actions/GetMyCommunicationEventRole.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 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=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml Sat Dec 20 20:40:27 2008
@@ -0,0 +1,320 @@
+<?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.
+-->
+
+<site-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd">
+    <include location="component://common/webcommon/WEB-INF/common-controller.xml"/>    
+    <include location="component://common/webcommon/WEB-INF/portal-controller.xml"/>    
+    <include location="component://projectmgr/webapp/projectmgr/WEB-INF/controller.xml"/>    
+    <include location="component://party/webapp/partymgr/WEB-INF/controller.xml"/>    
+    
+    <description>Show personal information in the system</description>
+    
+    <request-map uri="main">
+        <security https="true" auth="true"/>
+        <event  type="simple" invoke="getPortalPageId" path="org/ofbiz/myportal/Events.xml"/>
+        <response name="success" type="view" value="main"/>
+    </request-map>
+    
+    <!-- TIMESHEET -->
+    <request-map uri="myTimesheet">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="myTimesheet"/>
+    </request-map>
+    <request-map uri="updateTimesheet">
+        <security https="true" auth="true"/>
+        <event type="service-multi" invoke="updateTimeEntryByWorkeffort"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+    <request-map uri="updateTimesheetKey">
+        <security https="true" auth="true"/>
+        <event type="service-multi" invoke="updateTimeEntryByWorkeffort"/>
+        <response name="success" type="view" value="myTimesheet"/>
+        <response name="error" type="view" value="myTimesheet"/>
+    </request-map>
+    <request-map uri="statusToComplete">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateTimesheet"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="request" value="getToNextDonePage"/>
+    </request-map>
+    
+    <!-- MY TASKS -->
+    <request-map uri="myTasks">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="myTasks"/>
+    </request-map>
+    <request-map uri="updateTaskAssigment">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateTaskAssigment"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="request" value="getToNextDonePage"/>
+    </request-map>
+    
+    <!-- COMPANY COMMUNICATION -->    
+    <request-map uri="myCompanyComms">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="myCompanyComms"/>
+    </request-map>
+    <request-map uri="newEvent">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="newEvent"/>
+    </request-map>
+    <request-map uri="createEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createWorkEffort"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="newEvent"/>
+    </request-map>
+    <request-map uri="deleteEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="deleteWorkEffort"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="request" value="getToNextDonePage"/>
+    </request-map>
+    
+    <!-- MY COMMUNICATIONS -->
+    <request-map uri="myCommunications">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="myCommunications"/>
+    </request-map>
+    <request-map uri="createCommunicationEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createCommunicationEvent"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+    <request-map uri="deletePartyCommunicationEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="deleteCommunicationEvent"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+    <request-map uri="RemoveCommunicationEventRole">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="removeCommunicationEventRole"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="request" value="getToNextDonePage"/>
+    </request-map>
+    <request-map uri="allocateMsgToParty">
+        <security https="true" auth="true"/>
+        <event type="simple" path="org/ofbiz/party/communication/CommunicationEventServices.xml" invoke="allocateMsgToParty"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="ViewCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="deleteCommunicationEvents">
+        <security https="true" auth="true"/>
+        <event type="service-multi" invoke="deleteCommunicationEventWorkEffort"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+    
+    <!-- PREFERENCES -->
+    <request-map uri="preferences">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="preferences"/>
+    </request-map>
+    <request-map uri="updatePreferences">
+        <security https="true" auth="true"/>
+        <event invoke="updatePreferences" path="org/ofbiz/myportal/Events.xml" type="simple"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="preferences"/>
+    </request-map>
+    <request-map uri="custPreferences">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="custPreferences"/>
+    </request-map>
+    <request-map uri="updateCustPreferences">
+        <security https="true" auth="true"/>
+        <event invoke="updateCustPreferences" path="org/ofbiz/myportal/Events.xml" type="simple"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="custPreferences"/>
+    </request-map>
+    
+    <!-- OTHER COMMUNICATIONS -->
+    <request-map uri="otherCommunications">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="otherCommunications"/>
+    </request-map>
+    <request-map uri="setCommunicationEventRoleStatus">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="setCommunicationEventRoleStatus"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+    <request-map uri="ViewCommunicationEvent">
+        <security https="true" auth="true"/>
+        <event  type="simple" invoke="setCommEventToRead" path="org/ofbiz/myportal/Events.xml"/>
+        <response name="success" type="view" value="ViewCommunicationEvent"/>
+        <response name="error" type="request" value="getToNextDonePage"/>
+    </request-map>
+    
+    <request-map uri="deleteUnknownCommunicationEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="deleteCommunicationEvent"/>
+        <response name="success" type="request" value="getToNextDonePage"/>
+        <response name="error" type="view" value="ViewCommunicationEvent"/>
+    </request-map>
+    
+    <!-- to clean up old data -->
+    <request-map uri="createCommEventRoles">
+        <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"/>
+    </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="ViewCommunicationEvent" type="request" value="ViewCommunicationEvent"/>
+        <response name="myCommunications" type="request" value="myCommunications"/>
+        <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"/>
+    </request-map>
+    
+    <!-- Create Customer Request-->
+    <request-map uri="newrequest">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditRequest"/>
+    </request-map>
+    <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="view" value="EditRequest"/>
+    </request-map>
+    <request-map uri="updateRequest">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateCustRequest"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="main"/>
+    </request-map>
+    <request-map uri="listInvoices">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ListInvoices"/>
+    </request-map>    
+    <request-map uri="listProjects">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ListProjects"/>
+    </request-map>    
+    
+    <!-- EMAIL COMMUNICATIONS -->
+    <request-map uri="NewCommunicationEvents">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="NewCommunicationEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="createCommunicationEvent"/>
+        <response name="success" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="updateCommunicationEvent">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateCommunicationEvent"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="ViewCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="addAttachmentEmail">
+        <security https="true" auth="true"/>        
+        <response name="success" type="view" value="addAttachmentEmail"/>
+    </request-map>
+    
+    <request-map uri="addContentToCommEvent">
+        <security https="true" auth="true"/>        
+        <event type="simple" path="org/ofbiz/myportal/Events.xml" invoke="addContentToCommEvent"/>
+        <response name="success" type="request" value="NewCommunicationEvents"/>
+        <response name="error" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="uploadAttachFiletoEmail">
+        <security https="true" auth="true"/>        
+        <event type="simple" path="org/ofbiz/myportal/Events.xml" invoke="createCommunicationContent"/>
+        <response name="success" type="request" value="NewCommunicationEvents"/>
+        <response name="error" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="removeAttachFile">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="removeCommEventContentAssoc"/>        
+        <response name="success" type="request" value="NewCommunicationEvents"/>
+        <response name="error" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    
+    <request-map uri="EditCommunicationEvent">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditCommunicationEvent"/>
+    </request-map>
+    
+    <!-- CustRequest Content -->
+    <request-map uri="EditCustRequestContent">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditCustRequestContent"/>
+    </request-map>
+    
+    <request-map uri="createCustRequestContent">
+        <security auth="true" https="true"/>
+        <event path="org/ofbiz/order/request/CustRequestEvents.xml" type="simple"  invoke="createCustRequestContent"/>
+        <response name="success" type="request-redirect" value="EditCustRequestContent"/>
+        <response name="error" type="view" value="EditCustRequestContent"/>
+    </request-map>
+    
+    <request-map uri="deleteCustRequestContent">
+        <security auth="true" https="true"/>
+        <event invoke="deleteCustRequestContent" type="service"/>
+        <response name="success" type="request-redirect" value="EditCustRequestContent"/>
+        <response name="error" type="view" value="EditCustRequestContent"/>
+    </request-map>
+    
+    <!-- dashboard -->  
+    <request-map uri="dashboardExample">
+        <security https="true" auth="false"/>
+        <response name="success" type="view" value="dashboardExample"/>
+    </request-map>
+    
+    <view-map name="myTasks" type="screen" page="component://myportal/widget/CommonScreens.xml#MyTasks"/>
+    <view-map name="myCommunications" type="screen" page="component://myportal/widget/CommonScreens.xml#MyCommunications"/>
+    <view-map name="otherCommunications" type="screen" page="component://myportal/widget/CommonScreens.xml#OtherCommunications"/>
+    <view-map name="myCompanyComms" type="screen" page="component://myportal/widget/CommonScreens.xml#MyCompanyComms"/>
+    <view-map name="myTimesheet" type="screen" page="component://myportal/widget/CommonScreens.xml#MyTimesheet"/>
+    <view-map name="newEvent" type="screen" page="component://myportal/widget/MyPageScreens.xml#newEvent"/>
+    <view-map name="ViewCommunicationEvent" type="screen" page="component://myportal/widget/MyPageScreens.xml#ViewCommunicationEvent"/>
+    <view-map name="ViewRequest" type="screen" page="component://myportal/widget/MyPageScreens.xml#ViewRequest"/>
+    <view-map name="EditRequest" type="screen" page="component://myportal/widget/MyPageScreens.xml#EditRequest"/>
+    <view-map name="ListInvoices" type="screen" page="component://myportal/widget/MyPageScreens.xml#ListInvoices"/>
+    <view-map name="ListProjects" type="screen" page="component://myportal/widget/MyPageScreens.xml#ListProjects"/>
+    <view-map name="custPreferences" type="screen" page="component://myportal/widget/CommonScreens.xml#custPreferences"/>
+    <view-map name="EditCommunicationEvent" type="screen" page="component://myportal/widget/MyPageScreens.xml#EditCommunicationEvent"/>
+    <view-map name="addAttachmentEmail" type="screen" page="component://myportal/widget/MyPageScreens.xml#addAttachmentEmail"/>
+    <view-map name="EditCustRequestContent" type="screen" page="component://myportal/widget/MyPageScreens.xml#EditCustRequestContent"/>  
+    
+    <!-- dashboard -->  
+    <view-map name="main" type="screen" page="component://myportal/widget/CommonScreens.xml#main"/>
+    <view-map name="dashboardExample" type="screen" page="component://myportal/widget/MyPortalScreens.xml#DisplayExamplePage"/>
+</site-conf>

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/controller.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml Sat Dec 20 20:40:27 2008
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<!--
+    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.
+-->
+
+<web-app>
+    <display-name>Open For Business - My Page</display-name>
+    <description>My Portal component of the Open For Business Project</description>
+    
+    <context-param>
+        <param-name>webSiteId</param-name>
+        <param-value>WebStore</param-value>
+        <description>A unique ID used to look up the WebSite entity to get information about catalogs, etc.</description>
+    </context-param>
+    <context-param>
+        <param-name>entityDelegatorName</param-name>
+        <param-value>default</param-value>
+        <description>The Name of the Entity Delegator to use, defined in entityengine.xml</description>
+    </context-param>
+    <context-param>
+        <param-name>localDispatcherName</param-name>
+        <param-value>myportal</param-value>
+        <description>A unique name used to identify/recognize the local dispatcher for the Service Engine</description>
+    </context-param>    
+    <context-param>
+        <param-name>mainDecoratorLocation</param-name>
+        <param-value>component://myportal/widget/CommonScreens.xml</param-value>
+        <description>The location of the main-decorator screen to use for this webapp; referred to as a context variable in screen def XML files.</description>
+    </context-param>
+
+    <filter>
+        <filter-name>ContextFilter</filter-name>
+        <display-name>ContextFilter</display-name>
+        <filter-class>org.ofbiz.webapp.control.ContextFilter</filter-class>
+        <init-param>
+            <param-name>disableContextSecurity</param-name>
+            <param-value>N</param-value>
+        </init-param>
+        <init-param>
+            <param-name>allowedPaths</param-name>
+            <param-value>/control:/select:/index.html:/index.jsp:/default.html:/default.jsp:/images:/includes/maincss.css</param-value>
+        </init-param>
+        <init-param>
+            <param-name>errorCode</param-name>
+            <param-value>403</param-value>
+        </init-param>
+        <init-param>
+            <param-name>redirectPath</param-name>
+            <param-value>/control/main</param-value>
+        </init-param>        
+    </filter>
+    <filter-mapping>
+        <filter-name>ContextFilter</filter-name>
+            <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <listener><listener-class>org.ofbiz.webapp.control.ControlEventListener</listener-class></listener>
+    <listener><listener-class>org.ofbiz.webapp.control.LoginEventListener</listener-class></listener>
+    <!-- NOTE: not all app servers support mounting implementations of the HttpSessionActivationListener interface -->
+    <!-- <listener><listener-class>org.ofbiz.webapp.control.ControlActivationEventListener</listener-class></listener> -->
+  
+    <servlet>
+        <servlet-name>ControlServlet</servlet-name>
+        <display-name>ControlServlet</display-name>
+        <description>Main Control Servlet</description>
+        <servlet-class>org.ofbiz.webapp.control.ControlServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>ControlServlet</servlet-name>
+        <url-pattern>/control/*</url-pattern>
+    </servlet-mapping>
+
+    <session-config>
+        <session-timeout>60</session-timeout> <!-- in minutes -->
+    </session-config>
+
+    <welcome-file-list>
+        <welcome-file>index.jsp</welcome-file>
+        <welcome-file>index.html</welcome-file>
+        <welcome-file>index.htm</welcome-file>
+    </welcome-file-list>
+</web-app>

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp (added)
+++ ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp Sat Dec 20 20:40:27 2008
@@ -0,0 +1,53 @@
+<%--
+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.
+--%>
+
+<%@ page import="org.ofbiz.base.util.*" %>
+<html>
+<head>
+<title>Open For Business Message</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<% String errorMsg = (String) request.getAttribute("_ERROR_MESSAGE_"); %>
+
+<body bgcolor="#FFFFFF">
+<div align="center">
+  <br/>
+  <table width="100%" border="1" height="200">
+    <tr>
+      <td>
+        <table width="100%" border="0" height="200">
+          <tr bgcolor="#CC6666">
+            <td height="45">
+              <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#FFFFFF"><b>:ERROR MESSAGE:</b></font></div>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><%=UtilFormatOut.replaceString(errorMsg, "\n", "<br/>")%></font></div>
+            </td>
+          </tr>
+        </table>
+      </td>
+    </tr>
+  </table>
+</div>
+<div align="center"></div>
+</body>
+</html>

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/webapp/myportal/error/error.jsp
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml?rev=728389&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml (added)
+++ ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml Sat Dec 20 20:40:27 2008
@@ -0,0 +1,379 @@
+<?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="main-decorator">
+        <section>
+            <actions>
+                <!-- base/top/specific map first, then more common map added for shared labels -->
+                <property-map resource="MyPortalUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
+                <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.MyInformation" 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="activeApp" value="example" global="true"/>
+                <!--set field="applicationMenuName" value="ExampleAppBar" global="true"/>
+                    <set field="applicationMenuLocation" value="component://example/widget/example/ExampleMenus.xml" global="true"/-->
+                <set field="originalPortalPageId" value="MYPORTAL"/>
+                <set field="mainPortalPageId" value="MAINMYPORTAL"/>
+                <set field="appheaderTemplate" value="component://myportal/templates/appheader.ftl"/>              
+                <entity-and entity-name="PortalPage" list-name="pages">
+                    <field-map field-name="originalPortalPageId" env-name="originalPortalPageId"/>
+                    <field-map field-name="ownerUserLoginId" env-name="userLogin.userLoginId"/>
+                    <order-by field-name="createdStamp"/>
+                </entity-and>
+                <entity-and entity-name="PortalPage" list-name="getNA">
+                    <field-map field-name="ownerUserLoginId" value="_NA_"/>
+                </entity-and>
+                <entity-and entity-name="PortalPage" list-name="getMainPage">
+                    <field-map field-name="originalPortalPageId" env-name="mainPortalPageId"/>
+                    <field-map field-name="ownerUserLoginId" env-name="userLogin.userLoginId"/>
+                </entity-and>
+            </actions>
+            <widgets>
+                <section>
+                    <condition><not><if-empty field-name="userLogin"/></not></condition>
+                    <actions>
+                        <service service-name="getUserPreferenceGroup" result-map-name="preferences">
+                            <field-map field-name="userPrefGroupTypeId" value="MyPortal" />
+                        </service>
+                    </actions>
+                    <widgets/>
+                </section>
+                <include-screen name="GlobalDecorator" location="component://common/widget/CommonScreens.xml"/>
+            </widgets>
+        </section>
+    </screen>
+    
+   <screen name="CommonPartyDecorator">
+        <section>
+            <actions>
+                <set field="headerItem" value="viewprofile"/>
+                <set field="partyId" from-field="userLogin.partyId"/>
+                <set field="parameters.partyId" from-field="userLogin.partyId"/>
+                <entity-one entity-name="Party" value-name="party"/>
+                <entity-one entity-name="Person" value-name="lookupPerson"/>
+                <entity-one entity-name="PartyGroup" value-name="lookupGroup"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <container style="h1"><label text="${uiLabelMap.PartyTheProfileOf} ${lookupPerson.personalTitle} ${lookupPerson.firstName} ${lookupPerson.middleName} ${lookupPerson.lastName} ${lookupPerson.suffix} ${lookupGroup.groupName} [${partyId}]"/></container>
+                                <decorator-section-include name="body"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="CommonCalendarDecorator">
+        <section>
+            <widgets>
+                <decorator-section-include name="body"/>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="CommonTimesheetDecorator">
+        <section>
+            <actions>
+                <set field="headerItem" value="${parameters.donePage}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body"/>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="CommonCommunicationEventDecorator">
+        <section>
+            <actions>
+                <set field="headerItem" value="${parameters.donePage}"/>
+                <entity-one entity-name="CommunicationEvent" value-name="commEvent">
+                    <field-map field-name="communicationEventId" env-name="parameters.communicationEventId"/>
+                </entity-one>
+                <script location="component://mypage/webapp/mypage/WEB-INF/actions/GetMyCommunicationEventRole.groovy"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <include-menu location="component://mypage/widget/MyPageMenus.xml" name="CommSubTabBar"/>
+                        <decorator-section-include name="body"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="CommonMyTaskDecorator">
+        <section>
+            <actions>
+                <set field="headerItem" value="${parameters.donePage}"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body"/>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+ <screen name="main">
+ <section>
+ <widgets>
+    <include-screen name="DisplayExamplePage" location="component://myportal/widget/MyPortalScreens.xml"/>
+ </widgets>
+ </section>
+ </screen>
+    
+    <screen name="mainEmployee">
+        <section>
+            <actions>
+                <service service-name="getUserPreferenceGroup"
+                    result-map-name="preferences">
+                    <field-map field-name="userPrefGroupTypeId" value="MyPage" />
+                </service>
+                <!--  check if there are any customer requests for this user -->
+                <entity-condition list-name="custRequests" entity-name="CustReqAndTypeAndPartyRel">
+                    <condition-list combine="and">
+                        <condition-expr field-name="statusId" operator="equals" value="CRQ_SUBMITTED"/>
+                        <condition-list combine="and">
+                            <condition-expr field-name="roleTypeIdTo" operator="equals" value="REQ_TAKER"/>
+                            <condition-expr field-name="partyIdTo" operator="equals" env-name="userLogin.partyId"/>
+                        </condition-list>
+                    </condition-list>
+                    <order-by field-name="-custRequestDate"/>
+                </entity-condition>
+            </actions>
+            <widgets>
+                <section>
+                    <condition>
+                        <not><if-empty field-name="custRequests"/></not>
+                    </condition>
+                    <widgets>
+                        <screenlet title="${uiLabelMap.IncomingCustRequests}" navigation-form-name="ListRequestList" >
+                            <include-form name="ListRequestList" location="component://order/webapp/ordermgr/request/RequestForms.xml"/>
+                        </screenlet>
+                    </widgets>
+                </section>
+                <section>
+                    <condition>
+                        <if-compare field-name="preferences.userPrefMap.myCommunications"
+                            operator="equals" value="Y" />
+                    </condition>
+                    <widgets>
+                        <include-screen name="MyCommunications"
+                            location="component://mypage/widget/MyPageScreens.xml"/>
+                    </widgets>
+                </section>
+                <section>
+                    <condition>
+                        <if-compare field-name="preferences.userPrefMap.otherCommunications"
+                            operator="equals" value="Y" />
+                    </condition>
+                    <widgets>
+                        <include-screen name="OtherCommunications"
+                            location="component://mypage/widget/MyPageScreens.xml" />
+                    </widgets>
+                </section>
+                <section>
+                    <condition>
+                        <if-compare field-name="preferences.userPrefMap.myCompanyComms"
+                            operator="equals" value="Y" />
+                    </condition>
+                    <widgets>
+                        <include-screen name="MyCompanyComms"
+                            location="component://mypage/widget/MyPageScreens.xml" />
+                    </widgets>
+                </section>
+                <section>
+                    <condition>
+                        <if-compare field-name="preferences.userPrefMap.myTasks"
+                            operator="equals" value="Y" />
+                    </condition>
+                    <widgets>
+                        <include-screen name="MyTasks"
+                            location="component://mypage/widget/MyPageScreens.xml" />
+                    </widgets>
+                </section>
+                <section>
+                    <condition>
+                        <if-compare field-name="preferences.userPrefMap.myTimesheet"
+                            operator="equals" value="Y" />
+                    </condition>
+                    <widgets>
+                        <include-screen name="MyTimesheet"
+                            location="component://mypage/widget/MyPageScreens.xml" />
+                    </widgets>
+                </section>
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="mainCustomer">
+        <section>
+            <actions>
+                <set field="partyId" from-field="userLogin.partyId"/>
+                <set field="status" from-field="parameters.status" default-value="open"/>
+                <set field="status" value="${bsh:&quot;all&quot;.equals(status)?&quot;%&quot;:&quot;open&quot;}"/>
+                <entity-condition list-name="custRequests" entity-name="CustRequestInfoAndWorkEffortAndPartyRel">
+                    <condition-list combine="and">
+                        <condition-expr field-name="fromPartyId" operator="equals" value="${userLogin.partyId}"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="statusId" operator="equals" value="CRQ_REVIEWED"/>
+                            <condition-expr field-name="statusId" operator="equals" value="CRQ_ACCEPTED"/>
+                        </condition-list>
+                    </condition-list>
+                    <order-by field-name="+priority"/>
+                    <order-by field-name="+custRequestDate"/>
+                </entity-condition>
+                <entity-condition list-name="custRequestsCompleted" entity-name="CustRequestInfoAndWorkEffortAndPartyRel">
+                    <condition-list combine="and">
+                        <condition-expr field-name="fromPartyId" operator="equals" value="${userLogin.partyId}"/>
+                        <condition-list combine="or">
+                            <condition-expr field-name="statusId" operator="equals" value="CRQ_COMPLETED"/>
+                            <condition-expr field-name="statusId" operator="equals" value="CRQ_CANCELLED"/>
+                        </condition-list>
+                    </condition-list>
+                    <order-by field-name="custRequestDate"/>
+                </entity-condition>
+                <script location="component://party/webapp/partymgr/WEB-INF/actions/party/GetMyCompany.groovy"/>                
+                <entity-condition list-name="companyCustRequests" entity-name="CustRequestInfoAndWorkEffortAndPartyRel">
+                    <condition-list combine="and">
+                        <condition-expr field-name="partyIdFrom" operator="equals" value="${myCompanyId}"/>
+                        <condition-expr field-name="fromPartyId" operator="not-equals" value="${userLogin.partyId}"/>
+                    </condition-list>
+                    <order-by field-name="custRequestDate"/>
+                </entity-condition>
+                <!-- only list internal notes to the customer do not show the incoming or outgoing emails: will confuse only -->
+                <entity-condition entity-name="CommunicationEventAndRole" list-name="commEvents">
+                    <condition-list combine="and">
+                        <condition-expr field-name="communicationEventTypeId" operator="equals" value="COMMENT_NOTE" />
+                        <condition-expr field-name="partyId" operator="equals" value="${partyId}" />
+                        <condition-list combine="or">
+                            <condition-expr field-name="roleStatusId"
+                                operator="not-equals" value="COM_ROLE_COMPLETED" />
+                            <condition-expr field-name="roleStatusId"
+                                operator="like" value="${status}" />
+                        </condition-list>
+                    </condition-list>
+                    <order-by field-name="-datetimeStarted" />
+                </entity-condition>
+                <service service-name="getUserPreferenceGroup" result-map-name="preferences">
+                    <field-map field-name="userPrefGroupTypeId" value="MyPage" />
+                </service>
+            </actions>
+            <widgets>
+                <screenlet title="${uiLabelMap.MyOpenCustomerRequests}" navigation-form-name="ListCustRequests" >
+                    <link target="newrequest" text="${uiLabelMap.OrderNewRequest}" style="buttontext"/>
+                    <include-form name="ListCustRequests" location="component://mypage/widget/MyPageForms.xml"/>
+                </screenlet>
+                <screenlet title="${uiLabelMap.MyCompletedCustomerRequests}" navigation-form-name="ListCustRequestsCompleted">
+                    <include-form name="ListCustRequestsCompleted" location="component://mypage/widget/MyPageForms.xml"/>
+                </screenlet>
+                <section>
+                    <condition>
+                        <not><if-empty field-name="companyCustRequests"/></not>
+                    </condition>
+                    <widgets>
+                        <screenlet title="${uiLabelMap.OtherCompanyCustomerRequests}" navigation-form-name="ListOtherCompanyRequests">
+                            <include-form name="ListOtherCompanyRequests" location="component://mypage/widget/MyPageForms.xml"/>
+                        </screenlet>
+                    </widgets>
+                </section>
+                <screenlet title="${uiLabelMap.CommunicationsOfParty}: ${partyName.firstName} ${partyName.middleName} ${partyName.lastName} ${partyName.groupName} [${partyId}] "
+                    navigation-menu-name="communicationsMenu" navigation-form-name="ListPartyCommEvents" name="myComms">
+                    <include-menu name="communicationsMenu" location="component://mypage/widget/MyPageMenus.xml" />
+                    <include-form name="ListPartyCommEvents" location="component://mypage/widget/MyPageForms.xml" />
+                </screenlet>                
+            </widgets>
+        </section>
+    </screen>
+    
+    <screen name="mainNoAccess">
+        <section>
+            <widgets>
+                <screenlet title="${uiLabelMap.CommonNoAccess}" navigation-form-name="ListRequestList" >
+                    <container>
+                        <label style="h1" text="${uiLabelMap.MyPageNoAccess1}"></label>
+                    </container>
+                    <container>
+                        <label style="h2" text="${uiLabelMap.MyPageNoAccess2}"></label>
+                    </container>
+                    <container>
+                        <label style="h3" text="${uiLabelMap.MyPageNoAccess3}"></label>
+                    </container>
+                    <container>
+                        <label style="h3" text="${uiLabelMap.MyPageNoAccess4}"></label>
+                    </container>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="CommonRequestDecorator">
+        <section>
+            <actions>
+                <set field="custRequestId" from-field="parameters.custRequestId"/>
+                <entity-one entity-name="CustRequest" value-name="custRequest"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <condition>
+                                <not><if-empty field-name="custRequest"/></not>
+                            </condition>
+                            <widgets>
+                                <include-menu location="component://myportal/widget/MyPageMenus.xml" name="RequestTabBar"/>
+                            </widgets>
+                        </section>
+                        <include-menu name="RequestSubTabBar" location="component://myportal/widget/MyPageMenus.xml"/>
+                        <container>
+                            <label style="h1">[${uiLabelMap.CommonId}:${custRequest.custRequestId}] ${custRequest.custRequestName}</label>
+                        </container>
+                        <decorator-section-include name="body"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>          
+</screens>
\ No newline at end of file

Propchange: ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/specialpurpose/myportal/widget/CommonScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml