You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2008/08/25 16:54:28 UTC

svn commit: r688741 - in /ofbiz/trunk/applications: party/webapp/partymgr/party/PartyForms.xml workeffort/entitydef/entitymodel.xml workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

Author: hansbak
Date: Mon Aug 25 07:54:27 2008
New Revision: 688741

URL: http://svn.apache.org/viewvc?rev=688741&view=rev
Log:
OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system,  and import the export file

Modified:
    ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
    ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
    ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008
@@ -291,6 +291,9 @@
     <!-- PartyRate -->
     <form name="AddPartyRate" type="single" target="createPartyRate"
         focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table">
+        <actions>
+            <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
+        </actions>
         <auto-fields-service service-name="createPartyRate"/>
         <field name="partyId"><hidden/></field>
         <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
@@ -306,6 +309,14 @@
                 <option key="Y"/>
             </drop-down>
         </field>
+        <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}">
+            <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}">
+                <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom">
+                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
+                    <entity-order-by field-name="abbreviation"/>
+                </entity-options>
+            </drop-down>
+        </field>
         <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
     </form>
 
@@ -322,9 +333,10 @@
         <field name="partyId"><hidden/></field>
         <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field>
         <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
+        <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field>
         <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
         <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit">
-            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;fromDate=${fromDate}"
+            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;currencyUomId=${currencyUomId}&amp;fromDate=${fromDate}"
                 description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
         </field>
     </form>

Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008
@@ -46,12 +46,14 @@
             title="Party Rate Entity">
       <field name="partyId" type="id-ne"></field>
       <field name="rateTypeId" type="id-ne"></field>
+      <field name="currencyUomId" type="id-ne"/>
       <field name="defaultRate" type="indicator"></field>
       <field name="fromDate" type="date-time"></field>
       <field name="thruDate" type="date-time"></field>
       <field name="rate" type="currency-amount"></field>
       <prim-key field="partyId"/>
       <prim-key field="rateTypeId"/>
+      <prim-key field="currencyUomId"/>
       <prim-key field="fromDate"/>
       <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party">
         <key-map field-name="partyId"/>
@@ -59,6 +61,9 @@
       <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType">
         <key-map field-name="rateTypeId"/>
       </relation>
+      <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
+        <key-map field-name="currencyUomId" rel-field-name="uomId"/>
+      </relation>
     </entity>
     <entity entity-name="RateType"
             package-name="org.ofbiz.workeffort.timesheet"

Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff
==============================================================================
--- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original)
+++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008
@@ -244,10 +244,12 @@
         
         <!-- no rateAmount yet, try PartyRate -->
         <if-empty field="rateAmount">
+            <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
             <entity-condition entity-name="PartyRate" list-name="partyRateList">
                 <condition-list combine="and">
                     <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
                     <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
+                    <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/>
                 </condition-list>
                 <order-by field-name="-fromDate"/>
             </entity-condition>



Re: svn commit: r688741 - in /ofbiz/trunk/applications: party/webapp/partymgr/party/PartyForms.xml workeffort/entitydef/entitymodel.xml workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

Posted by Hans Bakker <ma...@antwebsystems.com>.
Hi David,
yes you are right i missed that part about migration. That we should
give migration info, sure, i completely agree with that. I was looking
for a migration page and could not find any.

So i created a start of such a page:
http://docs.ofbiz.org/display/OFBTECH/Upgrading+OFBiz+from+earlier
+revisions

It is sometimes extremely difficult to extract this kind of info from
the log file so i tried to get that from the last 6 months or so.

I also added the migration info to the change i did.

please see my comment about the currency code in the partyRate table in
the ofbiz issue I created almost a week ago:
https://issues.apache.org/jira/browse/OFBIZ-1927

regards,
Hans

On Mon, 2008-08-25 at 18:06 -0600, David E. Jones wrote:
> Hans,
> 
> It has been discussed a bit recently, but I know it's easy to miss so I'm writing to remind you...
> 
> Whenever changing a primary key for an entity we need to follow the Deprecation Pattern described in this document:
> 
> http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview
> 
> The upgrade path needs to be something more than a manual upgrade like this.
> 
> What's more, this should have been explicitly discussed on the mailing list so that others could more easily share their 
> thoughts and opinions.
> 
> For example, why not just have different RateTypes for the different currencies, why do we need it explicitly on the 
> entity? And even if we need or want it on the entity, why does it have to be part of the primary key?
> 
> -David
> 
> 
> hansbak@apache.org wrote:
> > Author: hansbak
> > Date: Mon Aug 25 07:54:27 2008
> > New Revision: 688741
> > 
> > URL: http://svn.apache.org/viewvc?rev=688741&view=rev
> > Log:
> > OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system,  and import the export file
> > 
> > Modified:
> >     ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
> >     ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
> >     ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> > 
> > Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original)
> > +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008
> > @@ -291,6 +291,9 @@
> >      <!-- PartyRate -->
> >      <form name="AddPartyRate" type="single" target="createPartyRate"
> >          focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table">
> > +        <actions>
> > +            <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
> > +        </actions>
> >          <auto-fields-service service-name="createPartyRate"/>
> >          <field name="partyId"><hidden/></field>
> >          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
> > @@ -306,6 +309,14 @@
> >                  <option key="Y"/>
> >              </drop-down>
> >          </field>
> > +        <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}">
> > +            <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}">
> > +                <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom">
> > +                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
> > +                    <entity-order-by field-name="abbreviation"/>
> > +                </entity-options>
> > +            </drop-down>
> > +        </field>
> >          <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
> >      </form>
> >  
> > @@ -322,9 +333,10 @@
> >          <field name="partyId"><hidden/></field>
> >          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field>
> >          <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
> > +        <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field>
> >          <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
> >          <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit">
> > -            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;fromDate=${fromDate}"
> > +            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;currencyUomId=${currencyUomId}&amp;fromDate=${fromDate}"
> >                  description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
> >          </field>
> >      </form>
> > 
> > Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
> > +++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008
> > @@ -46,12 +46,14 @@
> >              title="Party Rate Entity">
> >        <field name="partyId" type="id-ne"></field>
> >        <field name="rateTypeId" type="id-ne"></field>
> > +      <field name="currencyUomId" type="id-ne"/>
> >        <field name="defaultRate" type="indicator"></field>
> >        <field name="fromDate" type="date-time"></field>
> >        <field name="thruDate" type="date-time"></field>
> >        <field name="rate" type="currency-amount"></field>
> >        <prim-key field="partyId"/>
> >        <prim-key field="rateTypeId"/>
> > +      <prim-key field="currencyUomId"/>
> >        <prim-key field="fromDate"/>
> >        <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party">
> >          <key-map field-name="partyId"/>
> > @@ -59,6 +61,9 @@
> >        <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType">
> >          <key-map field-name="rateTypeId"/>
> >        </relation>
> > +      <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
> > +        <key-map field-name="currencyUomId" rel-field-name="uomId"/>
> > +      </relation>
> >      </entity>
> >      <entity entity-name="RateType"
> >              package-name="org.ofbiz.workeffort.timesheet"
> > 
> > Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff
> > ==============================================================================
> > --- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original)
> > +++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008
> > @@ -244,10 +244,12 @@
> >          
> >          <!-- no rateAmount yet, try PartyRate -->
> >          <if-empty field="rateAmount">
> > +            <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
> >              <entity-condition entity-name="PartyRate" list-name="partyRateList">
> >                  <condition-list combine="and">
> >                      <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
> >                      <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
> > +                    <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/>
> >                  </condition-list>
> >                  <order-by field-name="-fromDate"/>
> >              </entity-condition>
> > 
> > 


Re: svn commit: r688741 - in /ofbiz/trunk/applications: party/webapp/partymgr/party/PartyForms.xml workeffort/entitydef/entitymodel.xml workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml

Posted by "David E. Jones" <jo...@hotwaxmedia.com>.
Hans,

It has been discussed a bit recently, but I know it's easy to miss so I'm writing to remind you...

Whenever changing a primary key for an entity we need to follow the Deprecation Pattern described in this document:

http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview

The upgrade path needs to be something more than a manual upgrade like this.

What's more, this should have been explicitly discussed on the mailing list so that others could more easily share their 
thoughts and opinions.

For example, why not just have different RateTypes for the different currencies, why do we need it explicitly on the 
entity? And even if we need or want it on the entity, why does it have to be part of the primary key?

-David


hansbak@apache.org wrote:
> Author: hansbak
> Date: Mon Aug 25 07:54:27 2008
> New Revision: 688741
> 
> URL: http://svn.apache.org/viewvc?rev=688741&view=rev
> Log:
> OFBIZ-1927: add currency to partyRate entity. because this is relatively small entity, export the content add the currency to the exported file, drop the table, restart the system,  and import the export file
> 
> Modified:
>     ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
>     ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
>     ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> 
> Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=688741&r1=688740&r2=688741&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml (original)
> +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Mon Aug 25 07:54:27 2008
> @@ -291,6 +291,9 @@
>      <!-- PartyRate -->
>      <form name="AddPartyRate" type="single" target="createPartyRate"
>          focus-field-name="rateTypeId" header-row-style="header-row" default-table-style="basic-table">
> +        <actions>
> +            <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
> +        </actions>
>          <auto-fields-service service-name="createPartyRate"/>
>          <field name="partyId"><hidden/></field>
>          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}">
> @@ -306,6 +309,14 @@
>                  <option key="Y"/>
>              </drop-down>
>          </field>
> +        <field name="currencyUomId" title="${uiLabelMap.ProductCurrencyUomId}">
> +            <drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}">
> +                <entity-options key-field-name="uomId" description="${abbreviation} - ${description}" entity-name="Uom">
> +                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
> +                    <entity-order-by field-name="abbreviation"/>
> +                </entity-options>
> +            </drop-down>
> +        </field>
>          <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
>      </form>
>  
> @@ -322,9 +333,10 @@
>          <field name="partyId"><hidden/></field>
>          <field name="rateTypeId" title="${uiLabelMap.TimesheetRateType}"><display-entity entity-name="RateType" also-hidden="true"/></field>
>          <field name="fromDate" title="${uiLabelMap.CommonFromDateTime}"><display/></field>
> +        <field name="currencyUomId"><display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/></field>
>          <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
>          <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="smallSubmit">
> -            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;fromDate=${fromDate}"
> +            <hyperlink target="deletePartyRate?partyId=${partyId}&amp;rateTypeId=${rateTypeId}&amp;currencyUomId=${currencyUomId}&amp;fromDate=${fromDate}"
>                  description="${uiLabelMap.CommonDelete}" also-hidden="false"/>
>          </field>
>      </form>
> 
> Modified: ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml?rev=688741&r1=688740&r2=688741&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml (original)
> +++ ofbiz/trunk/applications/workeffort/entitydef/entitymodel.xml Mon Aug 25 07:54:27 2008
> @@ -46,12 +46,14 @@
>              title="Party Rate Entity">
>        <field name="partyId" type="id-ne"></field>
>        <field name="rateTypeId" type="id-ne"></field>
> +      <field name="currencyUomId" type="id-ne"/>
>        <field name="defaultRate" type="indicator"></field>
>        <field name="fromDate" type="date-time"></field>
>        <field name="thruDate" type="date-time"></field>
>        <field name="rate" type="currency-amount"></field>
>        <prim-key field="partyId"/>
>        <prim-key field="rateTypeId"/>
> +      <prim-key field="currencyUomId"/>
>        <prim-key field="fromDate"/>
>        <relation type="one" fk-name="PRTY_RTE_PRTY" rel-entity-name="Party">
>          <key-map field-name="partyId"/>
> @@ -59,6 +61,9 @@
>        <relation type="one" fk-name="PRTY_RTE_RTTP" rel-entity-name="RateType">
>          <key-map field-name="rateTypeId"/>
>        </relation>
> +      <relation type="one" fk-name="PARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
> +        <key-map field-name="currencyUomId" rel-field-name="uomId"/>
> +      </relation>
>      </entity>
>      <entity entity-name="RateType"
>              package-name="org.ofbiz.workeffort.timesheet"
> 
> Modified: ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml?rev=688741&r1=688740&r2=688741&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml (original)
> +++ ofbiz/trunk/applications/workeffort/script/org/ofbiz/workeffort/timesheet/TimesheetServices.xml Mon Aug 25 07:54:27 2008
> @@ -244,10 +244,12 @@
>          
>          <!-- no rateAmount yet, try PartyRate -->
>          <if-empty field="rateAmount">
> +            <property-to-field field-name="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
>              <entity-condition entity-name="PartyRate" list-name="partyRateList">
>                  <condition-list combine="and">
>                      <condition-expr field-name="partyId" env-name="timeEntry.partyId"/>
>                      <condition-expr field-name="rateTypeId" env-name="timeEntry.rateTypeId"/>
> +                    <condition-expr field-name="currencyUomId" env-name="timeEntry.defaultCurrencyUomId"/>
>                  </condition-list>
>                  <order-by field-name="-fromDate"/>
>              </entity-condition>
> 
>