svn commit: r1173274 [7/13] - in /ofbiz/branches/jackrabbit20100709: ./ applications/accounting/config/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/invoice/ applications/accounting/script/org/ofbiz/accounting/...

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

svn commit: r1173274 [7/13] - in /ofbiz/branches/jackrabbit20100709: ./ applications/accounting/config/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/invoice/ applications/accounting/script/org/ofbiz/accounting/...

sascharodekamp
Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/catalog/ProductScreens.xml Tue Sep 20 17:46:13 2011
@@ -30,7 +30,9 @@ under the License.
                 <set field="headerItem" value="products"/>
                 <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                 <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
-                <set field="productId" from-field="parameters.productId"/>
+                <set field="productId" from-field="parameters.productId" global="true"/>
+                <entity-one entity-name="Product" value-field="product"/>
+                <set field="product" from-field="product" global="true"/>
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
@@ -126,8 +128,6 @@ under the License.
                 <set field="tabButtonItem" value="EditProduct"/>
                 <set field="labelTitleProperty" value="ProductProduct"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <set field="parameters.bypassIfNoProduct" value="true"/>
             </actions>
             <widgets>
@@ -177,10 +177,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductPrices"/>
                 <set field="labelTitleProperty" value="ProductPrices"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-and entity-name="ProductPrice" list="productPrices">
-                    <field-map field-name="productId"/>
+                    <field-map field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="productStoreGroupId"/>
                     <order-by field-name="productPricePurposeId"/>
                     <order-by field-name="productPriceTypeId"/>
@@ -214,7 +212,6 @@ under the License.
                 <set field="labelTitleProperty" value="ProductAgreements"/>
 
                 <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-condition entity-name="SupplierProduct" list="supplierProductAgreements">
                     <condition-list>
                         <condition-expr field-name="productId" from-field="productId"/>
@@ -262,11 +259,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductCategories"/>
                 <set field="labelTitleProperty" value="ProductCategoryMembers"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <entity-condition entity-name="ProductCategoryMember" list="productCategoryMembers">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="sequenceNum"/>
                     <order-by field-name="productCategoryId"/>
                 </entity-condition>
@@ -407,7 +401,6 @@ under the License.
                 <set field="productAssocTypeId" value="MANUF_COMPONENT"/>
                 <set field="workEffortGoodStdTypeId" value="ROU_PROD_TEMPLATE"/>
 
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-and entity-name="ProductAssoc" list="components">
                     <field-map field-name="productId"/>
                     <field-map field-name="productAssocTypeId"/>
@@ -454,7 +447,6 @@ under the License.
                 <!-- default currency in framework/common/config/general.properties -->
                 <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
 
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-one entity-name="CostComponent" value-field="costComponent" auto-field-map="false">
                     <field-map field-name="costComponentId" from-field="productCostComponentId"/>
                 </entity-one>
@@ -521,7 +513,6 @@ under the License.
                 <set field="labelTitleProperty" value="ProductQuickAddVariants"/>
 
                 <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
 
                 <script location="component://product/webapp/catalog/WEB-INF/actions/product/QuickAddVariants.groovy"/>
             </actions>
@@ -545,9 +536,6 @@ under the License.
                 <set field="tabButtonItem" value="EditProductQuickAdmin"/>
                 <set field="labelTitleProperty" value="ProductQuickAdmin"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <script location="component://product/webapp/catalog/WEB-INF/actions/product/EditProductQuickAdmin.groovy"/>
             </actions>
             <widgets>
@@ -573,11 +561,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductFacilities"/>
                 <set field="labelTitleProperty" value="ProductFacilities"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <entity-condition entity-name="ProductFacility" list="productFacilities">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="facilityId"/>
                 </entity-condition>
                 <entity-condition entity-name="Facility" list="facilities">
@@ -605,11 +590,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductFacilityLocations"/>
                 <set field="labelTitleProperty" value="ProductFacilityLocations"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <entity-condition entity-name="ProductFacilityLocation" list="productFacilityLocations">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="facilityId"/>
                     <order-by field-name="locationSeqId"/>
                 </entity-condition>
@@ -713,10 +695,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductGoodIdentifications"/>
                 <set field="labelTitleProperty" value="ProductGoodIdentification"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-condition entity-name="GoodIdentification" list="goodIdentifications">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="goodIdentificationTypeId"/>
                     <order-by field-name="idValue"/>
                 </entity-condition>
@@ -745,11 +725,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductGlAccounts"/>
                 <set field="labelTitleProperty" value="ProductGlAccounts"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <entity-condition entity-name="ProductGlAccount" list="productGlAccounts">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="glAccountTypeId"/>
                 </entity-condition>
                 <entity-condition entity-name="GlAccountType" list="productGlAccountTypes" use-cache="true">
@@ -795,11 +772,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductPaymentMethodTypes"/>
                 <set field="labelTitleProperty" value="ProductPaymentTypes"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <entity-condition entity-name="ProductPaymentMethodType" list="productPaymentMethodTypes">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="productPricePurposeId"/>
                     <order-by field-name="paymentMethodTypeId"/>
                     <order-by field-name="fromDate"/>
@@ -828,7 +802,6 @@ under the License.
                 <set field="labelTitleProperty" value="ProductFeatures"/>
 
                 <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <script location="component://product/webapp/catalog/WEB-INF/actions/product/EditProductFeatures.groovy"/>
                 <entity-and entity-name="ProductFeatureIactn" list="featureInteractions">
                     <field-map field-name="productId" from-field="parameters.productId"/>
@@ -873,9 +846,6 @@ under the License.
                 <!-- default currency in framework/common/config/general.properties -->
                 <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <set field="orderBy" from-field="parameters.orderBy" default-value="partyId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-one entity-name="SupplierProduct" value-field="supplierProduct" auto-field-map="true"/>
             </actions>
             <widgets>
@@ -907,9 +877,10 @@ under the License.
                 <set field="tabButtonItem" value="EditProductContent"/>
                 <set field="labelTitleProperty" value="ProductContent"/>
 
+                <set field="layoutSettings.javaScripts[]" value="/ecommerce/images/productAdditionalView.js" global="true"/>
+
                 <set field="productId" from-field="parameters.productId"/>
                 <entity-one entity-name="Product" value-field="product"/>
-                <set field="layoutSettings.javaScripts[]" value="/ecommerce/images/productAdditionalView.js" global="true"/>
                 <script location="component://product/webapp/catalog/WEB-INF/actions/product/EditProductContent.groovy"/>
             </actions>
             <widgets>
@@ -976,10 +947,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductAttributes"/>
                 <set field="labelTitleProperty" value="ProductAttributes"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-and entity-name="ProductAttribute" list="productAttributes">
-                    <field-map field-name="productId"/>
+                    <field-map field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="attrType"/>
                     <order-by field-name="attrName"/>
                 </entity-and>
@@ -1005,8 +974,6 @@ under the License.
                 <set field="tabButtonItem" value="EditProductAssoc"/>
                 <set field="labelTitleProperty" value="ProductAssociations"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <script location="component://product/webapp/catalog/WEB-INF/actions/product/EditProductAssoc.groovy"/>
             </actions>
             <widgets>
@@ -1115,7 +1082,6 @@ under the License.
                 <set field="titleProperty" value="PageTitleEditProductMaintenance"/>
                 <set field="labelTitleProperty" value="ProductMaintenance"/>
                 <set field="tabButtonItem" value="EditProductMaints"/>
-                <set field="productId" from-field="parameters.productId"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
@@ -1137,7 +1103,6 @@ under the License.
                 <set field="titleProperty" value="PageTitleEditProductMeters"/>
                 <set field="labelTitleProperty" value="ProductMeters"/>
                 <set field="tabButtonItem" value="EditProductMeters"/>
-                <set field="productId" from-field="parameters.productId"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
@@ -1158,7 +1123,6 @@ under the License.
             <actions>
                 <set field="titleProperty" value="PageTitleEditProductGeos"/>
                 <set field="tabButtonItem" value="EditProductGeos"/>
-                <set field="productId" from-field="parameters.productId"/>
                 <set field="labelTitleProperty" value="ProductGeos"/>
             </actions>
             <widgets>
@@ -1182,7 +1146,6 @@ under the License.
                 <set field="titleProperty" value="PageTitleEditProductSubscriptionResources"/>
                 <set field="tabButtonItem" value="EditProductSubscriptionResources"/>
                 <set field="labelTitleProperty" value="ProductSubscriptionResources"/>
-                <set field="productId" from-field="parameters.productId"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
@@ -1205,7 +1168,6 @@ under the License.
                 <set field="titleProperty" value="PageTitleEditProductWorkEffort"/>
                 <set field="tabButtonItem" value="EditProductWorkEfforts"/>
                 <set field="labelTitleProperty" value="ProductWorkEffort"/>
-                <set field="productId" from-field="parameters.productId"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
@@ -1249,11 +1211,8 @@ under the License.
                 <set field="tabButtonItem" value="EditProductParties"/>
                 <set field="labelTitleProperty" value="PartyParties"/>
 
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
-
                 <entity-condition entity-name="ProductRole" list="productRoles">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                     <order-by field-name="roleTypeId"/>
                     <order-by field-name="partyId"/>
                 </entity-condition>
@@ -1282,9 +1241,8 @@ under the License.
                 <set field="tabButtonItem" value="EditVendorProduct"/>
                 <set field="labelTitleProperty" value="PartyVendor"/>
 
-                <set field="productId" from-field="parameters.productId"/>
                 <entity-condition entity-name="VendorProduct" list="vendorProductList">
-                    <condition-expr field-name="productId" from-field="productId"/>
+                    <condition-expr field-name="productId" from-field="parameters.productId"/>
                 </entity-condition>
             </actions>
             <widgets>
@@ -1333,6 +1291,7 @@ under the License.
         <section>
             <actions>
                 <set field="titleProperty" value="PageTitleViewProductOrders"/>
+                <set field="tabButtonItem" value="viewProductOrder"/>
                 <set field="labelTitleProperty" value="OrderOrders"/>
                 <script location="component://order/webapp/ordermgr/WEB-INF/actions/order/FindOrders.groovy"/>
             </actions>
@@ -1353,10 +1312,8 @@ under the License.
                 <set field="titleProperty" value="PageTitleCommEvents"/>
                 <set field="tabButtonItem" value="EditProductCommunicationEvents"/>
                 <set field="labelTitleProperty" value="PageTitleCommEvents"/>
-                <set field="productId" from-field="parameters.productId"/>
-                <entity-one entity-name="Product" value-field="product"/>
                 <entity-and entity-name="CommunicationEventAndProduct" list="communicationEvents">
-                    <field-map field-name="productId"/>
+                    <field-map field-name="productId" from-field="parameters.productId"/>
                 </entity-and>
             </actions>
             <widgets>

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityForms.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityForms.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityForms.xml Tue Sep 20 17:46:13 2011
@@ -934,7 +934,7 @@ under the License.
     </form>
 
     <form name="EditFacilityGeoPoint" type="single" target="createUpdateFacilityGeoPoint" default-map-name="geoPoint"
-        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
+        default-table-style="basic-table">
         <field name="facilityId"><hidden value="${facilityId}"/></field>
         <field name="geoPointId"><hidden/></field>
         <field name="dataSourceId">

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupForms.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupForms.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupForms.xml Tue Sep 20 17:46:13 2011
@@ -39,7 +39,7 @@ under the License.
         <field name="facilityGroupId" use-when="facilityGroup!=null" tooltip="&amp;nbsp;${uiLabelMap.ProductNotModificationRecrationFacilityGroup}"><display/></field>
         <field name="facilityGroupId" use-when="facilityGroup==null"><hidden/></field>
         <field name="facilityGroupTypeId">
-            <drop-down allow-empty="false">
+            <drop-down allow-empty="true">
                 <entity-options entity-name="FacilityGroupType" key-field-name="facilityGroupTypeId" description="${description}">
                 </entity-options>
             </drop-down>
@@ -139,7 +139,7 @@ under the License.
         <field name="fromDate"><display/></field>
         <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
         <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
-            <hyperlink target="removeFacilityFromGroup" description="${uiLabelMap.CommonDelete}" also-hidden="false">
+            <hyperlink target="removeFacilityFromGroup" description="${uiLabelMap.CommonRemove}" also-hidden="false">
                 <parameter param-name="facilityGroupId"/>
                 <parameter param-name="facilityId"/>
                 <parameter param-name="fromDate"/>
@@ -151,7 +151,7 @@ under the License.
         <auto-fields-service service-name="addFacilityToGroup"/>
         <field name="facilityGroupId"><hidden/></field>
         <field name="facilityId">
-            <drop-down>
+            <drop-down allow-empty="true">
                 <entity-options entity-name="Facility" description="${facilityName} [${facilityId}]">
                     <entity-order-by field-name="facilityName"/>
                 </entity-options>
@@ -174,7 +174,7 @@ under the License.
             <display-entity entity-name="RoleType" key-field-name="roleTypeId" description="${description}"/>
         </field>
         <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
-            <hyperlink target="removePartyFromFacilityGroup" description="${uiLabelMap.CommonDelete}" also-hidden="false">
+            <hyperlink target="removePartyFromFacilityGroup" description="${uiLabelMap.CommonRemove}" also-hidden="false">
                 <parameter param-name="facilityGroupId"/>
                 <parameter param-name="partyId"/>
                 <parameter param-name="roleTypeId"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupScreens.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupScreens.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityGroupScreens.xml Tue Sep 20 17:46:13 2011
@@ -88,12 +88,11 @@ under the License.
             <widgets>
                 <decorator-screen name="CommonFacilityGroupDecorator">
                     <decorator-section name="body">
-                        <screenlet title="${uiLabelMap.PageTitleEditFacilityGroup}">
-                            <container style="button-bar">
-                                <link target="EditFacilityGroup" text="${uiLabelMap.CommonNew}" style="buttontext create"/>
-                            </container>
-                            <include-form name="EditFacilityGroup" location="component://product/widget/facility/FacilityGroupForms.xml"/>
-                        </screenlet>
+                        <container style="page-title"><label text="${uiLabelMap.PageTitleEditFacilityGroup}"/></container>
+                        <container style="button-bar">
+                            <link target="EditFacilityGroup" text="${uiLabelMap.CommonNew}" style="buttontext create"/>
+                        </container>
+                        <include-form name="EditFacilityGroup" location="component://product/widget/facility/FacilityGroupForms.xml"/>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -112,13 +111,13 @@ under the License.
             <widgets>
                 <decorator-screen name="CommonFacilityGroupDecorator">
                     <decorator-section name="body">
-                        <container>
-                            <label style="h1">${uiLabelMap.ProductFacilities} ${uiLabelMap.CommonFor} ${facilityGroup.facilityGroupName} [${facilityGroup.facilityGroupId}]</label>
+                        <container style="page-title">
+                            <label>${uiLabelMap.PageTitleEditFacilityGroupMembers} ${uiLabelMap.CommonFor} ${facilityGroup.facilityGroupName} [${facilityGroup.facilityGroupId}]</label>
+                        </container>
+                        <container style="button-bar">
+                            <link target="EditFacilityGroup" text="${uiLabelMap.ProductNewGroup}" style="buttontext create"/>
                         </container>
                         <screenlet id="AddFacilityGroupMemberPanel" title="${uiLabelMap.ProductAddFacilityGroupMember}" collapsible="true">
-                            <container style="button-bar">
-                                <link target="EditFacilityGroup" text="${uiLabelMap.ProductNewGroup}" style="buttontext create"/>
-                            </container>
                             <include-form name="AddFacilityGroupMember" location="component://product/widget/facility/FacilityGroupForms.xml"/>
                         </screenlet>
                         <include-form name="UpdateFacilityGroupMembers" location="component://product/widget/facility/FacilityGroupForms.xml"/>
@@ -139,11 +138,13 @@ under the License.
             <widgets>
                 <decorator-screen name="CommonFacilityGroupDecorator">
                     <decorator-section name="body">
-                        <label style="h1">${uiLabelMap.PartyRoles} ${uiLabelMap.CommonFor} ${facilityGroup.facilityGroupName} [${facilityGroup.facilityGroupId}]</label>
+                        <container style="page-title">
+                            <label>${uiLabelMap.PageTitleEditFacilityGroupRoles} ${uiLabelMap.CommonFor} ${facilityGroup.facilityGroupName} [${facilityGroup.facilityGroupId}]</label>
+                        </container>
+                        <container style="button-bar">
+                            <link target="EditFacilityGroup" text="${uiLabelMap.ProductNewGroup}" style="buttontext create"/>
+                        </container>
                         <screenlet id="AddFacilityGroupRolePanel" title="${uiLabelMap.ProductAddFacilityGroupPartyRole}" collapsible="true">
-                            <container style="button-bar">
-                                <link target="EditFacilityGroup" text="${uiLabelMap.ProductNewGroup}" style="buttontext create"/>
-                            </container>
                             <include-form name="AddFacilityGroupRole" location="component://product/widget/facility/FacilityGroupForms.xml"/>
                         </screenlet>
                         <include-form name="UpdateFacilityGroupRoles" location="component://product/widget/facility/FacilityGroupForms.xml"/>
@@ -158,7 +159,6 @@ under the License.
                 <set field="titleProperty" value="PageTitleEditFacilityGroupRollup"/>
                 <set field="headerItem" value="facilityGroup"/>
                 <set field="tabButtonItem" value="EditFacilityGroupRollup"/>
-
                 <set field="parameters.facilityGroupId" from-field="parameters.showFacilityGroupId" default-value="${parameters.facilityGroupId}"/>
                 <entity-one entity-name="FacilityGroup" value-field="facilityGroup"/>
                 <get-related relation-name="ParentFacilityGroupRollup" value-field="facilityGroup" list="parentGroupRollups"/>
@@ -168,11 +168,11 @@ under the License.
             <widgets>
                 <decorator-screen name="CommonFacilityGroupDecorator">
                     <decorator-section name="body">
-                        <container><label style="h1">${uiLabelMap.ProductRollups} ${uiLabelMap.CommonFor} ${facilityGroup.facilityGroupName} [${facilityGroup.facilityGroupId}]</label></container>
-                        <screenlet id="AddFacilityGroupRollupFromPanel" title="${uiLabelMap.PageTitleAddFacilityGroupRollup}" collapsible="true">
+                        <container style="page-title"><label>${uiLabelMap.PageTitleEditFacilityGroupRollup} ${uiLabelMap.CommonFor} ${facilityGroup.facilityGroupName} [${facilityGroup.facilityGroupId}]</label></container>
                             <container style="button-bar">
                                 <link target="EditFacilityGroup" text="${uiLabelMap.ProductNewGroup}" style="buttontext create"/>
                             </container>
+                        <screenlet id="AddFacilityGroupRollupFromPanel" title="${uiLabelMap.PageTitleAddFacilityGroupRollup}" collapsible="true">
                             <include-form name="AddFacilityGroupRollupFrom" location="component://product/widget/facility/FacilityGroupForms.xml"/>
                         </screenlet>
                         <include-form name="UpdateFacilityGroupRollupTo" location="component://product/widget/facility/FacilityGroupForms.xml"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityScreens.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityScreens.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/product/widget/facility/FacilityScreens.xml Tue Sep 20 17:46:13 2011
@@ -1514,7 +1514,6 @@ under the License.
         <section>
             <actions>
                 <set field="tabButtonItem" value="EditFacilityGeoPoint"/>
-                <set field="titleProperty" value="PageTitleFacilityGeoLocation"/>
                 <set field="facilityId" from-field="parameters.facilityId"/>
                 <entity-one entity-name="Facility" value-field="facility"/>
                 <get-related-one relation-name="GeoPoint" to-value-field="geoPoint" value-field="facility"/>
@@ -1525,10 +1524,13 @@ under the License.
                 <set field="geoChart.width" value="600px"/>
                 <set field="geoChart.height" value="500px"/>
                 <set field="geoChart.points" from-field="geoPoints"/>          
+                <property-map resource="ProductUiLabels" map-name="uiLabelMap"/>
+                <set field="title" value="${uiLabelMap.PageTitleFacilityGeoLocation} - ${facility.facilityName}"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonFacilityDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
+                        <container style="page-title"><label text="${title}"/></container>
                         <screenlet id="edit-facility-geopoint" title="${uiLabelMap.ProductEditFacilityGeoLocation}" collapsible="true" initially-collapsed="true">
                             <include-form name="EditFacilityGeoPoint" location="component://product/widget/facility/FacilityForms.xml"/>
                         </screenlet>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortEntityLabels.xml Tue Sep 20 17:46:13 2011
@@ -348,6 +348,7 @@
     <property key="WorkEffortType.description.MILESTONE">
         <value xml:lang="en">Milestone</value>
         <value xml:lang="fr">Jalon</value>
+        <value xml:lang="zh">里程碑</value>
     </property>
     <property key="WorkEffortType.description.PERSONAL_TIMEOFF">
         <value xml:lang="en">Personal Time Off</value>
@@ -479,6 +480,7 @@
         <value xml:lang="en">Training</value>
         <value xml:lang="fr">Formation</value>
         <value xml:lang="it">Formazione</value>
+        <value xml:lang="zh">培训</value>
     </property>
     <property key="WorkEffortType.description.WORK_FLOW">
         <value xml:lang="en">Workflow Process</value>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/config/WorkEffortUiLabels.xml Tue Sep 20 17:46:13 2011
@@ -108,6 +108,7 @@
         <value xml:lang="en">Calendar Type</value>
         <value xml:lang="fr">Type de calendrier</value>
         <value xml:lang="it">Tipo ti calendario</value>
+        <value xml:lang="zh">日历类型</value>
         <value xml:lang="zh_TW">行事曆形態</value>
     </property>
     <property key="FormFieldTitle_clientPartyId">
@@ -190,6 +191,7 @@
         <value xml:lang="en">Hide events</value>
         <value xml:lang="fr">Cacher les évènements</value>
         <value xml:lang="it">Nascondi eventi</value>
+        <value xml:lang="zh">隐藏事件</value>
     </property>
     <property key="FormFieldTitle_hours">
         <value xml:lang="de">Stunden</value>
@@ -217,6 +219,7 @@
         <value xml:lang="de">initiale Ansicht</value>
         <value xml:lang="en">Initial View</value>
         <value xml:lang="it">Vista iniziale</value>
+        <value xml:lang="zh">初始化视图</value>
     </property>
     <property key="FormFieldTitle_invoiceInfo">
         <value xml:lang="de">Rechnungs Info</value>
@@ -377,6 +380,7 @@
         <value xml:lang="en">Reminder Offset</value>
         <value xml:lang="fr">Récurrence de décalage</value>
         <value xml:lang="it">Intervallo promemoria</value>
+        <value xml:lang="zh">提醒偏移量</value>
     </property>
     <property key="FormFieldTitle_repeatInterval">
         <value xml:lang="de">Wiederholungsintervall</value>
@@ -1462,6 +1466,7 @@
         <value xml:lang="en">Add/modify a calendar event</value>
         <value xml:lang="fr">Ajouter/modifier un évènement</value>
         <value xml:lang="it">Aggiunta/Modifica evento</value>
+        <value xml:lang="zh">添加/修改一个日历事件</value>
     </property>
     <property key="WorkEffortAddChild">
         <value xml:lang="de">Neuen untergeordneten Arbeitseinsatz hinzufügen</value>
@@ -1858,14 +1863,17 @@
         <value xml:lang="en">Cancel a calendar event</value>
         <value xml:lang="fr">Annuler un évènement</value>
         <value xml:lang="it">Annulla evento calendario</value>
+        <value xml:lang="zh">取消一个日历事件</value>
     </property>
     <property key="WorkEffortCannotDeleteContactInfo">
         <value xml:lang="en">ERROR: Cannot delete specified contact info because it does not correspond to the specified work effort</value>
         <value xml:lang="it">ERRORE: Non è possibile cancellare il contatto perchè non corrisponde all'impegno di lavoro specificato</value>
+        <value xml:lang="zh">错误:不能删除指定的联系信息,因为它没有关联到指定的人工服务</value>
     </property>
     <property key="WorkEffortCannotUpdateContactInfo">
         <value xml:lang="en">ERROR: Cannot update specified contact info because it does not correspond to the specified work effort</value>
         <value xml:lang="it">ERRORE: Non è possibile aggiornare il contatto perchè non corrisponde all'impegno di lavoro specificato</value>
+        <value xml:lang="zh">错误:不能更新指定的联系信息,因为它没有关联到指定的人工服务</value>
     </property>
     <property key="WorkEffortCommEventId">
         <value xml:lang="en">Comm Event Id</value>
@@ -2013,6 +2021,7 @@
     <property key="WorkEffortCreatedSuccessfully">
         <value xml:lang="en">Work Effort successfully created.</value>
         <value xml:lang="it">Impegno di lavoro creato con successo.</value>
+        <value xml:lang="zh">成功创建人工服务。</value>
     </property>
     <property key="WorkEffortCustomerRating">
         <value xml:lang="de">Kundenbewertung</value>
@@ -2024,18 +2033,22 @@
     <property key="WorkEffortCustRequestAlreadyExists">
         <value xml:lang="en">ERROR: CustRequestWorkEffort [${parameters.custRequestId}][${parameters.workEffortId}] already exists</value>
         <value xml:lang="it">ERRORE: Richiesta impegno di lavoro [${parameters.custRequestId}][${parameters.workEffortId}] esiste già</value>
+        <value xml:lang="zh">错误:已存在客户请求人工服务(CustRequestWorkEffort)[${parameters.custRequestId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortCustRequestDoesNotExists">
         <value xml:lang="en">ERROR: CustRequestWorkEffort [${parameters.custRequestId}][${parameters.workEffortId}] does not exist</value>
         <value xml:lang="it">ERRORE: Richiesta impegno di lavoro [${parameters.custRequestId}][${parameters.workEffortId}] non esiste</value>
+        <value xml:lang="zh">错误:不存在客户请求人工服务(CustRequestWorkEffort)[${parameters.custRequestId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortCustRequestItemAlreadyExists">
         <value xml:lang="en">ERROR: CustRequestItemWorkEffort [${parameters.custRequestItemSeqId}][${parameters.workEffortId}] already exists.</value>
         <value xml:lang="it">ERRORE: Riga richiesta impegno di lavoro [${parameters.custRequestItemSeqId}][${parameters.workEffortId}] esiste già</value>
+        <value xml:lang="zh">错误:已存在客户请求明细人工服务(CustRequestItemWorkEffort)[${parameters.custRequestItemSeqId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortCustRequestItemDoesNotExists">
         <value xml:lang="en">ERROR: CustRequestItemWorkEffort [${parameters.custRequestItemSeqId}][${parameters.workEffortId}] does not exists.</value>
         <value xml:lang="it">ERRORE: Riga richiesta impegno di lavoro [${parameters.custRequestItemSeqId}][${parameters.workEffortId}] non esiste</value>
+        <value xml:lang="zh">错误:不存在客户请求明细人工服务(CustRequestItemWorkEffort)[${parameters.custRequestItemSeqId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortDayView">
         <value xml:lang="de">Tagesansicht</value>
@@ -2264,10 +2277,12 @@
     <property key="WorkEffortEventRemindersRetrivingError">
         <value xml:lang="en">Error while retrieving work effort event reminders: ${errorString}</value>
         <value xml:lang="it">Errore durante la ricerca dell'impegno di lavoro promemoria eventi: ${errorString}</value>
+        <value xml:lang="zh">获取人工服务事件提醒时出错:${errorString}</value>
     </property>
     <property key="WorkEffortEventRemindersMigrationError">
         <value xml:lang="en">Error while migrating work effort event reminders: ${errorString}</value>
         <value xml:lang="it">Errore durante la migrazione dell'impegno di lavoro promemoria eventi: ${errorString}</value>
+        <value xml:lang="zh">迁移人工服务事件提醒时出错:${errorString}</value>
     </property>
     <property key="WorkEffortEventStatus">
         <value xml:lang="en">Event Status</value>
@@ -2360,41 +2375,49 @@
         <value xml:lang="de">iCalendar hinzufügen</value>
         <value xml:lang="en">Add iCalendar</value>
         <value xml:lang="it">Aggiungi iCalendar</value>
+        <value xml:lang="zh">添加iCalendar</value>
         <value xml:lang="zh_TW">新增iCal</value>
     </property>
     <property key="WorkEffortICalendarAddFixedAsset">
         <value xml:lang="de">iCalendar Anlage hinzufügen</value>
         <value xml:lang="en">Add iCalendar Fixed Asset</value>
+        <value xml:lang="zh">添加iCalendar固定资产</value>
         <value xml:lang="zh_TW">新增iCal固定資產</value>
     </property>
     <property key="WorkEffortICalendarAddParty">
         <value xml:lang="de">iCalendar Akteur hinzufügen</value>
         <value xml:lang="en">Add iCalendar Party</value>
+        <value xml:lang="zh">添加iCalendar会员</value>
         <value xml:lang="zh_TW">新增iCal成員</value>
     </property>
     <property key="WorkEffortICalendarData">
         <value xml:lang="de">Daten</value>
         <value xml:lang="en">Data</value>
+        <value xml:lang="zh">数据</value>
         <value xml:lang="zh_TW">資料</value>
     </property>
     <property key="WorkEffortICalendarEdit">
         <value xml:lang="de">Editiere iCalendar</value>
         <value xml:lang="en">Edit iCalendar</value>
+        <value xml:lang="zh">编辑iCalendar</value>
         <value xml:lang="zh_TW">編輯iCal</value>
     </property>
     <property key="WorkEffortICalendarEditData">
         <value xml:lang="de">Editiere iCalendar Daten</value>
         <value xml:lang="en">Edit iCalendar Data</value>
+        <value xml:lang="zh">编辑iCalendar数据</value>
         <value xml:lang="zh_TW">編輯iCal資料</value>
     </property>
     <property key="WorkEffortICalendarFind">
         <value xml:lang="de">Finde iCalendars</value>
         <value xml:lang="en">Find iCalendars</value>
+        <value xml:lang="zh">查找iCalendar</value>
         <value xml:lang="zh_TW">查詢iCal</value>
     </property>
     <property key="WorkEffortICalendarHelp">
         <value xml:lang="de">iCalendar Hilfe</value>
         <value xml:lang="en">iCalendar Help</value>
+        <value xml:lang="zh">iCalendar帮助</value>
         <value xml:lang="zh_TW">iCal輔助</value>
     </property>
     <property key="WorkEffortICalendarHelpUrl">
@@ -2403,21 +2426,25 @@
     <property key="WorkEffortICalendarName">
         <value xml:lang="de">Kalendername</value>
         <value xml:lang="en">Calendar Name</value>
+        <value xml:lang="zh">日历名称</value>
         <value xml:lang="zh_TW">行事曆名稱</value>
     </property>
     <property key="WorkEffortICalendarOwner">
         <value xml:lang="de">Kalenderbesitzer</value>
         <value xml:lang="en">Calendar Owner</value>
+        <value xml:lang="zh">日历拥有者</value>
         <value xml:lang="zh_TW">行事曆擁有者</value>
     </property>
     <property key="WorkEffortICalendarUrl">
         <value xml:lang="de">iCalendar Url</value>
         <value xml:lang="en">iCalendar Url</value>
+        <value xml:lang="zh">iCalendar网址</value>
         <value xml:lang="zh_TW">iCal網址</value>
     </property>
     <property key="WorkEffortICalendarVisibility">
         <value xml:lang="de">Kalendersichtbarkeit</value>
         <value xml:lang="en">Calendar Visibility</value>
+        <value xml:lang="zh">日历可见度</value>
         <value xml:lang="zh_TW">行事曆檢視</value>
     </property>
     <property key="WorkEffortIdMissing">
@@ -2635,6 +2662,7 @@
     <property key="WorkEffortManufacturingError">
         <value xml:lang="en">Error retrieving manufacturing data for productId ${productId}: " ${errorString}</value>
         <value xml:lang="it">Errore nella ricerca dei dati per la produzione per il prodotto ${productId}: " ${errorString}</value>
+        <value xml:lang="zh">获取产品标识为 ${productId} 的制造数据时出错: " ${errorString}</value>
     </property>
     <property key="WorkEffortMaxAmount">
         <value xml:lang="de">Maximale Anzahl</value>
@@ -2652,10 +2680,12 @@
     <property key="WorkEffortMaxNumberOfEvents">
         <value xml:lang="en">Max # of Events</value>
         <value xml:lang="it">Max numero di eventi</value>
+        <value xml:lang="zh">最大事件编号</value>
     </property>
     <property key="WorkEffortMaxNumberOfPersons">
         <value xml:lang="en">Max # of Persons</value>
         <value xml:lang="it">Max numero di persone</value>
+        <value xml:lang="zh">最大人数</value>
     </property>
     <property key="WorkEffortMonthView">
         <value xml:lang="de">Monatsansicht</value>
@@ -3011,6 +3041,7 @@
     <property key="WorkEffortNotFound">
         <value xml:lang="en">Error finding desired WorkEffort records: ${errorString}</value>
         <value xml:lang="it">Errore durante la ricerca del record di impegno di lavoro desiredato: ${errorString}</value>
+        <value xml:lang="zh">查找期望的人工服务记录时出错:${errorString}</value>
     </property>
     <property key="WorkEffortNotInRolePermissionError">
         <value xml:lang="en">Security Error: to run ${resourceDescription} you must be in ${roleTypeId} role with WorkEffort: ${workEffortId}</value>
@@ -3023,6 +3054,7 @@
     <property key="WorkEffortNoteCreatedSuccessfully">
         <value xml:lang="en">Note is successfully created.</value>
         <value xml:lang="it">Nota è stato creata con successo.</value>
+        <value xml:lang="zh">成功创建了便笺。</value>
     </property>
     <property key="WorkEffortNoteMissing">
         <value xml:lang="de">Notiz fehlt</value>
@@ -3081,10 +3113,12 @@
     <property key="WorkEffortOrderHeaderAlreadyExists">
         <value xml:lang="en">ERROR: OrderHeaderWorkEffort [${parameters.orderId}][${parameters.workEffortId}] already exists.</value>
         <value xml:lang="it">ERRORE: Testata ordine impegno di lavoro [${parameters.orderId}][${parameters.workEffortId}] esiste già.</value>
+        <value xml:lang="zh">错误:已经存在订单头人工服务(OrderHeaderWorkEffort)[${parameters.orderId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortOrderHeaderDoesNotExists">
         <value xml:lang="en">ERROR: OrderHeaderWorkEffort [${parameters.orderId}][${parameters.workEffortId}] does not exist.</value>
         <value xml:lang="it">ERRORE: Testata ordine impegno di lavoro [${parameters.orderId}][${parameters.workEffortId}] non esiste.</value>
+        <value xml:lang="zh">错误:不存在订单头人工服务(OrderHeaderWorkEffort)[${parameters.orderId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortOrderHeaders">
         <value xml:lang="de">Aufträge</value>
@@ -3122,6 +3156,7 @@
         <value xml:lang="en">Participants</value>
         <value xml:lang="fr">Participants</value>
         <value xml:lang="it">Partecipanti</value>
+        <value xml:lang="zh">参加者</value>
         <value xml:lang="zh_TW">參與者</value>
     </property>
     <property key="WorkEffortParties">
@@ -3160,6 +3195,7 @@
     <property key="WorkEffortPartyPermissionError">
         <value xml:lang="en">You do not have permission to view information for party with ID ${partyId}, you must be logged in as a user associated with this party, or have the WORKEFFORTMGR_VIEW or WORKEFFORTMGR_ADMIN permissions.</value>
         <value xml:lang="it">Tu non il permesso di vedere le informazioni del soggetto ${partyId}, devi essere autenticato con un'utente associato con questo soggetto, o avere i permessi WORKEFFORTMGR_VIEW o WORKEFFORTMGR_ADMIN.</value>
+        <value xml:lang="zh">你没有浏览标识为 ${partyId} 的会员信息的权限,你必须以与这个会员有关联的用户身份登录,或者必须有 WORKEFFORTMGR_VIEW 或 WORKEFFORTMGR_ADMIN 权限。</value>
     </property>
     <property key="WorkEffortPassword">
         <value xml:lang="en">Password</value>
@@ -3471,18 +3507,22 @@
     <property key="WorkEffortRequirementFulfillmentAlreadyExists">
         <value xml:lang="en">ERROR: WorkRequirementFulfillment [${parameters.requirementId}][${parameters.workEffortId}] already exists.</value>
         <value xml:lang="it">ERRORE: Richiesta impegno di lavoro [${parameters.quoteId}][${parameters.workEffortId}] esiste già.</value>
+        <value xml:lang="zh">错误:已存在工作需求执行(WorkRequirementFulfillment)[${parameters.requirementId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortRequirementFulfillmentDoesNotExists">
         <value xml:lang="en">ERROR: WorkRequirementFulfillment [${parameters.requirementId}][${parameters.workEffortId}] does not exists.</value>
         <value xml:lang="it">ERRORE: Richiesta impegno di lavoro [${parameters.quoteId}][${parameters.workEffortId}] non esiste.</value>
+        <value xml:lang="zh">错误:不存在工作需求执行(WorkRequirementFulfillment)[${parameters.requirementId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortShoppingListAlreadyExists">
         <value xml:lang="en">ERROR: ShoppingListWorkEffort [${parameters.shoppingListId}][${parameters.workEffortId}] already exists.</value>
         <value xml:lang="it">ERRORE: Lista d'acquisto impegno di lavoro [${parameters.shoppingListId}][${parameters.workEffortId}] esiste già.</value>
+        <value xml:lang="zh">错误:已存在购物列表人工服务(ShoppingListWorkEffort)[${parameters.shoppingListId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortShoppingListDoesNotExists">
         <value xml:lang="en">ERROR: ShoppingListWorkEffort [${parameters.shoppingListId}][${parameters.workEffortId}] does not exists.</value>
         <value xml:lang="it">ERRORE: Lista d'acquisto impegno di lavoro [${parameters.shoppingListId}][${parameters.workEffortId}] non esiste.</value>
+        <value xml:lang="zh">错误:不存在购物列表人工服务(ShoppingListWorkEffort)[${parameters.shoppingListId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortQuantity">
         <value xml:lang="de">Anzahl</value>
@@ -3500,10 +3540,12 @@
     <property key="WorkEffortQuoteAlreadyExists">
         <value xml:lang="en">ERROR: QuoteWorkEffort [${parameters.quoteId}][${parameters.workEffortId}] already exists.</value>
         <value xml:lang="it">ERRORE: Preventivo impegno di lavoro [${parameters.quoteId}][${parameters.workEffortId}] esiste già.</value>
+        <value xml:lang="zh">错误:已存在询价人工服务(QuoteWorkEffort)[${parameters.quoteId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortQuoteDoesNotExists">
         <value xml:lang="en">ERROR: QuoteWorkEffort [${parameters.quoteId}][${parameters.workEffortId}] does not exists.</value>
         <value xml:lang="it">ERRORE: Preventivo impegno di lavoro [${parameters.quoteId}][${parameters.workEffortId}] non esiste.</value>
+        <value xml:lang="zh">错误:不存在询价人工服务(QuoteWorkEffort)[${parameters.quoteId}][${parameters.workEffortId}]</value>
     </property>
     <property key="WorkEffortQuoteItems">
         <value xml:lang="en">Quote Items</value>
@@ -3921,6 +3963,7 @@
     <property key="WorkEffortStatusChangeNotValid">
         <value xml:lang="en">The status change from ${lookedUpValue.currentStatusId} to ${parameters.currentStatusId} is not a valid change</value>
         <value xml:lang="it">Il cambio di stato da ${lookedUpValue.currentStatusId} a ${parameters.currentStatusId} non è consentito</value>
+        <value xml:lang="zh">从 ${lookedUpValue.currentStatusId} 到 ${parameters.currentStatusId} 不是一个有效的状态改变</value>
     </property>
     <property key="WorkEffortStatusIdMissing">
         <value xml:lang="en">Current Status ID is missing.</value>
@@ -4093,14 +4136,17 @@
     <property key="WorkEffortTimesheetAlreadyExists">
         <value xml:lang="en">Time sheet already exist, not created an other one.</value>
         <value xml:lang="it">Timbratura già esistente, non crearne un'altra.</value>
+        <value xml:lang="zh">已经存在时间表,不能再建一个。</value>
     </property>
     <property key="WorkEffortTimesheetCannotFindInvoice">
         <value xml:lang="en">Could not find invoice with ID [${invoiceId}], not adding Timesheet Entries to it.</value>
         <value xml:lang="it">Non trovata fattura [${invoiceId}], non verrà aggiunta alla riga di timbratura.</value>
+        <value xml:lang="zh">不能找到标识为 [${invoiceId}] 的发票,没有向它添加时间表记录。</value>
     </property>
     <property key="WorkEffortTimesheetCouldNotBeFound">
         <value xml:lang="en">Timesheet could not be found, timesheetId: ${parameters.timesheetId}</value>
         <value xml:lang="it">Timbratura ${parameters.timesheetId} non trovata</value>
+        <value xml:lang="zh">无法找到时间表,时间表标识:${parameters.timesheetId}</value>
     </property>
     <property key="WorkEffortTimesheetCreate">
         <value xml:lang="de">Erstelle Zeiterfassung</value>
@@ -4140,10 +4186,12 @@
     <property key="WorkEffortTimesheetInvoiceShuoldBeInProgressStatus">
         <value xml:lang="en">Invoice ${invoiceId} should have the status 'in progress', the status is however: ${invoice.statusId}</value>
         <value xml:lang="it">La fattura ${invoiceId} dovrebbe avere lo stato 'in corso', lo stato invece è: ${invoice.statusId}</value>
+        <value xml:lang="zh">发票 ${invoiceId} 应该处于'处理中'状态,然后现在状态是:${invoice.statusId}</value>
     </property>
     <property key="WorkEffortTimesheetNotInProcessStatus">
         <value xml:lang="en">Can only update Timesheet, when status is in-process...current status: ${statusItem.description}</value>
         <value xml:lang="it">La timbratura può essere aggiornata solo quanto lo stato è "in-corso"... stato corrente: ${statusItem.description}</value>
+        <value xml:lang="zh">当状态是处理中时,只能更新时间表...当前状态:${statusItem.description}</value>
     </property>
     <property key="WorkEffortTimesheetNotInRolePermissionError">
         <value xml:lang="en">Security Error: to run ${resourceDescription} you must be in ${roleTypeId} role with WorkEffort: ${workEffortId}</value>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/data/WorkEffortTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/data/WorkEffortTypeData.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/data/WorkEffortTypeData.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/data/WorkEffortTypeData.xml Tue Sep 20 17:46:13 2011
@@ -230,8 +230,6 @@ under the License.
     <StatusValidChange condition="" statusId="WERV_PENDING" statusIdTo="WERV_DELETED" transitionName="Review Deleted"/>
     <StatusValidChange condition="" statusId="WERV_APPROVED" statusIdTo="WERV_DELETED" transitionName="Review Deleted"/>
 
-    <WebSite webSiteId="WORKEFFORT" siteName="Work Effort Manager" visualThemeSetId="BACKOFFICE"/>
-
     <!-- iCalendar Data -->
     <RoleType description="Calendar Member" hasTable="N" parentTypeId="CALENDAR_ROLE" roleTypeId="ICAL_MEMBER"/>
     <ContactMechType contactMechTypeId="LDAP_ADDRESS" parentTypeId="ELECTRONIC_ADDRESS" hasTable="N" description="LDAP URL"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml Tue Sep 20 17:46:13 2011
@@ -209,6 +209,71 @@ under the License.
         <remove-value value-field="lookedUpValue"/>
     </simple-method>
 
+    <simple-method method-name="copyWorkEffort" short-description="Copy a WorkEffort">
+        <entity-one entity-name="WorkEffort" value-field="sourceWorkEffort">
+            <field-map field-name="workEffortId" from-field="parameters.sourceWorkEffortId" />
+        </entity-one>
+        <if-empty field="sourceWorkEffort">
+            <set field="errorString" value="sourceWorkEffortId = ${parameters.sourceWorkEffortId}" />
+            <add-error>
+                <fail-property resource="WorkEffortUiLabels" property="WorkEffortNotFound" />
+            </add-error>
+            <check-errors />
+        </if-empty>
+        <set field="targetWorkEffortId" from-field="parameters.targetWorkEffortId" />
+        <if-empty field="targetWorkEffortId">
+            <sequenced-id sequence-name="WorkEffort" field="targetWorkEffortId" />
+        </if-empty>
+        <set-service-fields service-name="createWorkEffort" to-map="createWorkEffortCtx" map="sourceWorkEffort" />
+        <set field="createWorkEffortCtx.workEffortId" from-field="targetWorkEffortId" />
+        <set field="createWorkEffortCtx.userLogin" from-field="parameters.userLogin" />
+        <call-service service-name="createWorkEffort" in-map-name="createWorkEffortCtx" />
+        <check-errors />
+        <entity-one entity-name="WorkEffort" value-field="targetWorkEffort">
+            <field-map field-name="workEffortId" from-field="targetWorkEffortId" />
+        </entity-one>
+        <set field="copyWorkEffortAssocs" from-field="parameters.copyWorkEffortAssocs" default-value="N" />
+        <if-compare field="copyWorkEffortAssocs" operator="equals" value="Y">
+            <set-service-fields service-name="copyWorkEffortAssocs" to-map="copyWorkEffortAssocsCtx" map="parameters" />
+            <set field="copyWorkEffortAssocsCtx.targetWorkEffortId" from-field="targetWorkEffortId" />
+            <call-service service-name="copyWorkEffortAssocs" in-map-name="copyWorkEffortAssocsCtx" />
+            <check-errors />
+        </if-compare>
+        <set field="copyRelatedValues" from-field="parameters.copyRelatedValues" default-value="N" />
+        <if-compare field="copyRelatedValues" operator="equals" value="Y">
+            <set field="excludeExpiredRelations" from-field="parameters.excludeExpiredRelations" default-value="N" />
+            <set field="modelRelationList" from-field="groovy:delegator.getModelEntity('WorkEffort').getRelationsManyList();" />
+            <iterate entry="modelRelation" list="modelRelationList">
+                <set field="relatedEntityName" from-field="groovy:modelRelation.getRelEntityName();" />
+                <if-compare field="relatedEntityName" operator="not-equals" value="WorkEffortAssoc">
+                    <set field="relationName" from-field="groovy:modelRelation.getCombinedName();" />
+                    <set field="keyMap" from-field="groovy:modelRelation.findKeyMap('workEffortId');" set-if-null="true" />
+                    <if-not-empty field="keyMap">
+                        <set field="relatedIdFieldName" from-field="groovy:keyMap.getRelFieldName();" />
+                        <get-related relation-name="${relationName}" list="relationValues" value-field="sourceWorkEffort" />
+                        <if-compare field="excludeExpiredRelations" operator="equals" value="Y">
+                            <set field="fromDateModelField" from-field="groovy:delegator.getModelEntity(relatedEntityName).getField('fromDate');" set-if-null="true" />
+                            <if-not-empty field="fromDateModelField">
+                                <filter-list-by-date list="relationValues" />
+                            </if-not-empty>
+                        </if-compare>
+                        <iterate entry="relatedValue" list="relationValues">
+                            <clone-value value-field="relatedValue" new-value-field="newRelatedValue" />
+                            <set field="newRelatedValue[relatedIdFieldName]" from-field="targetWorkEffortId" />
+                            <make-value value-field="newRelatedPks" entity-name="${relatedEntityName}" />
+                            <set-pk-fields value-field="newRelatedPks" map="newRelatedValue" />
+                            <find-by-primary-key entity-name="${relatedEntityName}" map="newRelatedPks" value-field="duplicateCheck" />
+                            <if-empty field="duplicateCheck">
+                                <create-value value-field="newRelatedValue" />
+                            </if-empty>
+                        </iterate>
+                    </if-not-empty>
+                </if-compare>
+            </iterate>
+        </if-compare>
+        <field-to-result field="targetWorkEffortId" result-name="workEffortId" />
+    </simple-method>
+
     <!-- communication event workeffort -->
     <simple-method method-name="makeCommunicationEventWorkEffort" short-description="Make a Communication Event WorkEffort">
         <make-value entity-name="CommunicationEventWorkEff" value-field="lookupMap"/>
@@ -676,6 +741,35 @@ under the License.
         <remove-value value-field="lookedUpValue"/>
     </simple-method>
 
+    <simple-method method-name="copyWorkEffortAssocs" short-description="Copy WorkEffort associations">
+        <set field="deepCopy" from-field="parameters.deepCopy" default-value="N" />
+        <set field="excludeExpiredAssocs" from-field="parameters.excludeExpiredAssocs" default-value="N" />
+        <entity-and entity-name="WorkEffortAssoc" list="workEffortAssocs">
+            <field-map field-name="workEffortIdFrom" from-field="parameters.sourceWorkEffortId" />
+        </entity-and>
+        <if-compare field="excludeExpiredAssocs" operator="equals" value="Y">
+            <filter-list-by-date list="workEffortAssocs" />
+        </if-compare>
+        <iterate entry="workEffortAssoc" list="workEffortAssocs">
+            <set field="workEffortIdTo" from-field="workEffortAssoc.workEffortIdTo" />
+            <if-compare field="deepCopy" operator="equals" value="Y">
+                <clear-field field="copyWorkEffortCtx" />
+                <set-service-fields service-name="copyWorkEffort" to-map="copyWorkEffortCtx" map="parameters" />
+                <clear-field field="copyWorkEffortCtx.targetWorkEffortId"/>
+                <set field="copyWorkEffortCtx.sourceWorkEffortId" from-field="workEffortIdTo" />
+                <set field="copyWorkEffortCtx.copyWorkEffortAssocs" value="Y" />
+                <call-service service-name="copyWorkEffort" in-map-name="copyWorkEffortCtx">
+                    <result-to-field result-name="workEffortId" field="workEffortIdTo" />
+                </call-service>
+                <check-errors />
+            </if-compare>
+            <clone-value value-field="workEffortAssoc" new-value-field="newWorkEffortAssoc" />
+            <set field="newWorkEffortAssoc.workEffortIdFrom" from-field="parameters.targetWorkEffortId" />
+            <set field="newWorkEffortAssoc.workEffortIdTo" from-field="workEffortIdTo" />
+            <create-value value-field="newWorkEffortAssoc" />
+        </iterate>
+    </simple-method>
+
     <simple-method method-name="createWorkEffortGoodStandard" short-description="Create a link between a WorkEffort and a Product">
         <entity-one entity-name="WorkEffortGoodStandard" value-field="lookedUpValue"/>
         <if-not-empty field="lookedUpValue">
@@ -1168,88 +1262,103 @@ under the License.
         <check-errors/>
     </simple-method>
 
-    <simple-method method-name="duplicateWorkEffort" short-description="Duplicate a WorkEffort" login-required="false">
-        <check-permission permission="WORKEFFORTMGR" action="_CREATE">
-            <fail-property resource="WorkEffortUiLabels" property="WorkEffortCreatePermissionError"/>
-        </check-permission>
-        <check-errors />
-        <check-permission permission="WORKEFFORTMGR" action="_DELETE">
-            <fail-property resource="WorkEffortUiLabels" property="WorkEffortDeletePermissionError"/>
-        </check-permission>
-        <check-errors />
-        <!-- look up the old workEffort and clone it -->
+    <simple-method method-name="duplicateWorkEffort" short-description="Duplicate a WorkEffort">
+        <set field="removeWorkEffortAssocs" from-field="parameters.removeWorkEffortAssocs" default-value="N" />
+        <set field="removeWorkEffortContents" from-field="parameters.removeWorkEffortContents" default-value="N" />
+        <set field="removeWorkEffortNotes" from-field="parameters.removeWorkEffortNotes" default-value="N" />
+        <set field="removeWorkEffortAssignmentRates" from-field="parameters.removeWorkEffortAssignmentRates" default-value="N" />
+        <if>
+            <condition>
+                <or>
+                    <if-compare field="removeWorkEffortAssocs" operator="equals" value="Y" />
+                    <if-compare field="removeWorkEffortContents" operator="equals" value="Y" />
+                    <if-compare field="removeWorkEffortNotes" operator="equals" value="Y" />
+                    <if-compare field="removeWorkEffortAssignmentRates" operator="equals" value="Y" />
+                </or>
+            </condition>
+            <then>
+                <check-permission permission="WORKEFFORTMGR" action="_DELETE">
+                    <fail-property resource="WorkEffortUiLabels" property="WorkEffortDeletePermissionError" />
+                </check-permission>
+                <check-errors />
+            </then>
+        </if>
+        <set field="workEffortId" from-field="parameters.workEffortId" />
+        <if-empty field="workEffortId">
+            <sequenced-id sequence-name="WorkEffort" field="workEffortId" />
+        </if-empty>
         <entity-one entity-name="WorkEffort" value-field="oldWorkEffort">
-            <field-map field-name="workEffortId" from-field="parameters.oldWorkEffortId"/>
+            <field-map field-name="workEffortId" from-field="parameters.oldWorkEffortId" />
         </entity-one>
-        <clone-value value-field="oldWorkEffort" new-value-field="newWorkEffort"/>
-
-        <!-- set the workEffortId, and write it to the datasource -->
-        <set from-field="parameters.workEffortId" field="newWorkEffort.workEffortId"/>
-        <create-value value-field="newWorkEffort"/>
-
-        <!-- set up entity filter for workEffortAssoc-->
-        <set field="workEffortAssocFindContext.workEffortIdFrom" from-field="parameters.oldWorkEffortId"/>
-        <set field="reverseWorkEffortFindContext.workEffortIdTo" from-field="parameters.oldWorkEffortId"/>
-        <if-not-empty field="parameters.duplicateWorkEffortAssocs">
-            <find-by-and entity-name="WorkEffortAssoc" map="workEffortAssocFindContext" list="foundValues"/>
+        <set-service-fields service-name="createWorkEffort" to-map="createWorkEffortCtx" map="oldWorkEffort"/>
+        <set field="createWorkEffortCtx.workEffortId" from-field="workEffortId"/>
+        <set field="createWorkEffortCtx.userLogin" from-field="parameters.userLogin"/>
+        <call-service service-name="createWorkEffort" in-map-name="createWorkEffortCtx"/>
+        <check-errors />
+        <entity-one entity-name="WorkEffort" value-field="newWorkEffort" />
+        <set field="workEffortAssocFindContext.workEffortIdFrom" from-field="parameters.oldWorkEffortId" />
+        <set field="reverseWorkEffortFindContext.workEffortIdTo" from-field="parameters.oldWorkEffortId" />
+        <set field="duplicateWorkEffortAssocs" from-field="parameters.duplicateWorkEffortAssocs" default-value="N" />
+        <if-compare field="duplicateWorkEffortAssocs" operator="equals" value="Y">
+            <find-by-and entity-name="WorkEffortAssoc" map="workEffortAssocFindContext" list="foundValues" />
             <iterate entry="foundValue" list="foundValues">
-                <clone-value value-field="foundValue" new-value-field="newTempValue"/>
-                <set from-field="parameters.workEffortId" field="newTempValue.workEffortIdFrom"/>
-                <create-value value-field="newTempValue"/>
+                <clone-value value-field="foundValue" new-value-field="newTempValue" />
+                <set from-field="workEffortId" field="newTempValue.workEffortIdFrom" />
+                <create-value value-field="newTempValue" />
             </iterate>
             <entity-and entity-name="WorkEffortAssoc" list="foundValues">
-                <field-map field-name="workEffortIdTo" from-field="parameters.oldWorkEffortId"/>
+                <field-map field-name="workEffortIdTo" from-field="parameters.oldWorkEffortId" />
             </entity-and>
             <iterate entry="foundValue" list="foundValues">
-                <clone-value value-field="foundValue" new-value-field="newTempValue"/>
-                <set from-field="parameters.workEffortId" field="newTempValue.workEffortIdTo"/>
-                <create-value value-field="newTempValue"/>
+                <clone-value value-field="foundValue" new-value-field="newTempValue" />
+                <set from-field="workEffortId" field="newTempValue.workEffortIdTo" />
+                <create-value value-field="newTempValue" />
             </iterate>
-        </if-not-empty>
-
-
-        <!-- set up entity filter -->
-        <set field="workEffortFindContext.workEffortId" from-field="parameters.oldWorkEffortId"/>
-        <if-not-empty field="parameters.duplicateWorkEffortNotes">
-            <find-by-and entity-name="WorkEffortNote" map="workEffortFindContext" list="foundValues"/>
+        </if-compare>
+        <set field="workEffortFindContext.workEffortId" from-field="parameters.oldWorkEffortId" />
+        <set field="duplicateWorkEffortNotes" from-field="parameters.duplicateWorkEffortNotes" default-value="N" />
+        <if-compare field="duplicateWorkEffortNotes" operator="equals" value="Y">
+            <find-by-and entity-name="WorkEffortNote" map="workEffortFindContext" list="foundValues" />
             <iterate entry="foundValue" list="foundValues">
-                <clone-value value-field="foundValue" new-value-field="newTempValue"/>
-                <set from-field="parameters.workEffortId" field="newTempValue.workEffortId"/>
-                <create-value value-field="newTempValue"/>
+                <clone-value value-field="foundValue" new-value-field="newTempValue" />
+                <set from-field="workEffortId" field="newTempValue.workEffortId" />
+                <create-value value-field="newTempValue" />
             </iterate>
-        </if-not-empty>
-        <if-not-empty field="parameters.duplicateWorkEffortContents">
-            <find-by-and entity-name="WorkEffortContent" map="workEffortFindContext" list="foundValues"/>
+        </if-compare>
+        <set field="duplicateWorkEffortContents" from-field="parameters.duplicateWorkEffortContents" default-value="N" />
+        <if-compare field="duplicateWorkEffortContents" operator="equals" value="Y">
+            <find-by-and entity-name="WorkEffortContent" map="workEffortFindContext" list="foundValues" />
             <iterate entry="foundValue" list="foundValues">
-                <clone-value value-field="foundValue" new-value-field="newTempValue"/>
-                <set from-field="parameters.workEffortId" field="newTempValue.workEffortId"/>
-                <create-value value-field="newTempValue"/>
+                <clone-value value-field="foundValue" new-value-field="newTempValue" />
+                <set from-field="workEffortId" field="newTempValue.workEffortId" />
+                <create-value value-field="newTempValue" />
             </iterate>
-        </if-not-empty>
-        <if-not-empty field="parameters.duplicateWorkEffortAssignmentRates">
-            <find-by-and entity-name="RateAmount" map="workEffortFindContext" list="foundValuesAll"/>
-            <filter-list-by-date list="foundValuesAll" to-list="foundValues"/>
+        </if-compare>
+        <set field="duplicateWorkEffortAssignmentRates" from-field="parameters.duplicateWorkEffortAssignmentRates" default-value="N" />
+        <if-compare field="duplicateWorkEffortAssignmentRates" operator="equals" value="Y">
+            <find-by-and entity-name="RateAmount" map="workEffortFindContext" list="foundValuesAll" />
+            <filter-list-by-date list="foundValuesAll" to-list="foundValues" />
             <iterate entry="foundValue" list="foundValues">
-                <clone-value value-field="foundValue" new-value-field="newTempValue"/>
-                <set from-field="parameters.workEffortId" field="newTempValue.workEffortId"/>
-                <create-value value-field="newTempValue"/>
+                <clone-value value-field="foundValue" new-value-field="newTempValue" />
+                <set from-field="workEffortId" field="newTempValue.workEffortId" />
+                <create-value value-field="newTempValue" />
             </iterate>
-        </if-not-empty>
-
-        <if-not-empty field="parameters.removeWorkEffortAssocs">
-            <remove-by-and entity-name="WorkEffortAssoc" map="workEffortAssocFindContext"/>
+        </if-compare>
+        <if-compare field="removeWorkEffortAssocs" operator="equals" value="Y">
+            <remove-by-and entity-name="WorkEffortAssoc" map="workEffortAssocFindContext" />
             <!-- small difference here, also do the reverse assocs... -->
-            <remove-by-and entity-name="WorkEffortAssoc" map="reverseWorkEffortFindContext"/>
-        </if-not-empty>
-        <if-not-empty field="parameters.removeWorkEffortContents">
-            <remove-by-and entity-name="WorkEffortContent" map="workEffortFindContext"/>
-        </if-not-empty>
-        <if-not-empty field="parameters.removeWorkEffortNotes">
-            <remove-by-and entity-name="WorkEffortNote" map="workEffortFindContext"/>
-        </if-not-empty>
-        <if-not-empty field="parameters.removeWorkEffortAssignmentRates">
-            <remove-by-and entity-name="RateAmount" map="workEffortFindContext"/>
-        </if-not-empty>
+            <remove-by-and entity-name="WorkEffortAssoc" map="reverseWorkEffortFindContext" />
+        </if-compare>
+        <if-compare field="removeWorkEffortContents" operator="equals" value="Y">
+            <remove-by-and entity-name="WorkEffortContent" map="workEffortFindContext" />
+        </if-compare>
+        <if-compare field="removeWorkEffortNotes" operator="equals" value="Y">
+            <remove-by-and entity-name="WorkEffortNote" map="workEffortFindContext" />
+        </if-compare>
+        <if-compare field="removeWorkEffortAssignmentRates" operator="equals" value="Y">
+            <remove-by-and entity-name="RateAmount" map="workEffortFindContext" />
+        </if-compare>
+        <field-to-result field="workEffortId"/>
     </simple-method>
 
                   <!-- WorkEffortSkillStandard Services-->

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/servicedef/services.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/servicedef/services.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/servicedef/services.xml Tue Sep 20 17:46:13 2011
@@ -86,11 +86,39 @@ under the License.
         <auto-attributes mode="IN" include="pk" optional="false"/>
     </service>
 
+    <service name="copyWorkEffort" engine="simple" auth="true" transaction-timeout="300"
+            location="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="copyWorkEffort">
+        <description>Copies an existing WorkEffort to a new WorkEffort.</description>
+        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
+        <attribute name="sourceWorkEffortId" mode="IN" type="String" optional="false">
+            <description>The ID of the WorkEffort to copy from.</description>
+        </attribute>
+        <attribute name="targetWorkEffortId" mode="IN" type="String" optional="true">
+            <description>The ID of the WorkEffort copy. If empty a new WorkEffort ID will be created.</description>
+        </attribute>
+        <attribute name="copyWorkEffortAssocs" mode="IN" type="String" optional="true">
+            <description>Copy WorkEffort associations (Y/N). Only child WorkEffort associations will be copied.</description>
+        </attribute>
+        <attribute name="deepCopy" mode="IN" type="String" optional="true">
+            <description>Copy associated WorkEfforts (Y/N). Used only when copyWorkEffortAssocs = Y.</description>
+        </attribute>
+        <attribute name="excludeExpiredAssocs" mode="IN" type="String" optional="true">
+            <description>Exclude expired associated WorkEfforts from copying (Y/N). Used only when copyWorkEffortAssocs = Y.</description>
+        </attribute>
+        <attribute name="copyRelatedValues" mode="IN" type="String" optional="true">
+            <description>Copy WorkEffort related values (Y/N).</description>
+        </attribute>
+        <attribute name="excludeExpiredRelations" mode="IN" type="String" optional="true">
+            <description>Exclude expired WorkEffort related values from copying (Y/N). Used only when copyRelatedValues = Y.</description>
+        </attribute>
+        <attribute name="workEffortId" mode="OUT" type="String" optional="false" />
+    </service>
+
     <service name="duplicateWorkEffort" engine="simple"
         location="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="duplicateWorkEffort" auth="true">
-        <description>Duplicate a Work Effort using a new workEffortId</description>
+        <description>Duplicate a Work Effort. If workEffortId is empty a new workEffortId will be generated.</description>
         <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
-        <attribute name="workEffortId" type="String" mode="IN" optional="false"/>
+        <attribute name="workEffortId" type="String" mode="IN" optional="true"/>
         <attribute name="oldWorkEffortId" type="String" mode="IN" optional="false"/>
         <attribute name="duplicateWorkEffortAssocs" type="String" mode="IN" optional="true"/>
         <attribute name="duplicateWorkEffortContents" type="String" mode="IN" optional="true"/>
@@ -100,6 +128,7 @@ under the License.
         <attribute name="removeWorkEffortContents" type="String" mode="IN" optional="true"/>
         <attribute name="removeWorkEffortNotes" type="String" mode="IN" optional="true"/>
         <attribute name="removeWorkEffortAssignmentRates" type="String" mode="IN" optional="true"/>
+        <attribute name="workEffortId" type="String" mode="OUT" optional="false"/>
     </service>
 
     <!-- Communication Event WorkEffort -->
@@ -300,6 +329,31 @@ under the License.
         <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
         <auto-attributes include="pk" mode="IN" optional="false"/>
     </service>
+
+    <service name="copyWorkEffortAssocs" engine="simple" auth="true" transaction-timeout="300"
+            location="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="copyWorkEffortAssocs">
+        <description>Copies WorkEffortAssocs from one WorkEffort to another WorkEffort. Only child WorkEffort associations will be copied.</description>
+        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
+        <attribute name="sourceWorkEffortId" mode="IN" type="String" optional="false">
+            <description>The ID of the WorkEffort to copy the associations from.</description>
+        </attribute>
+        <attribute name="targetWorkEffortId" mode="IN" type="String" optional="true">
+            <description>The ID of the WorkEffort to copy the associations to.</description>
+        </attribute>
+        <attribute name="deepCopy" mode="IN" type="String" optional="true">
+            <description>Copy associated WorkEfforts (Y/N).</description>
+        </attribute>
+        <attribute name="excludeExpiredAssocs" mode="IN" type="String" optional="true">
+            <description>Exclude expired WorkEffort associations from copying (Y/N).</description>
+        </attribute>
+        <attribute name="copyRelatedValues" mode="IN" type="String" optional="true">
+            <description>Copy WorkEffort related values (Y/N). Used only when deepCopy = Y.</description>
+        </attribute>
+        <attribute name="excludeExpiredRelations" mode="IN" type="String" optional="true">
+            <description>Exclude expired WorkEffort related values from copying (Y/N). Used only when deepCopy = Y.</description>
+        </attribute>
+    </service>
+
     <service name="createWorkEffortAndAssoc" engine="simple" location="component://workeffort/script/org/ofbiz/workeffort/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortAndAssoc" auth="true">
         <description>Creates a WorkEffort entity and WorkEffortAssoc</description>
         <auto-attributes include="pk" mode="INOUT" optional="true" entity-name="WorkEffort"/>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/ical/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/ical/WEB-INF/web.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/ical/WEB-INF/web.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/ical/WEB-INF/web.xml Tue Sep 20 17:46:13 2011
@@ -25,11 +25,6 @@ under the License.
   <description>iCalendar Server Module of the Open For Business Project</description>
 
   <context-param>
-      <param-name>webSiteId</param-name>
-      <param-value>ICAL</param-value>
-      <description>A unique ID used to look up the WebSite entity</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>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/web.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/web.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/webapp/workeffort/WEB-INF/web.xml Tue Sep 20 17:46:13 2011
@@ -25,11 +25,6 @@ under the License.
   <description>Work Manager Module of the Open For Business Project</description>
 
   <context-param>
-    <param-name>webSiteId</param-name>
-    <param-value>WORKEFFORT</param-value>
-    <description>A unique ID used to look up the WebSite entity</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>

Modified: ofbiz/branches/jackrabbit20100709/applications/workeffort/widget/WorkEffortForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/applications/workeffort/widget/WorkEffortForms.xml?rev=1173274&r1=1173273&r2=1173274&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/applications/workeffort/widget/WorkEffortForms.xml (original)
+++ ofbiz/branches/jackrabbit20100709/applications/workeffort/widget/WorkEffortForms.xml Tue Sep 20 17:46:13 2011
@@ -925,14 +925,14 @@ under the License.
         </field>
         <field name="noteInfo" title="${uiLabelMap.CommonNote}"><display/></field>
         <field name="noteParty" title="${uiLabelMap.CommonBy}"><display description="${bsh:org.ofbiz.party.party.PartyHelper.getPartyName(delegator, noteParty, true)} at ${noteDateTime}"/></field>
-        <field name="internalNote" title="${uiLabelMap.WorkEffortPrivatePublic}" widget-style="buttontext" use-when="internalNote.equals(&quot;N&quot;)">
+        <field name="internalNote" title="${uiLabelMap.WorkEffortPrivatePublic}" widget-style="buttontext" use-when="&quot;N&quot;.equals(internalNote)">
             <hyperlink target="updateWorkEffortNote" description="${uiLabelMap.OrderNotesPrivate}">
                 <parameter param-name="workEffortId"/>
                 <parameter param-name="noteId"/>
                 <parameter param-name="internalNote" value="Y"/>
             </hyperlink>
         </field>
-        <field name="internalNote" title="${uiLabelMap.WorkEffortPrivatePublic}" widget-style="buttontext" use-when="internalNote.equals(&quot;Y&quot;)">
+        <field name="internalNote" title="${uiLabelMap.WorkEffortPrivatePublic}" widget-style="buttontext" use-when="&quot;Y&quot;.equals(internalNote)">
             <hyperlink target="updateWorkEffortNote" description="${uiLabelMap.OrderNotesPublic}">
                 <parameter param-name="workEffortId"/>
                 <parameter param-name="noteId"/>