Hans,

This is great! An excellent use of user preferences.

-Adrian

[EMAIL PROTECTED] wrote:
Author: hansbak
Date: Thu Jul  3 06:18:53 2008
New Revision: 673673

URL: http://svn.apache.org/viewvc?rev=673673&view=rev
Log:
various mypage enhancements including user configurable main screen

Added:
    ofbiz/trunk/specialpurpose/mypage/script/org/
    ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/
    ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/
    ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml   
(with props)
Modified:
    ofbiz/trunk/framework/common/config/CommonUiLabels.xml
    ofbiz/trunk/specialpurpose/mypage/data/MyPageTypeData.xml
    ofbiz/trunk/specialpurpose/mypage/ofbiz-component.xml
    ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml
    ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
    ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
    ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml

Modified: ofbiz/trunk/framework/common/config/CommonUiLabels.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/config/CommonUiLabels.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/config/CommonUiLabels.xml (original)
+++ ofbiz/trunk/framework/common/config/CommonUiLabels.xml Thu Jul  3 06:18:53 
2008
@@ -4149,6 +4149,9 @@
         <value xml:lang="th">โพสต์วันที่</value>
         <value xml:lang="zh">过账日期</value>
     </property>
+    <property key="CommonPreferences">
+        <value xml:lang="en">Preferences</value>
+    </property>
     <property key="CommonPrepared">
         <value xml:lang="ar">معدة</value>
         <value xml:lang="en">Prepared</value>

Modified: ofbiz/trunk/specialpurpose/mypage/data/MyPageTypeData.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/data/MyPageTypeData.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/data/MyPageTypeData.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/data/MyPageTypeData.xml Thu Jul  3 
06:18:53 2008
@@ -20,5 +20,11 @@
 <entity-engine-xml>
<WorkEffortType description="Company Events" hasTable="N" parentTypeId="EVENT" workEffortTypeId="COMPANY_EVENT"/> + + <UserPrefGroupType userPrefGroupId="MyPage" description="User settings of the MyPage component"/> + <UserPreference userLoginId="_NA_" userPrefGroupId="MyPage" userPrefTypeId="myTasks" userPrefValue="Y"/> + <UserPreference userLoginId="_NA_" userPrefGroupId="MyPage" userPrefTypeId="myTimesheet" userPrefValue="Y"/> + <UserPreference userLoginId="_NA_" userPrefGroupId="MyPage" userPrefTypeId="myCommunications" userPrefValue="Y"/> + <UserPreference userLoginId="_NA_" userPrefGroupId="MyPage" userPrefTypeId="myCompanyComms" userPrefValue="Y"/> </entity-engine-xml>

Modified: ofbiz/trunk/specialpurpose/mypage/ofbiz-component.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/ofbiz-component.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/ofbiz-component.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/ofbiz-component.xml Thu Jul  3 06:18:53 
2008
@@ -23,20 +23,10 @@
         
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/ofbiz-component.xsd";>
     <resource-loader name="main" type="component"/>
     <classpath type="dir" location="config"/>
- <!-- <classpath type="dir" location="script"/>
-    <classpath type="jar" location="build/lib/*"/-->
- <!--entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
-    <entity-resource type="group" reader-name="main" loader="main" 
location="entitydef/entitygroup.xml"/>
-    <entity-resource type="data" reader-name="seed" loader="main" 
location="data/ProjectMgrTypeData.xml"/>
-    <entity-resource type="data" reader-name="seed" loader="main" 
location="data/ProjectMgrSecurityData.xml"/>
-    <entity-resource type="data" reader-name="demo" loader="main" 
location="data/ProjectMgrDemoData.xml"/-->
     <entity-resource type="data" reader-name="seed" loader="main" 
location="data/MyPageTypeData.xml"/>
- <!--service-resource type="model" loader="main" location="servicedef/services.xml"/>
-    <service-resource type="eca" loader="main" 
location="servicedef/secas.xml"/-->
- <webapp name="mypage"
         title="MyPage"
         server="default-server"

Added: ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml?rev=673673&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml (added)
+++ ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml Thu 
Jul  3 06:18:53 2008
@@ -0,0 +1,54 @@
+<?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="updatePreferences"
+               short-description="Update the user preferences">
+        <if-compare operator="equals" value="Y" 
field="parameters.myCompanyComms">
+            <set field="parameters.userPrefMap.myCompanyComms" value="Y" />
+            <else>
+                <set field="parameters.userPrefMap.myCompanyComms" value="N" />
+            </else>
+        </if-compare>
+        <if-compare operator="equals" value="Y" field="parameters.myTimesheet">
+            <set field="parameters.userPrefMap.myTimesheet" value="Y" />
+            <else>
+                <set field="parameters.userPrefMap.myTimesheet" value="N" />
+            </else>
+        </if-compare>
+        <if-compare operator="equals" value="Y" field="parameters.myTasks">
+            <set field="parameters.userPrefMap.myTasks" value="Y" />
+            <else>
+                <set field="parameters.userPrefMap.myTasks" value="N" />
+            </else>
+        </if-compare>
+        <if-compare operator="equals" value="Y" 
field="parameters.myCommunications">
+            <set field="parameters.userPrefMap.myCommunications" value="Y" />
+            <else>
+                <set field="parameters.userPrefMap.myCommunications" value="N" 
/>
+            </else>
+        </if-compare>
+               <set-service-fields service-name="setUserPreferenceGroup"
+                       map-name="parameters" to-map-name="inMap" />
+               <call-service service-name="setUserPreferenceGroup"
+                       in-map-name="inMap" />
+       </simple-method>
+ +</simple-methods>

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

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

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

Modified: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml 
(original)
+++ ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml Thu 
Jul  3 06:18:53 2008
@@ -80,7 +80,22 @@
         <response name="success" type="view" value="main"/>
         <response name="error" type="view" value="main"/>
     </request-map>
+    <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/mypage/Events.xml" 
type="simple"/>
+        <response name="success" type="view" value="main"/>
+        <response name="error" type="view" value="preferences"/>
+    </request-map>
+
+
+
+
<view-map name="main" type="screen" page="component://mypage/widget/CommonScreens.xml#main"/>
+    <view-map name="preferences" type="screen" 
page="component://mypage/widget/CommonScreens.xml#preferences"/>
     <view-map name="newEvent" type="screen" 
page="component://mypage/widget/MyPageScreens.xml#newEvent"/>
 </site-conf>

Modified: ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml Thu Jul  3 
06:18:53 2008
@@ -178,22 +178,83 @@
             </widgets>
         </section>
     </screen>
- - <screen name="main">
+       <screen name="main">
+               <section>
+                       <actions>
+                               <set field="headerItem" value="main" />
+                <!-- refresh every 3 minutes -->
+                               <!--
+                                       set field="layoutSettings.extraHead" 
value="&lt;META
+                                       HTTP-EQUIV=&quot;REFRESH&quot; 
CONTENT=&quot;180&quot;&gt;"/
+                               -->
+                               <service service-name="getUserPreferenceGroup"
+                                       result-map-name="preferences">
+                                       <field-map field-name="userPrefGroupId" 
value="MyPage" />
+                               </service>
+                       </actions>
+                       <widgets>
+                               <decorator-screen name="main-decorator"
+                                       
location="${parameters.mainDecoratorLocation}">
+                                       <decorator-section name="body">
+                                               <section>
+                                                       <condition>
+                                                               <if-compare 
field-name="preferences.userPrefMap.myCommunications"
+                                                                       operator="equals" 
value="Y" />
+                                                       </condition>
+                                                       <widgets>
+                                                               <include-screen 
name="MyMessages"
+                                                                       
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="CalendarUpcoming"
+                                                                       
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="MyTaskList"
+                                                                       
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="CurrentTimesheet"
+                                                                       
location="component://mypage/widget/MyPageScreens.xml" />
+                                                       </widgets>
+                                               </section>
+                                       </decorator-section>
+                               </decorator-screen>
+                       </widgets>
+               </section>
+       </screen>
+    <screen name="preferences">
         <section>
             <actions>
-                <set field="headerItem" value="main"/>
-                <!-- refresh every 3 minutes -->
-                <!--set field="layoutSettings.extraHead" value="&lt;META 
HTTP-EQUIV=&quot;REFRESH&quot; CONTENT=&quot;180&quot;&gt;"/-->
+                <set field="headerItem" value="preferences"/>
+                <service service-name="getUserPreferenceGroup" 
result-map-name="preferences">
+                    <field-map field-name="userPrefGroupId" value="MyPage"/>
+                </service>
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" 
location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
-                        <!--include-screen name="CompanyMessages" 
location="component://mypage/widget/MyPageScreens.xml"/-->
-                        <include-screen name="MyMessages" 
location="component://mypage/widget/MyPageScreens.xml"/>
-                        <include-screen name="CalendarUpcoming" 
location="component://mypage/widget/MyPageScreens.xml"/>
-                        <include-screen name="MyTaskList" 
location="component://mypage/widget/MyPageScreens.xml"/>
-                        <include-screen name="CurrentTimesheet" 
location="component://mypage/widget/MyPageScreens.xml"/>
+                        <screenlet title="${uiLabelMap.CommonPreferences}: pages 
visible on the main screen">
+                            <include-form name="preferences" 
location="component://mypage/widget/MyPageForms.xml"/>
+                        </screenlet>
                     </decorator-section>
                 </decorator-screen>
             </widgets>

Modified: ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml Thu Jul  3 
06:18:53 2008
@@ -72,4 +72,12 @@
         <field name="add"><submit/></field>
     </form>
+ <form name="preferences" type="single" target="updatePreferences" default-map-name="preferences.userPrefMap">
+        <field name="userPrefGroupId"><hidden value="MyPage"/></field>
+        <field name="myCompanyComms"><check/></field>
+        <field name="myTimesheet"><check/></field>
+        <field name="myTasks"><check/></field>
+        <field name="myCommunications"><check/></field>
+        <field name="updateButton"><submit/></field>
+    </form>
 </forms>
\ No newline at end of file

Modified: ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml?rev=673673&r1=673672&r2=673673&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml Thu Jul  3 
06:18:53 2008
@@ -45,6 +45,9 @@
             <condition><if-empty field-name="userLogin"/></condition>
             <link target="${checkLoginUrl}"/>
         </menu-item>
+        <menu-item name="preferences" title="${uiLabelMap.CommonPreferences}" 
align-style="opposed">
+            <link target="preferences"/>
+        </menu-item>
</menu> <menu name="EventMenu">



Reply via email to