svn commit: r1224689 - in /ofbiz/trunk/applications/product: ./ config/ entitydef/ script/org/ofbiz/product/test/ src/org/ofbiz/product/product/ testdef/ webapp/catalog/WEB-INF/ widget/catalog/

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

svn commit: r1224689 - in /ofbiz/trunk/applications/product: ./ config/ entitydef/ script/org/ofbiz/product/test/ src/org/ofbiz/product/product/ testdef/ webapp/catalog/WEB-INF/ widget/catalog/

hansbak-2
Author: hansbak
Date: Mon Dec 26 07:42:42 2011
New Revision: 1224689

URL: http://svn.apache.org/viewvc?rev=1224689&view=rev
Log:
- Fix 2 log warnings when checking the entity definitions.
- Using iterate for each keyword type forms.
- Create a screen for display when the tags is created.
- Create junit test for product tag.

Added:
    ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml   (with props)
    ofbiz/trunk/applications/product/testdef/ProductTagTest.xml   (with props)
Modified:
    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
    ofbiz/trunk/applications/product/ofbiz-component.xml
    ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductEvents.java
    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
    ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml
    ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml
    ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml

Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/config/ProductUiLabels.xml (original)
+++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Mon Dec 26 07:42:42 2011
@@ -23724,6 +23724,9 @@
     <property key="ProductTag">
         <value xml:lang="en">Tag</value>
     </property>
+    <property key="ProductTags">
+        <value xml:lang="en">Tags</value>
+    </property>
     <property key="ProductTargetProductCategory">
         <value xml:lang="de">Ziel Produktkategorie</value>
         <value xml:lang="en">Target Product Category</value>

Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Mon Dec 26 07:42:42 2011
@@ -3089,7 +3089,7 @@ under the License.
       <prim-key field="productId"/>
       <prim-key field="keyword"/>
       <prim-key field="keywordTypeId"/>
-      <relation type="one" fk-name="PROD_KWD_PROD" rel-entity-name="Product">
+      <relation type="one" fk-name="PROD_KWD_PROD_NEW" rel-entity-name="Product">
         <key-map field-name="productId"/>
       </relation>
       <relation type="one" fk-name="PROD_KWD_TYPE" rel-entity-name="Enumeration">
@@ -3098,7 +3098,7 @@ under the License.
       <relation type="one" fk-name="PROD_KWD_STTS" rel-entity-name="StatusItem">
         <key-map field-name="statusId"/>
       </relation>
-      <index name="PROD_KWD_KWD">
+      <index name="PROD_KWD_KWD_NEW">
         <index-field name="keyword"/>
       </index>
     </entity>

Modified: ofbiz/trunk/applications/product/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/ofbiz-component.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/product/ofbiz-component.xml Mon Dec 26 07:42:42 2011
@@ -72,6 +72,7 @@ under the License.
     <test-suite loader="main" location="testdef/FacilityTest.xml"/>
     <test-suite loader="main" location="testdef/CostTests.xml"/>
     <test-suite loader="main" location="testdef/GroupOrderTest.xml"/>
+    <test-suite loader="main" location="testdef/ProductTagTest.xml"/>
 
     <webapp name="catalog" title="Catalog" server="default-server" location="webapp/catalog"
         base-permission="OFBTOOLS,CATALOG" mount-point="/catalog"/>

Added: ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml?rev=1224689&view=auto
==============================================================================
--- ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml (added)
+++ ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml Mon Dec 26 07:42:42 2011
@@ -0,0 +1,165 @@
+<?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="testProductTag" short-description="Test Product Tag" login-required="false">
+        <!-- Test Product Tag
+             Step 1) Create a product tag.
+             Step 2) Check a product tag is created.
+             Step 3) Approve a product tag.
+             Step 4) Check a product tag is approved.
+             Step 5) Create multiple product tag.
+             Step 6) Approve all product tags.
+             Step 7) Check all product tags is approved.
+             Step 8) Check all product tags is created.
+        -->
+        <!-- Step 1 -->
+        <entity-one value-field="systemUserLogin" entity-name="UserLogin">
+            <field-map field-name="userLoginId" value="system"/>
+        </entity-one>
+        <set field="request" from-field="parameters.request"/>
+        <call-bsh><![CDATA[
+            request.setParameter("productId", "GZ-1000");
+            request.setParameter("productTags", "test");
+        ]]></call-bsh>
+        <call-class-method method-name="addProductTags" class-name="org.ofbiz.product.product.ProductEvents" ret-field="result">
+            <field field="request" type="javax.servlet.http.HttpServletRequest"/>
+            <field field="response" type="javax.servlet.http.HttpServletResponse"/>
+        </call-class-method>
+        <!-- Step 2 -->
+        <entity-one entity-name="ProductKeyword" value-field="productKeyword">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="test"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <and>
+                <not><if-empty field="productKeyword"/></not>
+                <if-compare field="productKeyword.statusId" operator="equals" value="KW_PENDING"/>
+            </and>
+        </assert>
+        <!-- Step 3 -->
+        <set field="updateProductKeywordMap.userLogin" from-field="systemUserLogin"/>
+        <set field="updateProductKeywordMap.productId" value="GZ-1000"/>
+        <set field="updateProductKeywordMap.keyword" value="test"/>
+        <set field="updateProductKeywordMap.keywordTypeId" value="KWT_TAG"/>
+        <set field="updateProductKeywordMap.statusId" value="KW_APPROVED"/>
+        <call-service service-name="updateProductKeyword" in-map-name="updateProductKeywordMap"/>
+        <!-- Step 4 -->
+        <entity-one entity-name="ProductKeyword" value-field="checkProductKeywordApprove">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="test"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <if-compare field="checkProductKeywordApprove.statusId" operator="equals" value="KW_APPROVED"/>
+        </assert>
+        <!-- Step 5 -->
+        <call-bsh><![CDATA[
+            request.setParameter("productId", "GZ-1000");
+            request.setParameter("productTags", "'rock and roll' t-shirt red");
+        ]]></call-bsh>
+        <call-class-method method-name="addProductTags" class-name="org.ofbiz.product.product.ProductEvents" ret-field="result">
+            <field field="request" type="javax.servlet.http.HttpServletRequest"/>
+            <field field="response" type="javax.servlet.http.HttpServletResponse"/>
+        </call-class-method>
+        <!-- Step 6 -->
+        <entity-one entity-name="ProductKeyword" value-field="checkProductKeyword1">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="rock and roll"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <and>
+                <not><if-empty field="checkProductKeyword1"/></not>
+                <if-compare field="checkProductKeyword1.statusId" operator="equals" value="KW_PENDING"/>
+            </and>
+        </assert>
+        
+        <entity-one entity-name="ProductKeyword" value-field="checkProductKeyword2">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="t-shirt"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <and>
+                <not><if-empty field="checkProductKeyword2"/></not>
+                <if-compare field="checkProductKeyword2.statusId" operator="equals" value="KW_PENDING"/>
+            </and>
+        </assert>
+        
+        <entity-one entity-name="ProductKeyword" value-field="checkProductKeyword3">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="red"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <and>
+                <not><if-empty field="checkProductKeyword3"/></not>
+                <if-compare field="checkProductKeyword3.statusId" operator="equals" value="KW_PENDING"/>
+            </and>
+        </assert>
+        <!-- Step 7 -->
+        <entity-and entity-name="ProductKeyword" list="checkAllProductKeywordApproveList">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+            <field-map field-name="statusId" value="KW_PENDING"/>
+        </entity-and>
+        <iterate entry="checkAllProductKeywordApprove" list="checkAllProductKeywordApproveList">
+            <set field="updateProductKeywordMap.userLogin" from-field="systemUserLogin"/>
+            <set field="updateProductKeywordMap.productId" from-field="checkAllProductKeywordApprove.productId"/>
+            <set field="updateProductKeywordMap.keyword" from-field="checkAllProductKeywordApprove.keyword"/>
+            <set field="updateProductKeywordMap.keywordTypeId" from-field="checkAllProductKeywordApprove.keywordTypeId"/>
+            <set field="updateProductKeywordMap.statusId" value="KW_APPROVED"/>
+            <call-service service-name="updateProductKeyword" in-map-name="updateProductKeywordMap"/>
+        </iterate>
+        <!-- Step 8 -->
+       <entity-one entity-name="ProductKeyword" value-field="checkProductKeywordApprove1">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="rock and roll"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <if-compare field="checkProductKeywordApprove1.statusId" operator="equals" value="KW_APPROVED"/>
+        </assert>
+        
+        <entity-one entity-name="ProductKeyword" value-field="checkProductKeywordApprove2">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="t-shirt"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <if-compare field="checkProductKeywordApprove2.statusId" operator="equals" value="KW_APPROVED"/>
+        </assert>
+        
+        <entity-one entity-name="ProductKeyword" value-field="checkProductKeywordApprove3">
+            <field-map field-name="productId" value="GZ-1000"/>
+            <field-map field-name="keyword" value="red"/>
+            <field-map field-name="keywordTypeId" value="KWT_TAG"/>
+        </entity-one>
+        <assert>
+            <if-compare field="checkProductKeywordApprove3.statusId" operator="equals" value="KW_APPROVED"/>
+        </assert>
+        
+        <check-errors/>
+    </simple-method>
+</simple-methods>

Propchange: ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/applications/product/script/org/ofbiz/product/test/ProductTagTest.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductEvents.java?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductEvents.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductEvents.java Mon Dec 26 07:42:42 2011
@@ -1187,15 +1187,12 @@ public class ProductEvents {
                 matchList.add(regexMatcher.group().replace("'", ""));
             }
             
-            GenericValue userLogin = (GenericValue) request.getSession().getAttribute("userLogin");
-            if (UtilValidate.isEmpty(userLogin)) {
-                try {
-                    userLogin = delegator.findByPrimaryKeyCache("UserLogin", UtilMisc.toMap("userLoginId", "system"));
-                } catch (GenericEntityException e) {
-                    request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
-                    return "error";
-                }
-                
+            GenericValue userLogin = null;
+            try {
+                userLogin = delegator.findByPrimaryKeyCache("UserLogin", UtilMisc.toMap("userLoginId", "system"));
+            } catch (GenericEntityException e) {
+                request.setAttribute("_ERROR_MESSAGE_", e.getMessage());
+                return "error";
             }
             
             if(UtilValidate.isNotEmpty(matchList)) {

Added: ofbiz/trunk/applications/product/testdef/ProductTagTest.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/testdef/ProductTagTest.xml?rev=1224689&view=auto
==============================================================================
--- ofbiz/trunk/applications/product/testdef/ProductTagTest.xml (added)
+++ ofbiz/trunk/applications/product/testdef/ProductTagTest.xml Mon Dec 26 07:42:42 2011
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<test-suite suite-name="producttagtests"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd">
+
+    <test-case case-name="producttag-test">
+        <simple-method-test location="component://product/script/org/ofbiz/product/test/ProductTagTest.xml" name="testProductTag"/>
+    </test-case>
+
+</test-suite>

Propchange: ofbiz/trunk/applications/product/testdef/ProductTagTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/product/testdef/ProductTagTest.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/applications/product/testdef/ProductTagTest.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Mon Dec 26 07:42:42 2011
@@ -3026,6 +3026,19 @@ under the License.
         <response name="success" type="view" value="ViewProductGroupOrder"/>
         <response name="error" type="view" value="ViewProductGroupOrder"/>
     </request-map>
+    
+    <!-- ================ Product Tag Requests ================= -->
+    <request-map uri="EditProductTag">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditProductTag"/>
+    </request-map>
+
+    <request-map uri="updateProductTag">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateProductKeyword"/>
+        <response name="success" type="view" value="EditProductTag"/>
+        <response name="error" type="view" value="EditProductTag"/>
+    </request-map>
     <!-- end of request mappings -->
 
     <!-- View Mappings -->
@@ -3189,6 +3202,8 @@ under the License.
     <view-map name="ListShipmentMethodTypes" type="screen" page="component://product/widget/catalog/ShippingScreens.xml#ListShipmentMethodTypes"/>
     <view-map name="ListCarrierShipmentMethods" type="screen" page="component://product/widget/catalog/ShippingScreens.xml#ListCarrierShipmentMethods"/>
 
+    <view-map name="EditProductTag" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductTag"/>
+
     <!-- Lookup request mappings -->
     <view-map name="LookupContent" page="component://content/widget/content/ContentScreens.xml#LookupContent" type="screen"/>
     <view-map name="LookupFixedAsset" type="screen" page="component://accounting/widget/LookupScreens.xml#LookupFixedAsset"/>

Modified: ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml Mon Dec 26 07:42:42 2011
@@ -537,6 +537,9 @@ under the License.
                 <parameter param-name="productId"/>
             </link>
         </menu-item>
+        <menu-item name="ProductTags" title="${uiLabelMap.ProductTags}">
+            <link target="EditProductTag"/>
+        </menu-item>
         <menu-item name="ExpandAll" title="${uiLabelMap.CommonExpandAll}" widget-style="buttontext expand-all">
             <condition>
                 <and>

Modified: ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml Mon Dec 26 07:42:42 2011
@@ -1975,7 +1975,7 @@ under the License.
             <entity-condition entity-name="ProductKeyword">
                 <condition-list combine="and">
                     <condition-expr field-name="productId" operator="equals" from-field="productId"/>
-                    <condition-expr field-name="keywordTypeId" operator="equals" value="KWT_KEYWORD"/>
+                    <condition-expr field-name="keywordTypeId" operator="equals" from-field="keywordTypeId"/>
                 </condition-list>
                 <order-by field-name="statusId"/>
                 <order-by field-name="-relevancyWeight"/>
@@ -2005,42 +2005,6 @@ under the License.
             </hyperlink>
         </field>
     </form>
-    <form name="UpdateProductTag" type="list" target="updateProductKeyword" title="" list-name=""
-        odd-row-style="alternate-row" default-table-style="basic-table">
-        <actions>
-            <entity-condition entity-name="ProductKeyword">
-                <condition-list combine="and">
-                    <condition-expr field-name="productId" operator="equals" from-field="productId"/>
-                    <condition-expr field-name="keywordTypeId" operator="equals" value="KWT_TAG"/>
-                </condition-list>
-                <order-by field-name="statusId"/>
-                <order-by field-name="-relevancyWeight"/>
-                <order-by field-name="keyword"/>
-            </entity-condition>
-        </actions>
-        <field name="productId"><hidden/></field>
-        <field name="keyword" title="${uiLabelMap.ProductTag}"><display/></field>
-        <field name="keywordTypeId" title="${uiLabelMap.FormFieldTitle_keywordType}">
-            <display-entity entity-name="Enumeration" description="${description}" key-field-name="enumId"/>
-        </field>
-        <field name="relevancyWeight"><display/></field>
-        <field name="statusId">
-            <drop-down allow-empty="true">
-                <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}">
-                    <entity-constraint name="statusTypeId" value="KEYWORD_STATUS"/>
-                    <entity-order-by field-name="sequenceId"/>
-                </entity-options>
-            </drop-down>
-        </field>
-        <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
-        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
-            <hyperlink target="deleteProductKeyword" description="${uiLabelMap.CommonDelete}" also-hidden="false">
-                <parameter param-name="productId"/>
-                <parameter param-name="keyword"/>
-                <parameter param-name="keywordTypeId"/>
-            </hyperlink>
-        </field>
-    </form>
     <!-- ProductAttribute -->
     <form name="AddProductAttribute" type="single" target="createProductAttribute" title=""
         header-row-style="header-row" default-table-style="basic-table">
@@ -2235,4 +2199,34 @@ under the License.
         <field name="thruDate" title="${uiLabelMap.ProductDealEndDate}*"><date-time/></field>
         <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
+
+    <form name="ListProductTag" type="list" target="updateProductTag" title="" list-name=""
+        odd-row-style="alternate-row" default-table-style="basic-table" paginate-target="EditProductTag">
+        <actions>
+            <entity-condition entity-name="ProductKeyword">
+                <condition-list combine="and">
+                    <condition-expr field-name="keywordTypeId" operator="equals" value="KWT_TAG"/>
+                    <condition-expr field-name="statusId" operator="equals" value="KW_PENDING"/>
+                </condition-list>
+                <order-by field-name="productId"/>
+                <order-by field-name="keyword"/>
+            </entity-condition>
+        </actions>
+        <field name="keywordTypeId"><hidden/></field>
+        <field name="productId" sort-field="true">
+            <hyperlink also-hidden="false" description="${productId}" target="EditProduct">
+                <parameter param-name="productId"/>
+            </hyperlink>
+        </field>
+        <field name="keyword" title="${uiLabelMap.ProductTag}" sort-field="true"><display/></field>
+        <field name="statusId">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="StatusItem" key-field-name="statusId" description="${description}">
+                    <entity-constraint name="statusTypeId" value="KEYWORD_STATUS"/>
+                    <entity-order-by field-name="sequenceId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
+    </form>
  </forms>

Modified: ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml?rev=1224689&r1=1224688&r2=1224689&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml Mon Dec 26 07:42:42 2011
@@ -621,6 +621,9 @@ under the License.
                 <set field="labelTitleProperty" value="ProductKeywords"/>
                 <set field="productId" from-field="parameters.productId"/>
                 <entity-one entity-name="Product" value-field="product"/>
+                <entity-and entity-name="Enumeration" list="keywordTypeList">
+                    <field-map field-name="enumTypeId" value="KEYWORD_TYPE"/>
+                </entity-and>
             </actions>
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
@@ -636,12 +639,18 @@ under the License.
                         <screenlet title="${uiLabelMap.ProductAddProductKeyword}">
                             <include-form name="AddProductKeyword" location="component://product/widget/catalog/ProductForms.xml"/>
                         </screenlet>
-                        <screenlet title="${uiLabelMap.PageTitleEditProductKeywords}">
-                            <include-form name="UpdateProductKeyword" location="component://product/widget/catalog/ProductForms.xml"/>
-                        </screenlet>
-                        <screenlet title="${uiLabelMap.PageTitleEditProductTags}">
-                            <include-form name="UpdateProductTag" location="component://product/widget/catalog/ProductForms.xml"/>
-                        </screenlet>
+                        <iterate-section entry="keywordType" list="keywordTypeList">
+                            <section>
+                                <actions>
+                                    <set field="keywordTypeId" from-field="keywordType.enumId"/>
+                                </actions>
+                                <widgets>
+                                    <screenlet title="${uiLabelMap.PageTitleEditProductKeywords} : ${keywordType.description}">
+                                        <include-form name="UpdateProductKeyword" location="component://product/widget/catalog/ProductForms.xml"/>
+                                    </screenlet>
+                                </widgets>
+                            </section>
+                        </iterate-section>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -1431,4 +1440,18 @@ under the License.
             </widgets>
         </section>
     </screen>
+
+    <screen name="EditProductTag">
+        <section>
+            <widgets>
+                <decorator-screen name="CommonProductDecorator" location="${parameters.productDecoratorLocation}">
+                    <decorator-section name="body">
+                        <screenlet title="${uiLabelMap.PageTitleEditProductTags}">
+                            <include-form name="ListProductTag" location="component://product/widget/catalog/ProductForms.xml"/>
+                        </screenlet>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
 </screens>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r1224689 - in /ofbiz/trunk/applications/product: ./ config/ entitydef/ script/org/ofbiz/product/test/ src/org/ofbiz/product/product/ testdef/ webapp/catalog/WEB-INF/ widget/catalog/

Erwan de FERRIERES
Hi Hans,

you should have made 4 commits for this one, as you are making 4 different things in it.

Regards,