I agree that a form widget would have been simpler. I only had time to review 
and commit, not re-write.


David E Jones wrote:


The loopkup for a party is pretty easy, though easier (as with many things here...) using the form widget instead of an ftl file.

In fact, we have a project-wide goal of converting all generic ftl screens like this to use the form widget.

Of course, I wasn't involved in discussions around this and only read what has gone through the lists and the issue... was there a reason for using FTL instead of the Form Widget (Ean or Adrian)?

-David


[EMAIL PROTECTED] wrote:

Author: adrianc
Date: Mon Sep 24 12:38:03 2007
New Revision: 578930

URL: http://svn.apache.org/viewvc?rev=578930&view=rev
Log:
New feature - assign parties to products. Patch is from Ean Schuessler - OFBIZ-1177, plus some additional work from me. Still needs a party ID lookup screen.

Added:
ofbiz/trunk/applications/product/webapp/catalog/product/EditProductParties.ftl
Modified:
    ofbiz/trunk/applications/product/config/ProductUiLabels.properties
    ofbiz/trunk/applications/product/entitydef/entitygroup.xml
    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml
    ofbiz/trunk/applications/product/servicedef/services.xml
ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml
    ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml

Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.properties?rev=578930&r1=578929&r2=578930&view=diff ============================================================================== --- ofbiz/trunk/applications/product/config/ProductUiLabels.properties (original) +++ ofbiz/trunk/applications/product/config/ProductUiLabels.properties Mon Sep 24 12:38:03 2007
@@ -132,6 +132,7 @@
 PageTitleEditProductPromos=Edit Product Promos
 PageTitleEditProductPromotionCode=Edit Product Promotion Code
 PageTitleEditProductQuickAdmin=Edit Product Quick Admin
+PageTitleEditProductParties=Edit Product Parties
 PageTitleEditProductStore=Edit Product Store
 PageTitleEditProductStoreCatalogs=Edit Product Store Catalogs
 PageTitleEditProductStoreEmailSetup=Edit Product Store Email Setup
@@ -329,6 +330,7 @@
 ProductAssetUsage=Rental
 ProductAssignPicker=Assign Picker
ProductAssociatePartyToCategory=Associate Party to Category (enter Party ID, select Type, then enter optional From Date) +ProductAssociatePartyToProduct=Associate Party to Product (enter Party ID, select Type, then enter optional From Date) ProductAssociationNotFound=Association not found: Product Id=${productId?if_exists}, Product Id To=${productIdTo?if_exists}, Association Type Id=${productAssocTypeId?if_exists}, From Date=${fromDate?if_exists}
 ProductAssociationType=Association Type
 ProductAssociationTypeId=Association Type ID
@@ -434,7 +436,6 @@
ProductCopyProductCategoryMembersToAnotherCategory=Copy Product Category Members to Another Category
 ProductCostPrice=Cost Price
 ProductCosts=Costs
-ProductCostPrice=Cost Price
 ProductCouldNotFindFacilityWithId=Could Not Find Facility with ID
 ProductCouldNotFindProduct=Could Not Find Product with ID
ProductCouldNotFindProductCategoryWithId=Could not Find Product Category with Id

Modified: ofbiz/trunk/applications/product/entitydef/entitygroup.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitygroup.xml?rev=578930&r1=578929&r2=578930&view=diff ==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitygroup.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitygroup.xml Mon Sep 24 12:38:03 2007
@@ -176,6 +176,7 @@
     <entity-group group="org.ofbiz" entity="ProductMaint" />
     <entity-group group="org.ofbiz" entity="ProductMaintType" />
     <entity-group group="org.ofbiz" entity="ProductReview" />
+    <entity-group group="org.ofbiz" entity="ProductRole" />
     <entity-group group="org.ofbiz" entity="ProductSearchConstraint" />
     <entity-group group="org.ofbiz" entity="ProductSearchResult" />
     <entity-group group="org.ofbiz" entity="ProductType" />
@@ -336,5 +337,7 @@
     <entity-group group="org.ofbiz" entity="ShippingDocument" />
<entity-group group="org.ofbiz" entity="PackedQtyVsOrderItemQuantity" />
 </entitygroup>
+
+
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=578930&r1=578929&r2=578930&view=diff ==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Mon Sep 24 12:38:03 2007
@@ -2190,6 +2190,33 @@
<key-map field-name="parentTypeId" rel-field-name="productAssocTypeId"/>
       </relation>
     </entity>
+    <entity entity-name="ProductRole"
+            package-name="org.ofbiz.product.product"
+            title="Product Role Entity">
+      <field name="productId" type="id-ne"></field>
+      <field name="partyId" type="id-ne"></field>
+      <field name="roleTypeId" type="id-ne"></field>
+      <field name="fromDate" type="date-time"></field>
+      <field name="thruDate" type="date-time"></field>
+      <field name="comments" type="comment"></field>
+      <prim-key field="productId"/>
+      <prim-key field="partyId"/>
+      <prim-key field="roleTypeId"/>
+      <prim-key field="fromDate"/>
+      <relation type="one-nofk" rel-entity-name="Party">
+        <key-map field-name="partyId"/>
+      </relation>
+      <relation type="one-nofk" rel-entity-name="RoleType">
+        <key-map field-name="roleTypeId"/>
+      </relation>
+ <relation type="one" fk-name="PROD_RLE_PTYRLE" rel-entity-name="PartyRole">
+        <key-map field-name="partyId"/>
+        <key-map field-name="roleTypeId"/>
+      </relation>
+ <!-- <relation type="one" fk-name="PROD_RLE_CATEGORY" rel-entity-name="Product">
+        <key-map field-name="productCategoryId"/>
+      </relation> -->
+    </entity>         <entity entity-name="ProductAttribute"
             package-name="org.ofbiz.product.product"
             title="Product Attribute Entity">

Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml?rev=578930&r1=578929&r2=578930&view=diff ============================================================================== --- ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/product/ProductServices.xml Mon Sep 24 12:38:03 2007
@@ -900,4 +900,49 @@
<entity-one entity-name="ProductAttribute" value-name="lookedUpValue"/>
         <remove-value value-name="lookedUpValue"/>
     </simple-method>
+ + <!-- ================================================================ -->
+    <!-- ProductRole Services -->
+ <!-- ================================================================ -->
+
+ <simple-method method-name="addPartyToProduct" short-description="Add Party to Product">
+        <set value="addPartyToProduct" field="callingMethodName"/>
+        <set value="CREATE" field="checkAction"/>
+ <call-simple-method method-name="checkProductRelatedPermission"/>
+        <check-errors/>
+
+        <make-value value-name="newEntity" entity-name="ProductRole"/>
+        <set-pk-fields map-name="parameters" value-name="newEntity"/>
+        <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
+
+        <if-empty field-name="newEntity.fromDate">
+            <now-timestamp-to-env env-name="newEntity.fromDate"/>
+        </if-empty>
+
+        <create-value value-name="newEntity"/>
+    </simple-method>
+ <simple-method method-name="updatePartyToProduct" short-description="Update Party to Product">
+        <set value="updatePartyToProduct" field="callingMethodName"/>
+        <set value="UPDATE" field="checkAction"/>
+ <call-simple-method method-name="checkProductRelatedPermission"/>
+        <check-errors/>
+
+        <make-value value-name="lookupPKMap" entity-name="ProductRole"/>
+        <set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
+ <find-by-primary-key entity-name="ProductRole" map-name="lookupPKMap" value-name="lookedUpValue"/> + <set-nonpk-fields map-name="parameters" value-name="lookedUpValue"/>
+        <store-value value-name="lookedUpValue"/>
+    </simple-method>
+ <simple-method method-name="removePartyFromProduct" short-description="Remove Party From Product">
+        <set value="removePartyFromProduct" field="callingMethodName"/>
+        <set value="DELETE" field="checkAction"/>
+ <call-simple-method method-name="checkProductRelatedPermission"/>
+        <check-errors/>
+
+        <make-value value-name="lookupPKMap" entity-name="ProductRole"/>
+        <set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
+ <find-by-primary-key entity-name="ProductRole" map-name="lookupPKMap" value-name="lookedUpValue"/>
+        <remove-value value-name="lookedUpValue"/>
+    </simple-method>
+     </simple-methods>

Modified: ofbiz/trunk/applications/product/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services.xml?rev=578930&r1=578929&r2=578930&view=diff ==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services.xml Mon Sep 24 12:38:03 2007
@@ -716,6 +716,35 @@
<attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
     </service>
+ <service name="addPartyToProduct" engine="simple" + location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="addPartyToProduct" auth="true">
+        <description>Add Party To Product</description>
+ <attribute name="productId" type="String" mode="IN" optional="false"/> + <attribute name="partyId" type="String" mode="IN" optional="false"/> + <attribute name="roleTypeId" type="String" mode="IN" optional="false"/> + <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/> + <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/> + <attribute name="comments" type="String" mode="IN" optional="true"/>
+    </service>
+    <service name="updatePartyToProduct" engine="simple"
+ location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="updatePartyToProduct" auth="true">
+        <description>Update Party To Product</description>
+ <attribute name="productId" type="String" mode="IN" optional="false"/> + <attribute name="partyId" type="String" mode="IN" optional="false"/> + <attribute name="roleTypeId" type="String" mode="IN" optional="false"/> + <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/> + <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/> + <attribute name="comments" type="String" mode="IN" optional="true"/>
+    </service>
+    <service name="removePartyFromProduct" engine="simple"
+ location="component://product/script/org/ofbiz/product/product/ProductServices.xml" invoke="removePartyFromProduct" auth="true">
+        <description>Remove Party From Product</description>
+ <attribute name="productId" type="String" mode="IN" optional="false"/> + <attribute name="partyId" type="String" mode="IN" optional="false"/> + <attribute name="roleTypeId" type="String" mode="IN" optional="false"/> + <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
+    </service>
+
     <service name="safeAddProductCategoryToCategory" engine="simple"
location="org/ofbiz/product/category/CategoryServices.xml" invoke="addProductCategoryToCategory" auth="true"> <description>Safe Add ProductCategory To Category (requires fromDate)</description>

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=578930&r1=578929&r2=578930&view=diff ============================================================================== --- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Mon Sep 24 12:38:03 2007
@@ -512,8 +512,31 @@
     <request-map uri="ProductBarCode.pdf">
         <security https="true" auth="true"/>
<response name="success" type="view" value="ProductBarCode.pdf"/>
+    </request-map>    +
+    <!-- ================ Product Roles Requests ================= -->
+    <request-map uri="EditProductParties">
+        <security https="true" auth="true"/>
+ <response name="success" type="view" value="EditProductParties"/>
+    </request-map>
+    <request-map uri="addPartyToProduct">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="addPartyToProduct"/>
+ <response name="success" type="view" value="EditProductParties"/>
+        <response name="error" type="view" value="EditProductParties"/>
+    </request-map>
+    <request-map uri="updatePartyToProduct">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updatePartyToProduct"/>
+ <response name="success" type="view" value="EditProductParties"/>
+        <response name="error" type="view" value="EditProductParties"/>
+    </request-map>
+    <request-map uri="removePartyFromProduct">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="removePartyFromProduct"/>
+ <response name="success" type="view" value="EditProductParties"/>
+        <response name="error" type="view" value="EditProductParties"/>
     </request-map>
- <!-- ================ Product Asset Usage (rental) Requests ================= -->
     <request-map uri="EditProductAssetUsage">
@@ -2505,6 +2528,7 @@
<view-map name="EditProduct" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProduct"/> <view-map name="EditProductPrices" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductPrices"/> <view-map name="EditProductAssetUsage" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductAssetUsage"/> + <view-map name="EditProductParties" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductParties"/> <view-map name="showFixedAssetProduct" type="screen" page="component://product/widget/catalog/ProductScreens.xml#showFixedAssetProduct"/> <view-map name="newFixedAssetProduct" type="screen" page="component://product/widget/catalog/ProductScreens.xml#newFixedAssetProduct"/> <view-map name="ProductBarCode.pdf" type="screenfop" page="component://product/widget/catalog/ProductScreens.xml#ProductBarCode.fo" content-type="application/pdf" encoding="none"/>

Added: ofbiz/trunk/applications/product/webapp/catalog/product/EditProductParties.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/product/EditProductParties.ftl?rev=578930&view=auto ============================================================================== --- ofbiz/trunk/applications/product/webapp/catalog/product/EditProductParties.ftl (added) +++ ofbiz/trunk/applications/product/webapp/catalog/product/EditProductParties.ftl Mon Sep 24 12:38:03 2007
@@ -0,0 +1,78 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<#if productId?exists && product?exists> + <table class="basic-table" cellspacing="0">
+    <tr class="header-row">
+      <td>${uiLabelMap.PartyPartyId}</td>
+      <td>${uiLabelMap.PartyRole}</td>
+      <td>${uiLabelMap.CommonFromDateTime}</td>
+      <td>${uiLabelMap.CommonThruDateTime}</td>
+      <td>&nbsp;</td>
+    </tr>
+    <#assign line = 0>
+    <#list productRoles as productRole>
+      <#assign line = line + 1>
+      <#assign curRoleType = productRole.getRelatedOneCache("RoleType")>
+      <tr>
+ <td><a href="/partymgr/control/viewprofile?party_id=${(productRole.partyId)?if_exists}" target="_blank" class="buttontext">${(productRole.partyId)?if_exists}</a></td>
+        <td>${(curRoleType.get("description",locale))?if_exists}</td>
+        <#assign hasntStarted = false>
+ <#if (productRole.getTimestamp("fromDate"))?exists && Static["org.ofbiz.base.util.UtilDateTime"].nowTimestamp().before(productRole.getTimestamp("fromDate"))> <#assign hasntStarted = true></#if> + <td<#if hasntStarted> class="alert"</#if>>${(productRole.fromDate)?if_exists}</td>
+        <td align="center">
+ <form method="post" action="<@ofbizUrl>updatePartyToProduct</@ofbizUrl>" name="lineForm${line}">
+            <#assign hasExpired = false>
+ <#if (productRole.getTimestamp("thruDate"))?exists && (Static["org.ofbiz.base.util.UtilDateTime"].nowTimestamp().after(productRole.getTimestamp("thruDate")))> <#assign hasExpired = true></#if> + <input type="hidden" name="productId" value="${(productRole.productId)?if_exists}"> + <input type="hidden" name="partyId" value="${(productRole.partyId)?if_exists}"> + <input type="hidden" name="roleTypeId" value="${(productRole.roleTypeId)?if_exists}"> + <input type="hidden" name="fromDate" value="${(productRole.getTimestamp("fromDate"))?if_exists}"> + <input type="text" size="25" name="thruDate" value="${(productRole. getTimestamp("thruDate"))?if_exists}" class="inputBox" <#if hasExpired> style="color: red;"</#if>> + <a href="javascript:call_cal(document.lineForm${line}.thruDate, '${(productRole.getTimestamp("thruDate"))?default(nowTimestamp?string)}');"><img src="<@ofbizContentUrl>/images/cal.gif</@ofbizContentUrl>" width="16" height="16" border="0" alt="Calendar"></a>
+            <input type="submit" value="${uiLabelMap.CommonUpdate}">
+          </form>
+        </td>
+        <td align="center">
+ <a href="<@ofbizUrl>removePartyFromProduct?productId=${(productRole.productId)?if_exists}&partyId=${(productRole.partyId)?if_exists}&roleTypeId=${(productRole.roleTypeId)?if_exists}&fromDate=${Static["org.ofbiz.base.util.UtilFormatOut"].encodeQueryValue(productRole.getTimestamp("fromDate").toString())}</@ofbizUrl>" class="buttontext">
+          ${uiLabelMap.CommonDelete}</a>
+        </td>
+      </tr>
+    </#list>
+  </table>
+  <br/>
+  <h2>${uiLabelMap.ProductAssociatePartyToProduct}:</h2>
+  <br/>
+ <form method="post" action="<@ofbizUrl>addPartyToProduct</@ofbizUrl>" name="addNewForm">
+    <input type="hidden" name="productId" value="${productId}">
+    <input type="text" size="20" maxlength="20" name="partyId" value="">
+    <#-- TODO: Add PartyId lookup screen
+ <a href="javascript:call_fieldlookup2(document.addNewForm.partyId,'LookupCustomerName');"> + <img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt='Click here For Field Lookup'/>
+    </a> -->
+    <select name="roleTypeId" size="1">
+    <#list roleTypes as roleType>
+ <option value="${(roleType.roleTypeId)?if_exists}" <#if roleType.roleTypeId.equals("_NA_")> ${uiLabelMap.ProductSelected}</#if>>${(roleType.get("description",locale))?if_exists}</option>
+    </#list>
+    </select>
+    <input type="text" size="25" name="fromDate">
+ <a href="javascript:call_cal(document.addNewForm.fromDate, '${nowTimestamp?string}');"><img src="<@ofbizContentUrl>/images/cal.gif</@ofbizContentUrl>" width="16" height="16" border="0" alt="Calendar"></a>
+    <input type="submit" value="${uiLabelMap.CommonAdd}">
+  </form>
+</#if>

Modified: ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl?rev=578930&r1=578929&r2=578930&view=diff ============================================================================== --- ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl (original) +++ ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl Mon Sep 24 12:38:03 2007
@@ -55,6 +55,7 @@
<#if product?exists && product.productTypeId?if_exists == "ASSET_USAGE"> <a href="<@ofbizUrl>EditProductAssetUsage?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductAssetUsage?default(unselectedClassName)}">${uiLabelMap.ProductAssetUsage}</a>
         </#if>
- <a href="<@ofbizUrl>EditProductWorkEfforts?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductWorkEfforts?default(unselectedClassName)}">${uiLabelMap.WorkEffortWorkEffort}</a> + <a href="<@ofbizUrl>EditProductWorkEfforts?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductWorkEfforts?default(unselectedClassName)}">${uiLabelMap.WorkEffortWorkEffort}</a> + <a href="<@ofbizUrl>EditProductParties?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductParties?default(unselectedClassName)}">${uiLabelMap.PartyParties}</a>
     </div>
 </#if>

Modified: ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml?rev=578930&r1=578929&r2=578930&view=diff ============================================================================== --- ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml (original) +++ ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml Mon Sep 24 12:38:03 2007
@@ -78,7 +78,7 @@
                                         </container>
<!-- add Create Product and View Product (in ecommerce) links -->
-                                        <container>
+                                        <container style="button-bar">
<link target="EditProduct" text="${uiLabelMap.ProductNewProduct}" style="buttontext"/> <link target="CreateVirtualWithVariantsForm" text="${uiLabelMap.ProductNewVirtualProduct}" style="buttontext"/> <link target="/ecommerce/control/product?product_id=${productId}" url-mode="inter-app" text="${uiLabelMap.ProductProductPage}" style="buttontext"/>

Modified: ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml?rev=578930&r1=578929&r2=578930&view=diff ============================================================================== --- ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml (original) +++ ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml Mon Sep 24 12:38:03 2007
@@ -974,4 +974,37 @@
         </section>
     </screen>
             +    <screen name="EditProductParties">
+        <section>
+            <actions>
+ <set field="titleProperty" value="PageTitleEditProductParties"/>
+                <set field="headerItem" value="product"/>
+                <set field="tabButtonItem" value="EditProductParties"/>
+                <set field="labelTitleProperty" value="PartyParties"/>
+
+ <set field="productId" from-field="parameters.productId"/>
+                <entity-one entity-name="Product" value-name="product"/>
+
+ <entity-condition entity-name="ProductRole" list-name="productRoles"> + <condition-expr field-name="productId" env-name="productId"/>
+                    <order-by field-name="roleTypeId"/>
+                    <order-by field-name="partyId"/>
+                </entity-condition>
+
+ <entity-condition entity-name="RoleType" list-name="roleTypes">
+                    <order-by field-name="description"/>
+                </entity-condition>
+            </actions>
+            <widgets>
+ <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <platform-specific>
+ <html><html-template location="component://product/webapp/catalog/product/EditProductParties.ftl"/></html>
+                        </platform-specific>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+     </screens>




Reply via email to