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> </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>