You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/07/09 17:19:53 UTC

svn commit: r554680 - in /ofbiz/trunk/applications: accounting/config/ accounting/webapp/accounting/WEB-INF/ accounting/webapp/accounting/agreement/ accounting/widget/ product/entitydef/

Author: jacopoc
Date: Mon Jul  9 08:19:51 2007
New Revision: 554680

URL: http://svn.apache.org/viewvc?view=rev&rev=554680
Log:
Added two new (non pk) fields to the SupplierProduct entity to associate supplier products to agreement items; created a new screen to manage them in the agreement item subscreens.

Modified:
    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementForms.xml
    ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementTabBar.ftl
    ofbiz/trunk/applications/accounting/widget/AgreementScreens.xml
    ofbiz/trunk/applications/product/entitydef/entitymodel.xml

Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties?view=diff&rev=554680&r1=554679&r2=554680
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties Mon Jul  9 08:19:51 2007
@@ -53,6 +53,7 @@
 AccountingAgreement=Agreement
 AccountingAgreementDate=Agreement Date
 AccountingAgreementId=Agreement Id
+AccountingAgreementIsNotSetForSupplierProducts=Please set a supplier in Agreement.partyIdTo and a currency in the AgreementItem before editing the price list
 AccountingAgreementItemSeqId=Agreement Item Seq Id
 AccountingAgreementItem=Agreement Item
 AccountingAgreementItems=Agreement Items

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?view=diff&rev=554680&r1=554679&r2=554680
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Mon Jul  9 08:19:51 2007
@@ -901,6 +901,29 @@
         <response name="error" type="view" value="EditAgreementItemProduct"/>
     </request-map>
 
+    <request-map uri="ListAgreementItemSupplierProducts"><security https="true" auth="true"/><response name="success" type="view" value="ListAgreementItemSupplierProducts"/></request-map>
+    <request-map uri="ListAgreementItemSupplierProductsReport"><security https="true" auth="true"/><response name="success" type="view" value="ListAgreementItemSupplierProductsReport"/></request-map>
+    <request-map uri="removeAgreementItemSupplierProduct">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="removeSupplierProduct"/>
+        <response name="success" type="view" value="ListAgreementItemSupplierProducts"/>
+        <response name="error" type="view" value="ListAgreementItemSupplierProducts"/>
+    </request-map>
+
+    <request-map uri="EditAgreementItemSupplierProduct"><security https="true" auth="true"/><response name="success" type="view" value="EditAgreementItemSupplierProduct"/></request-map>
+    <request-map uri="createAgreementItemSupplierProduct">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createSupplierProduct"/>
+        <response name="success" type="view" value="ListAgreementItemSupplierProducts"/>
+        <response name="error" type="view" value="EditAgreementItemSupplierProduct"/>
+    </request-map>
+    <request-map uri="updateAgreementItemSupplierProduct">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateSupplierProduct"/>
+        <response name="success" type="view" value="ListAgreementItemSupplierProducts"/>
+        <response name="error" type="view" value="EditAgreementItemSupplierProduct"/>
+    </request-map>
+
     <request-map uri="ListAgreementItemParties"><security https="true" auth="true"/><response name="success" type="view" value="ListAgreementItemParties"/></request-map>
     <request-map uri="removeAgreementItemParty">
         <security https="true" auth="true"/>
@@ -1460,6 +1483,9 @@
     <view-map name="ListAgreementItemProducts" type="screen" page="component://accounting/widget/AgreementScreens.xml#ListAgreementItemProducts"/>
     <view-map name="ListAgreementItemProductsReport" type="screenfop" page="component://accounting/widget/AgreementScreens.xml#ListAgreementItemProductsReport" content-type="application/pdf" encoding="none"/>
     <view-map name="EditAgreementItemProduct" type="screen" page="component://accounting/widget/AgreementScreens.xml#EditAgreementItemProduct"/>
+    <view-map name="ListAgreementItemSupplierProducts" type="screen" page="component://accounting/widget/AgreementScreens.xml#ListAgreementItemSupplierProducts"/>
+    <view-map name="ListAgreementItemSupplierProductsReport" type="screenfop" page="component://accounting/widget/AgreementScreens.xml#ListAgreementItemSupplierProductsReport" content-type="application/pdf" encoding="none"/>
+    <view-map name="EditAgreementItemSupplierProduct" type="screen" page="component://accounting/widget/AgreementScreens.xml#EditAgreementItemSupplierProduct"/>
     <view-map name="ListAgreementItemParties" type="screen" page="component://accounting/widget/AgreementScreens.xml#ListAgreementItemParties"/>
     <view-map name="EditAgreementItemParty" type="screen" page="component://accounting/widget/AgreementScreens.xml#EditAgreementItemParty"/>
     <view-map name="ListAgreementGeographicalApplic" type="screen" page="component://accounting/widget/AgreementScreens.xml#ListAgreementGeographicalApplic"/>

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementForms.xml?view=diff&rev=554680&r1=554679&r2=554680
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementForms.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementForms.xml Mon Jul  9 08:19:51 2007
@@ -247,6 +247,24 @@
             <hyperlink target="removeAgreementItemProduct?productId=${productId}&amp;agreementId=${agreementId}&amp;agreementItemSeqId=${agreementItemSeqId}" description="${uiLabelMap.CommonRemove}" also-hidden="false"/>
         </field>
     </form>
+    <form name="ListAgreementItemSupplierProducts" list-name="agreementProducts" target="" title="" type="list" paginate-target="ListAgreementItemSupplierProducts">
+        <auto-fields-entity entity-name="SupplierProduct" default-field-type="display"/>
+        <field name="agreementId"><hidden/></field>
+        <field name="agreementItemSeqId"><hidden/></field>
+        <field name="partyId"><hidden/></field>
+        <field name="currencyUomId"><hidden/></field>
+        <field name="productId" title="${uiLabelMap.CommonEdit}" widget-style="buttontext">
+            <hyperlink also-hidden="false" description="${productId}" target="EditAgreementItemSupplierProduct?minimumOrderQuantity=${minimumOrderQuantity}&amp;currencyUomId=${currencyUomId}&amp;availableFromDate=${availableFromDate}&amp;partyId=${partyId}&amp;productId=${productId}&amp;agreementId=${agreementId}&amp;agreementItemSeqId=${agreementItemSeqId}"/>
+        </field>
+        <field name="internalName" entry-name="productId">
+            <display-entity entity-name="Product" key-field-name="productId" description="${internalName}"/>
+        </field>
+        <field name="lastPrice" widget-area-style="align-text"><display/></field>
+        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
+            <hyperlink target="removeAgreementItemSupplierProduct?minimumOrderQuantity=${minimumOrderQuantity}&amp;currencyUomId=${currencyUomId}&amp;availableFromDate=${availableFromDate}&amp;partyId=${partyId}&amp;productId=${productId}&amp;agreementId=${agreementId}&amp;agreementItemSeqId=${agreementItemSeqId}" description="${uiLabelMap.CommonRemove}" also-hidden="false"/>
+        </field>
+    </form>
+
     <form name="ViewAgreementInfoForReport" type="single" title="" default-map-name="agreement">
         <field name="agreementId"><text/></field>
         <field name="partyIdFrom"><text/></field>
@@ -268,6 +286,14 @@
         </field>
         <field name="price" title-area-style="tableheadmedium" widget-area-style="tabletextright"><display/></field>
     </form>
+    <form name="ListAgreementItemSupplierProductsForReport" list-name="agreementProducts" target="" title="" type="list">
+        <field name="productId" title-area-style="tableheadmedium"><display/></field>
+        <field name="supplierProductId" title-area-style="tableheadmedium"><display/></field>
+        <field name="internalName" entry-name="productId">
+            <display-entity entity-name="Product" key-field-name="productId" description="${internalName}"/>
+        </field>
+        <field name="lastPrice" title-area-style="tableheadmedium" widget-area-style="tabletextright"><display/></field>
+    </form>
     <form name="EditAgreementItemProduct" type="single" target="updateAgreementItemProduct" title="" default-map-name="agreementProductAppl">
         <alt-target use-when="agreementProductAppl==null" target="createAgreementItemProduct"/>
         <auto-fields-entity entity-name="AgreementProductAppl" default-field-type="edit"/>
@@ -278,6 +304,57 @@
         </field>
         <field name="productId" use-when="agreementProductAppl!=null"><display/></field>
         <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit">
+            <submit button-type="button"/>
+        </field>
+    </form>
+    <form name="EditAgreementItemSupplierProduct" type="single" target="updateAgreementItemSupplierProduct" title="" default-map-name="agreementProductAppl">
+        <alt-target use-when="agreementProductAppl==null" target="createAgreementItemSupplierProduct"/>
+        <auto-fields-entity entity-name="SupplierProduct" default-field-type="edit"/>
+        <field name="agreementId"><hidden/></field>
+        <field name="agreementItemSeqId"><hidden/></field>
+        <field name="partyId"><hidden value="${agreement.partyIdTo}"/></field>
+        <field name="currencyUomId"><hidden value="${agreementItem.currencyUomId}"/></field>
+        <field name="availableFromDate" use-when="agreementProductAppl==null">
+            <!--<date-time default-value="${bsh: org.ofbiz.base.util.UtilDateTime.nowTimestamp()}"/>-->
+            <date-time default-value="${agreement.fromDate}"/>
+        </field>
+        <field name="availableFromDate" use-when="agreementProductAppl!=null">
+            <display/>
+        </field>
+        <field name="minimumOrderQuantity" use-when="agreementProductAppl==null">
+            <text default-value="0" size="5"/>
+        </field>
+        <field name="minimumOrderQuantity" use-when="agreementProductAppl!=null">
+            <display/>
+        </field>
+        <field name="productId" use-when="agreementProductAppl==null">
+            <lookup target-form-name="LookupProduct"/>
+        </field>
+        <field name="productId" use-when="agreementProductAppl!=null"><display/></field>
+        <field name="supplierPrefOrderId">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="SupplierPrefOrder" key-field-name="supplierPrefOrderId" description="${description}">
+                    <entity-order-by field-name="supplierPrefOrderId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="supplierRatingTypeId">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="SupplierRatingType" key-field-name="supplierRatingTypeId" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="quantityUomId" title="${uiLabelMap.ProductQuantityUomId}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="UomAndType" key-field-name="uomId" description="${typeDescription}: ${description} (${abbreviation})">
+                    <entity-constraint name="uomTypeId" operator="not-equals" value="CURRENCY_MEASURE"/>
+                    <entity-order-by field-name="typeDescription"/>
+                    <entity-order-by field-name="uomId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" title="${uiLabelMap.CommonSubmit}">
             <submit button-type="button"/>
         </field>
     </form>

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementTabBar.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementTabBar.ftl?view=diff&rev=554680&r1=554679&r2=554680
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementTabBar.ftl (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/agreement/AgreementTabBar.ftl Mon Jul  9 08:19:51 2007
@@ -34,7 +34,11 @@
       <li<#if selected == "EditAgreementItem"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.AccountingAgreementItem}</a></li>
       <li<#if selected == "ListAgreementPromoAppls"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.AccountingAgreementPromoAppls}</a></li>
       <li<#if selected == "ListAgreementItemTerms"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.AccountingAgreementItemTerms}</a></li>
+      <#if agreement.agreementTypeId == "PURCHASE_AGREEMENT">
+      <li<#if selected == "ListAgreementItemSupplierProducts"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.ProductProducts}</a></li>
+      <#else>
       <li<#if selected == "ListAgreementItemProducts"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.ProductProducts}</a></li>
+      </#if>
       <li<#if selected == "ListAgreementItemParties"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.Party}</a></li>
       <li<#if selected == "ListAgreementGeographicalApplic"> class="selected"</#if>><a href="<@o...@ofbizUrl>">${uiLabelMap.CommonGeo}</a></li>
     </ul>

Modified: ofbiz/trunk/applications/accounting/widget/AgreementScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/AgreementScreens.xml?view=diff&rev=554680&r1=554679&r2=554680
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/AgreementScreens.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/AgreementScreens.xml Mon Jul  9 08:19:51 2007
@@ -379,6 +379,114 @@
             </widgets>
         </section>
     </screen>
+    
+    <screen name="ListAgreementItemSupplierProducts">
+        <section>
+            <actions>
+                <set field="title" value="List Agreement Item Products"/>
+                <set field="titleProperty" value="PageTitleListAgreementItemProducts"/>
+                <set field="headerItem" value="agreement"/>
+                <set field="tabButtonItem" value="ListAgreementItemSupplierProducts"/>
+
+                <entity-one entity-name="Agreement" value-name="agreement" auto-field-map="true"/>
+                <entity-one entity-name="AgreementItem" value-name="agreementItem"/>
+                <entity-and entity-name="SupplierProduct" list-name="agreementProducts">
+                    <field-map env-name="agreement.agreementId" field-name="agreementId"/>
+                    <field-map env-name="agreementItem.agreementItemSeqId" field-name="agreementItemSeqId"/>
+                </entity-and>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonAgreementDecorator">
+                    <decorator-section name="body">
+                        <container>
+                            <link target="EditAgreementItemSupplierProduct?agreementId=${agreement.agreementId}&amp;agreementItemSeqId=${agreementItem.agreementItemSeqId}" text="${uiLabelMap.ProductNewProduct}" style="buttontext"/>
+                            <link target="ListAgreementItemSupplierProductsReport?agreementId=${agreement.agreementId}&amp;agreementItemSeqId=${agreementItem.agreementItemSeqId}" text="${uiLabelMap.CommonPrint}" style="buttontext"/>
+                        </container>
+                        <include-form name="ListAgreementItemSupplierProducts" location="component://accounting/webapp/accounting/agreement/AgreementForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="ListAgreementItemSupplierProductsReport">
+        <section>
+            <actions>
+                <set field="titleProperty" value="AccountingPageTitleAgreementPriceList"/>
+                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
+                
+                <entity-one entity-name="Agreement" value-name="agreement" auto-field-map="true"/>
+                <entity-one entity-name="AgreementItem" value-name="agreementItem"/>
+                <entity-and entity-name="SupplierProduct" list-name="agreementProducts">
+                    <field-map env-name="agreement.agreementId" field-name="agreementId"/>
+                    <field-map env-name="agreementItem.agreementItemSeqId" field-name="agreementItemSeqId"/>
+                </entity-and>
+            </actions>
+            <widgets>
+                <decorator-screen name="FoDecorator" location="component://common/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <container>
+                            <label style="head1">${uiLabelMap.AccountingAgreement}</label>
+                        </container>
+                        <include-form name="ViewAgreementInfoForReport" location="component://accounting/webapp/accounting/agreement/AgreementForms.xml"/>
+                        <container>
+                            <label style="head2">${uiLabelMap.AccountingAgreementItem}</label>
+                        </container>
+                        <include-form name="ViewAgreementItemInfoForReport" location="component://accounting/webapp/accounting/agreement/AgreementForms.xml"/>
+                        <include-form name="ListAgreementItemSupplierProductsForReport" location="component://accounting/webapp/accounting/agreement/AgreementForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="EditAgreementItemSupplierProduct">
+        <section>
+            <actions>
+                <set field="title" value="Edit Agreement Item Product"/>
+                <set field="titleProperty" value="PageTitleEditAgreementItemProduct"/>
+                <set field="headerItem" value="agreement"/>
+                <set field="tabButtonItem" value="ListAgreementItemSupplierProducts"/>
+                
+                <set field="agreementId" from-field="parameters.agreementId"/>
+                <set field="agreementItemSeqId" from-field="parameters.agreementItemSeqId"/>
+                <set field="productId" from-field="parameters.productId"/>
+
+                <entity-one entity-name="Agreement" value-name="agreement" auto-field-map="true"/>
+                <entity-one entity-name="AgreementItem" value-name="agreementItem"/>
+                <entity-one entity-name="SupplierProduct" value-name="agreementProductAppl" auto-field-map="true"/>
+            </actions>
+            <widgets>
+            <section>
+            <condition>
+                <and>
+                    <not><if-empty field-name="agreement.partyIdTo"/></not>
+                    <not><if-empty field-name="agreementItem.currencyUomId"/></not>
+                </and>
+            </condition>
+            <widgets>
+                <decorator-screen name="CommonAgreementDecorator">
+                    <decorator-section name="body">
+                        <container>
+                            <link target="EditAgreementItemSupplierProduct?agreementId=${agreement.agreementId}&amp;agreementItemSeqId=${agreementItem.agreementItemSeqId}" text="${uiLabelMap.ProductNewProduct}" style="buttontext"/>
+                        </container>
+                        <include-form name="EditAgreementItemSupplierProduct" location="component://accounting/webapp/accounting/agreement/AgreementForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+            <fail-widgets>
+                <decorator-screen name="CommonAgreementDecorator">
+                    <decorator-section name="body">
+                        <container>
+                            <label style="head2">${uiLabelMap.AccountingAgreementIsNotSetForSupplierProducts}</label>
+                        </container>
+                    </decorator-section>
+                </decorator-screen>
+            </fail-widgets>
+            </section>
+        </widgets>
+        </section>
+    </screen>
+
     <screen name="ListAgreementItemParties">
         <section>
             <actions>

Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?view=diff&rev=554680&r1=554679&r2=554680
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Mon Jul  9 08:19:51 2007
@@ -4089,6 +4089,8 @@
       <field name="orderQtyIncrements" type="floating-point"></field>
       <field name="unitsIncluded" type="floating-point"></field>
       <field name="quantityUomId" type="id"></field>
+      <field name="agreementId" type="id"></field>
+      <field name="agreementItemSeqId" type="id"></field>
       <field name="lastPrice" type="currency-precise"></field>
       <field name="currencyUomId" type="id"></field>
       <field name="supplierProductName" type="name"></field>
@@ -4118,6 +4120,10 @@
       </relation>
       <relation type="one" fk-name="SUPPL_PROD_QUOM" title="Quantity" rel-entity-name="Uom">
         <key-map field-name="quantityUomId" rel-field-name="uomId"/>
+      </relation>
+      <relation type="one" fk-name="SUPPL_PROD_AGRIT" rel-entity-name="AgreementItem">
+        <key-map field-name="agreementId"/>
+        <key-map field-name="agreementItemSeqId"/>
       </relation>
     </entity>
     <entity entity-name="SupplierProductFeature"