svn commit: r419166 - in /incubator/ofbiz/trunk: applications/product/config/ applications/product/entitydef/ applications/product/script/org/ofbiz/product/subscription/ applications/product/servicedef/ applications/product/webapp/catalog/WEB-INF/ appl...

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

svn commit: r419166 - in /incubator/ofbiz/trunk: applications/product/config/ applications/product/entitydef/ applications/product/script/org/ofbiz/product/subscription/ applications/product/servicedef/ applications/product/webapp/catalog/WEB-INF/ appl...

jonesde
Author: jonesde
Date: Tue Jul  4 22:31:23 2006
New Revision: 419166

URL: http://svn.apache.org/viewvc?rev=419166&view=rev
Log:
Initial pass for subscription and related screens; still some cleanup needed though some basics are working; checking in progress before pausing for a few hours

Added:
    incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionForms.xml   (with props)
    incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionMenus.xml   (with props)
    incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionScreens.xml   (with props)
Modified:
    incubator/ofbiz/trunk/applications/product/config/ProductUiLabels.properties
    incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml
    incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml
    incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/subscription/SubscriptionServices.xml
    incubator/ofbiz/trunk/applications/product/servicedef/services_subscription.xml
    incubator/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
    incubator/ofbiz/trunk/applications/product/webapp/catalog/includes/appheader.ftl
    incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductForms.xml
    incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl
    incubator/ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml
    incubator/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml
    incubator/ofbiz/trunk/framework/common/config/CommonUiLabels.properties

Modified: incubator/ofbiz/trunk/applications/product/config/ProductUiLabels.properties
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/config/ProductUiLabels.properties?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/config/ProductUiLabels.properties (original)
+++ incubator/ofbiz/trunk/applications/product/config/ProductUiLabels.properties Tue Jul  4 22:31:23 2006
@@ -141,6 +141,10 @@
 PageTitleEditProductStoreSurveys=Edit Product Store Surveys
 PageTitleEditProductStoreTaxSetup=Edit Product Store Tax Setup
 PageTitleEditProductStoreWebSites=Edit Product Store Web Sites
+PageTitleEditProductSubscriptionResources=Edit Product Subscription Resources
+PageTitleEditSubscription=Edit Subscription
+PageTitleEditSubscriptionResource=Edit Subscription Resource
+PageTitleEditSubscriptionResourceProducts=Edit Subscription Resource Products
 PageTitleEditShipmentItems=Edit Shipment Items
 PageTitleEditShipmentPackages=Edit Shipment Packages
 PageTitleEditShipmentPlan=Edit Shipment Plan
@@ -155,6 +159,8 @@
 PageTitleFindProductPriceRule=Find Product Price Rule
 PageTitleFindProductPromos=Find Product Promos
 PageTitleFindProductPromotionCode=Find Product Promotion Code
+PageTitleFindSubscription=Find Subscription
+PageTitleFindSubscriptionResource=Find Subscription Resource
 PageTitleViewProductStoreSegments=View Product Store Segments
 PageTitleLabelPrinting=Label Printing
 PageTitleLogin=Login
@@ -758,6 +764,8 @@
 ProductNewShipment=New Shipment
 ProductNewShipmentEstimate=New Shipment Estimate
 ProductNewShipmentMethod=New Shipment Method
+ProductNewSubscription=New Subscription
+ProductNewSubscriptionResource=New Subscription Resource
 ProductNewVirtualProduct=New Virtual Product
 ProductNextShipment=Next Shipment
 ProductNoCategorySpecified=No category specified
@@ -1167,6 +1175,9 @@
 ProductStores=Stores
 ProductStoresFor=Stores For
 ProductStyleSheet=Style Sheet
+ProductSubscription=Subscription
+ProductSubscriptions=Subscriptions
+ProductSubscriptionResources=Subscription Resources
 ProductSubProduct=SubProduct
 ProductSubTitle=Sub-Title
 ProductSubject=Subject

Modified: incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml (original)
+++ incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml Tue Jul  4 22:31:23 2006
@@ -170,7 +170,6 @@
     <entity-group group="org.ofbiz" entity="ProductReview" />
     <entity-group group="org.ofbiz" entity="ProductSearchConstraint" />
     <entity-group group="org.ofbiz" entity="ProductSearchResult" />
-    <entity-group group="org.ofbiz" entity="ProductSubscriptionResource" />
     <entity-group group="org.ofbiz" entity="ProductType" />
     <entity-group group="org.ofbiz" entity="ProductTypeAttr" />
     <entity-group group="org.ofbiz" entity="ProductVirtualAndAssocPrices" />
@@ -243,6 +242,7 @@
     <!-- org.ofbiz.content.subscription -->
     <!-- ========================================================= -->
     
+    <entity-group group="org.ofbiz" entity="ProductSubscriptionResource" />
     <entity-group group="org.ofbiz" entity="Subscription" />
     <entity-group group="org.ofbiz" entity="SubscriptionActivity" />
     <entity-group group="org.ofbiz" entity="SubscriptionAttribute" />

Modified: incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml Tue Jul  4 22:31:23 2006
@@ -2278,34 +2278,6 @@
         <key-map field-name="visitId"/>
       </relation>
     </entity>
-    <entity entity-name="ProductSubscriptionResource" package-name="org.ofbiz.product.product"
-        title="Product Subscription Resource Entity">
-        <field name="productId" type="id-ne"></field>
-        <field name="subscriptionResourceId" type="id-ne"></field>
-        <field name="fromDate" type="date-time"></field>
-        <field name="thruDate" type="date-time"></field>
-        <field name="purchaseFromDate" type="date-time"></field>
-        <field name="purchaseThruDate" type="date-time"></field>
-        <field name="useCountLimit" type="numeric"></field>
-        <field name="useTime" type="numeric"></field>
-        <field name="useTimeUomId" type="id"></field>
-        <field name="useRoleTypeId" type="id"></field>
-        <prim-key field="productId"/>
-        <prim-key field="subscriptionResourceId"/>
-        <prim-key field="fromDate"/>
-        <relation type="one" fk-name="PROD_SBRS_PROD" rel-entity-name="Product">
-            <key-map field-name="productId"/>
-        </relation>
-        <relation type="one" fk-name="PROD_SBRS_SBRS" rel-entity-name="SubscriptionResource">
-            <key-map field-name="subscriptionResourceId"/>
-        </relation>
-        <relation type="one" fk-name="PROD_SBRS_URT" title="Use" rel-entity-name="RoleType">
-            <key-map field-name="useRoleTypeId" rel-field-name="roleTypeId"/>
-        </relation>
-        <relation type="one" fk-name="PROD_SBRS_UTU" title="UseTime" rel-entity-name="Uom">
-            <key-map field-name="useTimeUomId" rel-field-name="uomId"/>
-        </relation>
-    </entity>
     <entity entity-name="ProductType"
             package-name="org.ofbiz.product.product"
             title="Product Type Entity" default-resource-name="ProductEntityLabels">
@@ -3592,6 +3564,33 @@
     <!-- org.ofbiz.product.subscription -->
     <!-- ========================================================= -->
     
+    <entity entity-name="ProductSubscriptionResource" package-name="org.ofbiz.product.subscription" title="Product Subscription Resource Entity">
+        <field name="productId" type="id-ne"></field>
+        <field name="subscriptionResourceId" type="id-ne"></field>
+        <field name="fromDate" type="date-time"></field>
+        <field name="thruDate" type="date-time"></field>
+        <field name="purchaseFromDate" type="date-time"></field>
+        <field name="purchaseThruDate" type="date-time"></field>
+        <field name="useCountLimit" type="numeric"></field>
+        <field name="useTime" type="numeric"></field>
+        <field name="useTimeUomId" type="id"></field>
+        <field name="useRoleTypeId" type="id"></field>
+        <prim-key field="productId"/>
+        <prim-key field="subscriptionResourceId"/>
+        <prim-key field="fromDate"/>
+        <relation type="one" fk-name="PROD_SBRS_PROD" rel-entity-name="Product">
+            <key-map field-name="productId"/>
+        </relation>
+        <relation type="one" fk-name="PROD_SBRS_SBRS" rel-entity-name="SubscriptionResource">
+            <key-map field-name="subscriptionResourceId"/>
+        </relation>
+        <relation type="one" fk-name="PROD_SBRS_URT" title="Use" rel-entity-name="RoleType">
+            <key-map field-name="useRoleTypeId" rel-field-name="roleTypeId"/>
+        </relation>
+        <relation type="one" fk-name="PROD_SBRS_UTU" title="UseTime" rel-entity-name="Uom">
+            <key-map field-name="useTimeUomId" rel-field-name="uomId"/>
+        </relation>
+    </entity>
     <entity entity-name="Subscription" package-name="org.ofbiz.product.subscription" title="Subscription Entity">
         <field name="subscriptionId" type="id-ne"></field>
         <field name="subscriptionResourceId" type="id"></field>

Modified: incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/subscription/SubscriptionServices.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/subscription/SubscriptionServices.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/subscription/SubscriptionServices.xml (original)
+++ incubator/ofbiz/trunk/applications/product/script/org/ofbiz/product/subscription/SubscriptionServices.xml Tue Jul  4 22:31:23 2006
@@ -19,7 +19,7 @@
 <simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/simple-methods.xsd">
     
-    <simple-method method-name="createSubscription" short-description="create a Subscription">
+    <simple-method method-name="createSubscription" short-description="Create a Subscription">
         <set value="_CREATE" field="securityAction"/>
         <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
         <check-errors/>
@@ -34,7 +34,7 @@
         <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
         <create-value value-name="newEntity"/>
     </simple-method>  
-    <simple-method method-name="updateSubscription" short-description="update a Subscription">
+    <simple-method method-name="updateSubscription" short-description="Update a Subscription">
         <set value="_UPDATE" field="securityAction"/>
         <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
         <check-errors/>
@@ -72,7 +72,7 @@
         <field-to-result field-name="found" result-name="isSubscribed"/>
     </simple-method>
     
-    <simple-method method-name="getSubscription" short-description="get Subscription data">
+    <simple-method method-name="getSubscription" short-description="Get Subscription data">
         <set value="_READ" field="securityAction"/>
         <check-permission permission="CATALOG" action="${securityAction}"><accept-userlogin-party/><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
         <check-errors/>
@@ -83,21 +83,47 @@
         </if-not-empty>
     </simple-method>
 
-    <simple-method method-name="createSubscriptionResource" short-description="create a SubscriptionResource">
+    <simple-method method-name="createSubscriptionResource" short-description="Create a SubscriptionResource">
         <set value="_CREATE" field="securityAction"/>
         <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
         <check-errors/>
         <make-value entity-name="SubscriptionResource" value-name="newEntity"/>
-        <set-pk-fields map-name="parameters" value-name="newEntity"/>
+        <sequenced-id-to-env sequence-name="SubscriptionResource" env-name="newEntity.subscriptionResourceId"/>
+        <field-to-result field-name="newEntity.subscriptionResourceId" result-name="subscriptionResourceId"/>
         <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
         <create-value value-name="newEntity"/>
     </simple-method>  
-    <simple-method method-name="updateSubscriptionResource" short-description="update a SubscriptionResource">
+    <simple-method method-name="updateSubscriptionResource" short-description="Update a SubscriptionResource">
         <set value="_UPDATE" field="securityAction"/>
         <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
         <check-errors/>
         <entity-one entity-name="SubscriptionResource" value-name="lookedUpValue"/>
         <set-nonpk-fields map-name="parameters" value-name="lookedUpValue"/>
         <store-value value-name="lookedUpValue"/>
+    </simple-method>
+
+    <simple-method method-name="createProductSubscriptionResource" short-description="Create a ProductSubscriptionResource">
+        <set value="_CREATE" field="securityAction"/>
+        <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
+        <check-errors/>
+        <make-value entity-name="ProductSubscriptionResource" value-name="newEntity"/>
+        <set-pk-fields map-name="parameters" value-name="newEntity"/>
+        <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
+        <create-value value-name="newEntity"/>
+    </simple-method>  
+    <simple-method method-name="updateProductSubscriptionResource" short-description="Update a ProductSubscriptionResource">
+        <set value="_UPDATE" field="securityAction"/>
+        <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
+        <check-errors/>
+        <entity-one entity-name="ProductSubscriptionResource" value-name="lookedUpValue"/>
+        <set-nonpk-fields map-name="parameters" value-name="lookedUpValue"/>
+        <store-value value-name="lookedUpValue"/>
+    </simple-method>
+    <simple-method method-name="deleteProductSubscriptionResource" short-description="Delete a ProductSubscriptionResource">
+        <set value="_DELETE" field="securityAction"/>
+        <check-permission permission="CATALOG" action="${securityAction}"><fail-property resource="ProductUiLabels" property="GeneralCatalogPermissionError"/></check-permission>
+        <check-errors/>
+        <entity-one entity-name="ProductSubscriptionResource" value-name="lookedUpValue"/>
+        <remove-value value-name="lookedUpValue"/>
     </simple-method>
 </simple-methods>

Modified: incubator/ofbiz/trunk/applications/product/servicedef/services_subscription.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/servicedef/services_subscription.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/servicedef/services_subscription.xml (original)
+++ incubator/ofbiz/trunk/applications/product/servicedef/services_subscription.xml Tue Jul  4 22:31:23 2006
@@ -28,7 +28,6 @@
         <auto-attributes include="pk" mode="INOUT" optional="true"/>
         <auto-attributes include="nonpk" mode="IN" optional="true"/>
     </service>
-    
     <service name="updateSubscription" default-entity-name="Subscription" auth="true" engine="simple"
         location="org/ofbiz/product/subscription/SubscriptionServices.xml" invoke="updateSubscription">
         <description>Update a Subscription Record</description>
@@ -56,14 +55,31 @@
     <service name="createSubscriptionResource" default-entity-name="SubscriptionResource" auth="true" engine="simple"
         location="org/ofbiz/product/subscription/SubscriptionServices.xml" invoke="createSubscriptionResource">
         <description>Create a SubscriptionResource Record</description>
-        <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="pk" mode="OUT" optional="false"/>
         <auto-attributes include="nonpk" mode="IN" optional="true"/>
     </service>
-    
     <service name="updateSubscriptionResource" default-entity-name="SubscriptionResource" auth="true" engine="simple"
         location="org/ofbiz/product/subscription/SubscriptionServices.xml" invoke="updateSubscriptionResource">
         <description>Update a SubscriptionResource Record</description>
         <auto-attributes include="pk" mode="IN" optional="false"/>
         <auto-attributes include="nonpk" mode="IN" optional="true"/>
+    </service>
+
+    <service name="createProductSubscriptionResource" default-entity-name="ProductSubscriptionResource" auth="true" engine="simple"
+        location="org/ofbiz/product/subscription/SubscriptionServices.xml" invoke="createProductSubscriptionResource">
+        <description>Create a ProductSubscriptionResource Record</description>
+        <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="nonpk" mode="IN" optional="true"/>
+    </service>
+    <service name="updateProductSubscriptionResource" default-entity-name="ProductSubscriptionResource" auth="true" engine="simple"
+        location="org/ofbiz/product/subscription/SubscriptionServices.xml" invoke="updateProductSubscriptionResource">
+        <description>Update a ProductSubscriptionResource Record</description>
+        <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="nonpk" mode="IN" optional="true"/>
+    </service>
+    <service name="deleteProductSubscriptionResource" default-entity-name="ProductSubscriptionResource" auth="true" engine="simple"
+        location="org/ofbiz/product/subscription/SubscriptionServices.xml" invoke="deleteProductSubscriptionResource">
+        <description>Delete a ProductSubscriptionResource Record</description>
+        <auto-attributes include="pk" mode="IN" optional="false"/>
     </service>
 </services>

Modified: incubator/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original)
+++ incubator/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Tue Jul  4 22:31:23 2006
@@ -1369,7 +1369,7 @@
         <response name="error" type="view" value="EditProductMaints"/>
     </request-map>
 
-        <!-- ================ ProductMeters Requests ================= -->
+    <!-- ================ ProductMeters Requests ================= -->
     <request-map uri="EditProductMeters">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="EditProductMeters"/>
@@ -1393,6 +1393,79 @@
         <response name="error" type="view" value="EditProductMeters"/>
     </request-map>
     
+    <!-- ================ ProductSubscriptionResources Requests ================= -->
+    <request-map uri="EditProductSubscriptionResources"><security https="true" auth="true"/><response name="success" type="view" value="EditProductSubscriptionResources"/></request-map>
+    <request-map uri="createProductSubscriptionResource">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createProductSubscriptionResource"/>
+        <response name="success" type="view" value="EditProductSubscriptionResources"/>
+        <response name="error" type="view" value="EditProductSubscriptionResources"/>
+    </request-map>
+    <request-map uri="updateProductSubscriptionResource">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateProductSubscriptionResource"/>
+        <response name="success" type="view" value="EditProductSubscriptionResources"/>
+        <response name="error" type="view" value="EditProductSubscriptionResources"/>
+    </request-map>
+    <request-map uri="deleteProductSubscriptionResource">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="deleteProductSubscriptionResource"/>
+        <response name="success" type="view" value="EditProductSubscriptionResources"/>
+        <response name="error" type="view" value="EditProductSubscriptionResources"/>
+    </request-map>
+
+    <!-- ================ Subscription Requests ================= -->
+    <request-map uri="FindSubscription"><security https="true" auth="true"/><response name="success" type="view" value="FindSubscription"/></request-map>
+    <request-map uri="EditSubscription"><security https="true" auth="true"/><response name="success" type="view" value="EditSubscription"/></request-map>
+    <request-map uri="createSubscription">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createSubscription"/>
+        <response name="success" type="view" value="EditSubscription"/>
+        <response name="error" type="view" value="EditSubscription"/>
+    </request-map>
+    <request-map uri="updateSubscription">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateSubscription"/>
+        <response name="success" type="view" value="EditSubscription"/>
+        <response name="error" type="view" value="EditSubscription"/>
+    </request-map>
+    
+    <!-- ================ SubscriptionResource Requests ================= -->
+    <request-map uri="FindSubscriptionResource"><security https="true" auth="true"/><response name="success" type="view" value="FindSubscriptionResource"/></request-map>
+    <request-map uri="EditSubscriptionResource"><security https="true" auth="true"/><response name="success" type="view" value="EditSubscriptionResource"/></request-map>
+    <request-map uri="createSubscriptionResource">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createSubscriptionResource"/>
+        <response name="success" type="view" value="EditSubscriptionResource"/>
+        <response name="error" type="view" value="EditSubscriptionResource"/>
+    </request-map>
+    <request-map uri="updateSubscriptionResource">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateSubscriptionResource"/>
+        <response name="success" type="view" value="EditSubscriptionResource"/>
+        <response name="error" type="view" value="EditSubscriptionResource"/>
+    </request-map>
+
+    <request-map uri="EditSubscriptionResourceProducts"><security https="true" auth="true"/><response name="success" type="view" value="EditSubscriptionResourceProducts"/></request-map>
+    <request-map uri="createProductSubscriptionResourceSr">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createProductSubscriptionResource"/>
+        <response name="success" type="view" value="EditSubscriptionResourceProducts"/>
+        <response name="error" type="view" value="EditSubscriptionResourceProducts"/>
+    </request-map>
+    <request-map uri="updateProductSubscriptionResourceSr">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateProductSubscriptionResource"/>
+        <response name="success" type="view" value="EditSubscriptionResourceProducts"/>
+        <response name="error" type="view" value="EditSubscriptionResourceProducts"/>
+    </request-map>
+    <request-map uri="deleteProductSubscriptionResourceSr">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="deleteProductSubscriptionResource"/>
+        <response name="success" type="view" value="EditSubscriptionResourceProducts"/>
+        <response name="error" type="view" value="EditSubscriptionResourceProducts"/>
+    </request-map>
+    
     <!-- ================ ProductPromo Rules Requests ================= -->
     <request-map uri="EditProductPromoRules">
         <security https="true" auth="true"/>
@@ -2082,6 +2155,8 @@
     <request-map uri="LookupFixedAsset"><security auth="true" https="true"/><response name="success" type="view" value="LookupFixedAsset"/></request-map>
     <request-map uri="LookupPartyName"><security auth="true" https="true"/><response name="success" type="view" value="LookupPartyName"/></request-map>
     <request-map uri="LookupGeo"><security auth="true" https="true"/><response name="success" type="view" value="LookupGeo"/></request-map>
+    <request-map uri="LookupOrderHeader"><security auth="true" https="true"/><response name="success" type="view" value="LookupOrderHeader"/></request-map>
+    <request-map uri="LookupCommEvent"><security auth="true" https="true"/><response name="success" type="view" value="LookupCommEvent"/></request-map>
     
     <request-map uri="LookupProduct"><security auth="true" https="true"/><response name="success" type="view" value="LookupProduct"/></request-map>
     <request-map uri="LookupVariantProduct"><security auth="true" https="true"/><response name="success" type="view" value="LookupVariantProduct"/></request-map>
@@ -2149,6 +2224,13 @@
     <view-map name="CreateVirtualWithVariantsForm" type="screen" page="component://product/widget/catalog/ProductScreens.xml#CreateVirtualWithVariantsForm"/>
     <view-map name="EditProductMaints" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductMaints"/>
     <view-map name="EditProductMeters" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductMeters"/>
+    <view-map name="EditProductSubscriptionResources" type="screen" page="component://product/widget/catalog/ProductScreens.xml#EditProductSubscriptionResources"/>
+
+    <view-map name="FindSubscription" type="screen" page="component://product/widget/catalog/SubscriptionScreens.xml#FindSubscription"/>
+    <view-map name="EditSubscription" type="screen" page="component://product/widget/catalog/SubscriptionScreens.xml#EditSubscription"/>
+    <view-map name="FindSubscriptionResource" type="screen" page="component://product/widget/catalog/SubscriptionScreens.xml#FindSubscriptionResource"/>
+    <view-map name="EditSubscriptionResource" type="screen" page="component://product/widget/catalog/SubscriptionScreens.xml#EditSubscriptionResource"/>
+    <view-map name="EditSubscriptionResourceProducts" type="screen" page="component://product/widget/catalog/SubscriptionScreens.xml#EditSubscriptionResourceProducts"/>
     
     <view-map name="EditFeature" type="screen" page="component://product/widget/catalog/FeatureScreens.xml#EditFeature"/>
     <view-map name="EditFeatureCategories" type="screen" page="component://product/widget/catalog/FeatureScreens.xml#EditFeatureCategories"/>
@@ -2205,6 +2287,8 @@
     <view-map name="LookupFixedAsset" type="screen" page="component://accounting/widget/LookupScreens.xml#LookupFixedAsset"/>
     <view-map name="LookupPartyName" type="screen" page="component://party/widget/partymgr/LookupScreens.xml#LookupPartyName"/>
     <view-map name="LookupGeo" type="screen" page="component://common/widget/LookupScreens.xml#LookupGeo"/>
+    <view-map name="LookupOrderHeader" type="screen" page="component://order/widget/ordermgr/LookupScreens.xml#LookupOrderHeader"/>
+    <view-map name="LookupCommEvent" type="screen" page="component://party/widget/partymgr/LookupScreens.xml#LookupCommEvent"/>
     
     <view-map name="LookupProduct" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProduct"/>
     <view-map name="LookupVariantProduct" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupVariantProduct"/>
@@ -2213,6 +2297,5 @@
     <view-map name="LookupProductFeature" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductFeature"/>
     <view-map name="LookupProductStore" type="screen" page="component://product/widget/catalog/LookupScreens.xml#LookupProductStore"/>
     <view-map name="LookupFacilityLocation" page="component://product/widget/facility/LookupScreens.xml#LookupFacilityLocation" type="screen"/>
-
     <!-- end of view mappings -->
 </site-conf>

Modified: incubator/ofbiz/trunk/applications/product/webapp/catalog/includes/appheader.ftl
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/webapp/catalog/includes/appheader.ftl?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/webapp/catalog/includes/appheader.ftl (original)
+++ incubator/ofbiz/trunk/applications/product/webapp/catalog/includes/appheader.ftl Tue Jul  4 22:31:23 2006
@@ -1,5 +1,5 @@
 <#--
- *  Copyright (c) 2003 The Open For Business Project - www.ofbiz.org
+ *  Copyright (c) 2003-2006 The Open For Business Project - www.ofbiz.org
  *
  *  Permission is hereby granted, free of charge, to any person obtaining a
  *  copy of this software and associated documentation files (the "Software"),
@@ -44,6 +44,7 @@
   <div class="col"><a href="<@ofbizUrl>editKeywordThesaurus</@ofbizUrl>" class="${selectedLeftClassMap.thesaurus?default(unselectedLeftClassName)}">${uiLabelMap.ProductThesaurus}</a></div>
   <div class="col"><a href="<@ofbizUrl>pendingReviews</@ofbizUrl>" class="${selectedLeftClassMap.reviews?default(unselectedLeftClassName)}">${uiLabelMap.ProductReviews}</a></div>
   <div class="col"><a href="<@ofbizUrl>FindProductConfigItems</@ofbizUrl>" class="${selectedLeftClassMap.configs?default(unselectedLeftClassName)}">${uiLabelMap.ProductConfigItems}</a></div>
+  <div class="col"><a href="<@ofbizUrl>FindSubscription</@ofbizUrl>" class="${selectedLeftClassMap.Subscription?default(unselectedLeftClassName)}">${uiLabelMap.ProductSubscriptions}</a></div>
 
   <#if userLogin?has_content>
     <div class="col-right"><a href="<@ofbizUrl>logout</@ofbizUrl>" class="${selectedRightClassMap.logout?default(unselectedRightClassName)}">${uiLabelMap.CommonLogout}</a></div>

Modified: incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductForms.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductForms.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductForms.xml (original)
+++ incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductForms.xml Tue Jul  4 22:31:23 2006
@@ -85,7 +85,7 @@
         <field position="1" name="requireInventory" title="${uiLabelMap.ProductRequireInventory}" widget-style="selectBox" tooltip="${uiLabelMap.ProductInventoryRequiredProduct}">
             <drop-down allow-empty="true"><option key="Y" description="${uiLabelMap.CommonY}"/><option key="N" description="${uiLabelMap.CommonN}"/></drop-down>
         </field>
-        <field position="2" name="inventoryMessage"  title="${uiLabelMap.ProductInventoryMessage}"><text size="20" maxlength="255"/></field>
+        <field position="2" name="inventoryMessage" title="${uiLabelMap.ProductInventoryMessage}"><text size="20" maxlength="255"/></field>
 
         <field position="1" name="ratingTypeEnum" title="${uiLabelMap.ProductRatingTypeEnum}">
             <drop-down allow-empty="true">
@@ -135,7 +135,7 @@
             </drop-down>
         </field>
         <field position="1" name="weight" title="${uiLabelMap.ProductWeight}"><text size="10" maxlength="20"/></field>
-        <field position="2" name="weightUomId"  title="${uiLabelMap.ProductWeightUomId}">
+        <field position="2" name="weightUomId" title="${uiLabelMap.ProductWeightUomId}">
             <drop-down allow-empty="true">
                 <entity-options entity-name="Uom" key-field-name="uomId" description="${description} [${abbreviation}]">
                     <entity-constraint name="uomTypeId" value="WEIGHT_MEASURE"/>
@@ -143,7 +143,7 @@
                 </entity-options>
             </drop-down>
         </field>
-        <field position="1" name="quantityIncluded"  title="${uiLabelMap.ProductQuantityIncluded}"><text size="10" maxlength="20"/></field>
+        <field position="1" name="quantityIncluded" title="${uiLabelMap.ProductQuantityIncluded}"><text size="10" maxlength="20"/></field>
         <field position="2" name="quantityUomId" title="${uiLabelMap.ProductQuantityUomId}">
             <drop-down allow-empty="true">
                 <entity-options entity-name="Uom" key-field-name="uomId" description="${description} [${abbreviation}]">
@@ -154,7 +154,7 @@
         </field>
         <field position="1" name="piecesIncluded" title="${uiLabelMap.ProductPiecesIncluded}"><text size="10" maxlength="20"/></field>
 
-        <field position="1" name="returnable"  title="${uiLabelMap.ProductReturnable}" widget-style="selectBox">
+        <field position="1" name="returnable" title="${uiLabelMap.ProductReturnable}" widget-style="selectBox">
             <drop-down allow-empty="true"><option key="Y" description="${uiLabelMap.CommonY}"/><option key="N" description="${uiLabelMap.CommonN}"/></drop-down>
         </field>
         <field position="2" name="includeInPromotions" title="${uiLabelMap.ProductIncludePromotions}" widget-style="selectBox">
@@ -451,8 +451,8 @@
         <field name="useRoleTypeId" title="${uiLabelMap.ProductUseRole}"></field>
         <field name="description" title="${uiLabelMap.ProductDescription}" map-name="content"><text size="40"/></field>
         <field name="subject" title="${uiLabelMap.ProductSubject}" map-name="emailData"><text size="40"/></field>
-        <field name="plainBody" title="${uiLabelMap.ContentPlainBody}" widget-style="textAreaBox"  map-name="emailData"><textarea cols="60" rows="7"/></field>
-        <field name="htmlBody" title="${uiLabelMap.ContentHtmlBody}" widget-style="textAreaBox"  map-name="emailData"><textarea cols="60" rows="7"/></field>
+        <field name="plainBody" title="${uiLabelMap.ContentPlainBody}" widget-style="textAreaBox" map-name="emailData"><textarea cols="60" rows="7"/></field>
+        <field name="htmlBody" title="${uiLabelMap.ContentHtmlBody}" widget-style="textAreaBox" map-name="emailData"><textarea cols="60" rows="7"/></field>
         <field use-when="contentId == null" name="contentId" title="${uiLabelMap.ProductContentId}" tooltip="${uiLabelMap.ProductOptional}"><text maxlength="20"/></field>
         <field use-when="contentId != null" name="contentId" title="${uiLabelMap.ProductContentId}" tooltip="${uiLabelMap.ProductNotModificationRecrationProductContentAssociation}" map-name="productContentData" ><display/></field>
         <field name="productId"><hidden/></field>
@@ -483,7 +483,7 @@
             </drop-down>
         </field>
         <field name="useRoleTypeId" title="${uiLabelMap.ProductUseRole}"></field>
-        <field name="description"  title="${uiLabelMap.ProductDescription}" map-name="content"><text size="40"/></field>
+        <field name="description" title="${uiLabelMap.ProductDescription}" map-name="content"><text size="40"/></field>
         <field use-when="contentId == null" name="contentId" title="${uiLabelMap.ProductContentId}" tooltip="${uiLabelMap.ProductOptional}"><text maxlength="20"/></field>
         <field use-when="contentId != null" name="contentId" title="${uiLabelMap.ProductContentId}" tooltip="${uiLabelMap.ProductNotModificationRecrationProductContentAssociation}" map-name="productContentData" ><display/></field>
         <field name="file" title="${uiLabelMap.ProductFile}" map-name="downloadData"><text size="40"/></field>
@@ -610,7 +610,7 @@
         <field name="quantityUomId"><display-entity entity-name="Uom" key-field-name="uomId"/></field>
         <field name="supplierCommissionPerc" title="Comm. Perc."><display/></field>
         <field name="lastPrice" widget-area-style="tabletextright"
-            header-link="EditProductSuppliers?productId=${productId}&amp;orderBy=lastPrice"  header-link-style="buttontext">
+            header-link="EditProductSuppliers?productId=${productId}&amp;orderBy=lastPrice" header-link-style="buttontext">
                 <display type="currency" currency="${currencyUomId}"/>
         </field>
         <field name="updateLink" title="" widget-style="buttontext">
@@ -684,9 +684,9 @@
 
     </form>
 
-    <!-- linked fixed assetcs -->
-    <form name="ListProductFixedAssets" type="list"  list-name="fixedAssetProducts"  target="updateFixedAssetProduct"
-            default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext"  >
+    <!-- linked fixed assets -->
+    <form name="ListProductFixedAssets" type="list" list-name="fixedAssetProducts" target="updateFixedAssetProduct"
+            default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext" >
 
         <!-- <display-entity entity-name="FixedAsset" description="${fixedAssetName}[${fixedAssetId}]"/> -->
 
@@ -706,7 +706,7 @@
     </form>
 
     <!-- create a fixed Asset link on a product -->
-    <form name="addFixedAssetProduct" type="single" target="addFixedAssetProduct" title=""  
+    <form name="addFixedAssetProduct" type="single" target="addFixedAssetProduct" title=""
             default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
 
         <field name="productId"><hidden/></field>
@@ -953,7 +953,7 @@
         </field>
         <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
-    <form name="ListProductMaints" type="list"  list-name="productMaints"  target="updateProductMaint"
+    <form name="ListProductMaints" type="list" list-name="productMaints" target="updateProductMaint"
             default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
         <actions>
             <entity-condition entity-name="ProductMaint">
@@ -1016,7 +1016,7 @@
         <field name="meterName"><text size="20" /></field>
         <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
-    <form name="ListProductMeters" type="list"  list-name="productMeters"  target="updateProductMeter"
+    <form name="ListProductMeters" type="list" list-name="productMeters" target="updateProductMeter"
             default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
         <actions>
             <entity-condition entity-name="ProductMeter">
@@ -1076,5 +1076,71 @@
                 description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
         </field>
     </form>
-</forms>
 
+    <!-- ProductSubscriptionResource -->
+    <form name="ListProductSubscriptionResources" type="list" list-name="productSubscriptionResources" target="updateProductSubscriptionResource"
+        default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
+        <actions>
+            <entity-condition entity-name="ProductSubscriptionResource">
+                <condition-expr field-name="productId" env-name="productId"/>
+                <order-by field-name="subscriptionResourceId"/>
+            </entity-condition>
+        </actions>
+        <auto-fields-service service-name="updateProductSubscriptionResource"/>
+        
+        <field name="productId"><hidden/></field>
+        <field name="subscriptionResourceId" title="${uiLabelMap.ExampleFeature}" widget-style="tabletext">
+            <display-entity entity-name="SubscriptionResource" description="${description}">
+                <sub-hyperlink target="EditSubscriptionResource?subscriptionResourceId=${subscriptionResourceId}" description="${exampleFeatureId}" link-style="buttontext"/>
+            </display-entity>
+        </field>
+        <field name="fromDate"><display/></field>
+        
+        <field name="useTimeUomId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Uom" description="${description} (${abbreviation})">
+                    <entity-constraint name="uomTypeId" value="TIME_FREQ_MEASURE"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="useRoleTypeId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="RoleType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
+        <field name="deleteLink" widget-style="buttontext">
+            <hyperlink target="deleteProductSubscriptionResource?productId=${productId}&amp;subscriptionResourceId=${subscriptionResourceId}&amp;fromDate=${fromDate}"
+                description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
+        </field>
+    </form>
+    <form name="AddProductSubscriptionResource" type="single"
+        target="example_createProductSubscriptionResource"
+        default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
+        <auto-fields-service service-name="createProductSubscriptionResource"/>
+        
+        <field name="exampleId"><hidden/></field>
+        <field name="exampleFeatureId" title="${uiLabelMap.ExampleFeature}"><lookup target-form-name="LookupExampleFeature"/></field>
+        <field name="useTimeUomId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Uom" description="${description} (${abbreviation})">
+                    <entity-constraint name="uomTypeId" value="TIME_FREQ_MEASURE"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="useRoleTypeId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="RoleType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="submitButton" title="${uiLabelMap.CommonAdd}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+</forms>

Modified: incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl (original)
+++ incubator/ofbiz/trunk/applications/product/webapp/catalog/product/ProductTabBar.ftl Tue Jul  4 22:31:23 2006
@@ -49,6 +49,7 @@
         <a href="<@ofbizUrl>EditProductPaymentMethodTypes?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductPaymentMethodTypes?default(unselectedClassName)}">${uiLabelMap.ProductPaymentTypes}</a>
         <a href="<@ofbizUrl>EditProductMaints?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductMaints?default(unselectedClassName)}">${uiLabelMap.ProductMaintenance}</a>
         <a href="<@ofbizUrl>EditProductMeters?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductMeters?default(unselectedClassName)}">${uiLabelMap.ProductMeters}</a>
+        <a href="<@ofbizUrl>EditProductSubscriptionResources?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductSubscriptionResources?default(unselectedClassName)}">${uiLabelMap.ProductSubscriptionResources}</a>
         <a href="<@ofbizUrl>EditProductQuickAdmin?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.EditProductQuickAdmin?default(unselectedClassName)}">${uiLabelMap.ProductQuickAdmin}</a>
         <#if product?exists && product.isVirtual?if_exists == "Y">
             <a href="<@ofbizUrl>QuickAddVariants?productId=${productId}</@ofbizUrl>" class="${selectedClassMap.QuickAddVariants?default(unselectedClassName)}">${uiLabelMap.ProductVariants}</a>

Modified: incubator/ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml (original)
+++ incubator/ofbiz/trunk/applications/product/widget/catalog/CatalogCommonScreens.xml Tue Jul  4 22:31:23 2006
@@ -61,7 +61,7 @@
                 <entity-one entity-name="Product" value-name="product"/>
             </actions>
             <widgets>
-                <decorator-screen name="main-decorator"  location="${parameters.mainDecoratorLocation}">
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
                         <section>
                             <!-- do check for CATALOG, _VIEW permission -->

Modified: incubator/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml?rev=419166&r1=419165&r2=419166&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml (original)
+++ incubator/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml Tue Jul  4 22:31:23 2006
@@ -832,5 +832,22 @@
             </widgets>
         </section>
     </screen>
-    
+
+    <screen name="EditProductSubscriptionResources">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleEditProductSubscriptionResources"/>
+                <set field="tabButtonItem" value="EditProductSubscriptionResources"/>
+                <set field="productId" from-field="parameters.productId"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <include-form name="ListProductSubscriptionResources" location="component://product/webapp/catalog/product/ProductForms.xml"/>
+                        <include-form name="AddProductSubscriptionResource" location="component://product/webapp/catalog/product/ProductForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
 </screens>

Added: incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionForms.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionForms.xml?rev=419166&view=auto
==============================================================================
--- incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionForms.xml (added)
+++ incubator/ofbiz/trunk/applications/product/widget/catalog/SubscriptionForms.xml Tue Jul  4 22:31:23 2006
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+$Id: $
+
+Copyright 2006-2006 The Apache Software Foundation
+
+Licensed 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.
+-->
+
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-form.xsd">
+
+    <!-- Subscription Forms -->
+    <form name="FindSubscription" default-map-name="subscription" target="FindSubscription" type="single"
+        default-title-style="tableheadtext" default-tooltip-style="tabletext" default-widget-style="inputBox">
+        <auto-fields-entity entity-name="Subscription" default-field-type="find"/>
+        
+        <field name="subscriptionResourceId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="SubscriptionResource" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="subscriptionTypeId" title="${uiLabelMap.ProductSubscription} ${uiLabelMap.CommonType}" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="SubscriptionType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+
+        <field name="originatedFromPartyId"><lookup target-form-name="LookupPartyName"/></field>
+        <field name="originatedFromRoleTypeId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="RoleType" description="${description}" key-field-name="roleTypeId">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="partyId"><lookup target-form-name="LookupPartyName"/></field>
+        <field name="roleTypeId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="RoleType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="orderId"><lookup target-form-name="LookupOrderHeader"/></field>
+        <field name="productId"><lookup target-form-name="LookupProduct"/></field>
+        <field name="productCategoryId"><lookup target-form-name="LookupProductCategory"/></field>
+        <field name="communicationEventId"><lookup target-form-name="LookupCommEvent"/></field>
+        
+        <field name="partyNeedId"><ignored/></field>
+        <field name="needTypeId"><ignored/></field>
+        
+        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
+        <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="ListFindSubscription" default-title-style="tableheadtext" default-tooltip-style="tabletext" default-widget-style="tabletext"
+        target="" type="list" paginate-target="FindSubscription" paginate="true">
+        <actions>
+            <service result-map-list-name="listIt" result-map-name="result" service-name="performFind">
+                <field-map field-name="inputFields" env-name="parameters"/>
+                <field-map field-name="entityName" value="Subscription"/>
+            </service>
+        </actions>
+        <auto-fields-entity entity-name="Subscription" default-field-type="display"/>
+
+        <field name="subscriptionResourceId" widget-style="selectBox">
+            <display-entity entity-name="SubscriptionResource" description="${description}">
+                <sub-hyperlink target="EditSubscriptionResource?subscriptionResourceId=${subscriptionResourceId}" description="${subscriptionResourceId}" link-style="buttontext"/>
+            </display-entity>
+        </field>
+        <field name="subscriptionTypeId" title="${uiLabelMap.ProductSubscription} ${uiLabelMap.CommonType}" widget-style="selectBox">
+            <display-entity entity-name="SubscriptionType" description="${description}"/>
+        </field>
+        
+        <field name="originatedFromPartyId"><display-entity entity-name="PartyNameView" description="${groupName} ${firstName} ${lastName}" key-field-name="partyId"/></field>
+        <field name="originatedFromRoleTypeId"><display-entity entity-name="RoleType" description="${description}" key-field-name="roletypeId"/></field>
+        
+        <field name="partyId"><display-entity entity-name="PartyNameView" description="${groupName} ${firstName} ${lastName}"/></field>
+        <field name="roleTypeId" widget-style="selectBox"><display-entity entity-name="RoleType" description="${description}" key-field-name="roletypeId"/></field>
+        
+        <field name="orderId"><lookup target-form-name="LookupOrderHeader"/></field>
+        <field name="productId"><lookup target-form-name="LookupProduct"/></field>
+        <field name="productCategoryId"><lookup target-form-name="LookupProductCategory"/></field>
+        <field name="communicationEventId"><lookup target-form-name="LookupCommEvent"/></field>
+        
+        <field name="partyNeedId"><ignored/></field>
+        <field name="needTypeId"><ignored/></field>
+        
+        <field name="subscriptionId" widget-style="buttontext">
+            <hyperlink description="${subscriptionId}" target="EditSubscription?subscriptionId=${subscriptionId}" also-hidden="false"/>
+        </field>
+    </form>
+    <form name="EditSubscription" type="single" target="updateSubscription" default-map-name="subscription"
+            default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
+        <alt-target use-when="subscription==null" target="createSubscription"/>
+        <auto-fields-service service-name="updateSubscription"/>
+
+        <field use-when="subscription!=null" name="subscriptionId" tooltip="${uiLabelMap.CommonNotModifRecreat}" widget-style="tabletext"><display/></field>
+        <field use-when="subscription==null&amp;&amp;subscriptionId==null" name="subscriptionId"><ignored/></field>
+        <field use-when="subscription==null&amp;&amp;subscriptionId!=null" name="subscriptionId" widget-style="tabletext"><display description="${uiLabelMap.CommonCannotBeFound}: [${subscriptionId}]" also-hidden="false"/></field>
+
+        <field name="subscriptionResourceId" widget-style="selectBox">
+            <drop-down allow-empty="false">
+                <entity-options entity-name="SubscriptionResource" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="subscriptionTypeId" title="${uiLabelMap.ProductSubscription} ${uiLabelMap.CommonType}" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="SubscriptionType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="originatedFromPartyId"><lookup target-form-name="LookupPartyName"/></field>
+        <field name="originatedFromRoleTypeId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="RoleType" description="${description}" key-field-name="roleTypeId">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="partyId"><lookup target-form-name="LookupPartyName"/></field>
+        <field name="roleTypeId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="RoleType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        
+        <field name="orderId"><lookup target-form-name="LookupOrderHeader"/></field>
+        <field name="productId"><lookup target-form-name="LookupProduct"/></field>
+        <field name="productCategoryId"><lookup target-form-name="LookupProductCategory"/></field>
+        <field name="communicationEventId"><lookup target-form-name="LookupCommEvent"/></field>
+        
+        <field name="partyNeedId"><ignored/></field>
+        <field name="needTypeId"><ignored/></field>
+        
+        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+
+    <!-- SubscriptionResource Forms -->
+    <form name="ListSubscriptionResources" type="list" list-name="examples" paginate-target="FindSubscriptionResource"
+        default-title-style="tableheadtext" default-widget-style="tabletext" default-tooltip-style="tabletext">
+        <actions>
+            <entity-condition entity-name="SubscriptionResource">
+                <order-by field-name="description"/>
+            </entity-condition>
+        </actions>
+        <auto-fields-entity entity-name="SubscriptionResource" default-field-type="display"/>
+
+        <field name="parentResourceId"><ignored/></field>
+
+        <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
+        <field name="contentId">
+            <display-entity entity-name="Content" description="${contentName}">
+                <sub-hyperlink target="/content/control/EditContent?contentId=${contentId}" description="${contentId}" link-style="buttontext"/>
+            </display-entity>
+        </field>
+        <field name="webSiteId">
+            <display-entity entity-name="WebSite" description="${siteName}">
+                <sub-hyperlink target="/content/control/EditWebSite?webSiteId=${webSiteId}" description="${webSiteId}" link-style="buttontext"/>
+            </display-entity>
+        </field>
+        
+        <field name="subscriptionResourceId" widget-style="buttontext">
+            <hyperlink also-hidden="false" description="${subscriptionResourceId}" target="EditSubscriptionResource?subscriptionResourceId=${subscriptionResourceId}"/>
+        </field>
+    </form>
+    <form name="EditSubscriptionResource" type="single" target="updateSubscriptionResource" default-map-name="subscriptionResource"
+        default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
+        <alt-target use-when="subscriptionResource==null" target="createSubscriptionResource"/>
+        <auto-fields-service service-name="updateSubscriptionResource"/>
+        
+        <field use-when="subscriptionResource!=null" name="subscriptionResourceId" tooltip="${uiLabelMap.CommonNotModifRecreat}" widget-style="tabletext"><display/></field>
+        <field use-when="subscriptionResource==null&amp;&amp;subscriptionResourceId==null" name="subscriptionResourceId"><ignored/></field>
+        <field use-when="subscriptionResource==null&amp;&amp;subscriptionResourceId!=null" name="subscriptionResourceId" widget-style="tabletext"><display description="${uiLabelMap.CommonCannotBeFound}: [${subscriptionResourceId}]" also-hidden="false"/></field>
+
+        <field name="parentResourceId"><ignored/></field>
+        
+        <field name="description" title="${uiLabelMap.CommonDescription}"/>
+        <field name="contentId"><lookup target-form-name="LookupContent"/></field>
+        <field name="webSiteId" widget-style="selectBox">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="WebSite" description="${siteName} [${webSiteId}]">
+                    <entity-order-by field-name="siteName"/>
+                </entity-options>
+            </drop-down>
+        </field>        
+        
+        <field name="submitButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    
+    <!-- ProductSubscriptionResource -->
+    <form name="ListSubscriptionResourceProducts" type="list"  list-name="productSubscriptionResource"  target="updateProductSubscriptionResourceSr"
+        default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext">
+        <actions>
+            <entity-condition entity-name="ProductSubscriptionResource">
+                <conditi