You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2012/11/09 19:26:20 UTC
svn commit: r1407578 - in /ofbiz/trunk:
applications/accounting/entitydef/entitymodel.xml
applications/order/entitydef/entitymodel.xml
framework/service/src/org/ofbiz/service/engine/EntityAutoEngine.java
Author: jleroux
Date: Fri Nov 9 18:26:19 2012
New Revision: 1407578
URL: http://svn.apache.org/viewvc?rev=1407578&view=rev
Log:
A patch from Nicolas Malin for "Entity-Auto Engine : manage [create|lastModified]Date field" https://issues.apache.org/jira/browse/OFBIZ-5010
When a entity have fields createDate, lastModifiedDate, createByUserLogin and updateByUserLogin, the entity-auto engine set them.
Also makes all entities that have one of fields [create|lastModified][Date|ByUserLogin] to be consistent and have four fields
Impacted entityies:
[Quote|Order|Return]Adjustment
OrderPaymentPreference
AcctgTrans
GlReconciliation
ValueLinkKey
Modified:
ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
ofbiz/trunk/applications/order/entitydef/entitymodel.xml
ofbiz/trunk/framework/service/src/org/ofbiz/service/engine/EntityAutoEngine.java
Modified: ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml?rev=1407578&r1=1407577&r2=1407578&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml Fri Nov 9 18:26:19 2012
@@ -1732,7 +1732,9 @@ under the License.
<field name="receiptId" type="id"></field>
<field name="workEffortId" type="id"></field>
<field name="theirAcctgTransId" type="id-long"></field>
+ <field name="createdDate" type="date-time"></field>
<field name="createdByUserLogin" type="id-vlong"></field>
+ <field name="lastModifiedDate" type="date-time"></field>
<field name="lastModifiedByUserLogin" type="id-vlong"></field>
<prim-key field="acctgTransId"/>
<relation type="one" fk-name="ACCTTX_TYPE" rel-entity-name="AcctgTransType">
@@ -2322,7 +2324,9 @@ under the License.
<field name="glReconciliationId" type="id-ne"></field>
<field name="glReconciliationName" type="name"></field>
<field name="description" type="description"></field>
+ <field name="createdDate" type="date-time"></field>
<field name="createdByUserLogin" type="id-vlong"></field>
+ <field name="lastModifiedDate" type="date-time"></field>
<field name="lastModifiedByUserLogin" type="id-vlong"></field>
<field name="glAccountId" type="id-ne"></field>
<field name="statusId" type="id-ne"></field>
@@ -3679,6 +3683,9 @@ under the License.
<field name="workingKey" type="very-long"></field>
<field name="workingKeyIndex" type="numeric"></field>
<field name="lastWorkingKey" type="very-long"></field>
+ <field name="createdDate" type="date-time"></field>
+ <field name="createdByTerminal" type="short-varchar"></field>
+ <field name="createdByUserLogin" type="id-vlong"></field>
<field name="lastModifiedDate" type="date-time"></field>
<field name="lastModifiedByTerminal" type="short-varchar"></field>
<field name="lastModifiedByUserLogin" type="id-vlong"></field>
Modified: ofbiz/trunk/applications/order/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel.xml?rev=1407578&r1=1407577&r2=1407578&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/order/entitydef/entitymodel.xml Fri Nov 9 18:26:19 2012
@@ -93,6 +93,8 @@ under the License.
<field name="includeInShipping" type="indicator"></field>
<field name="createdDate" type="date-time"></field>
<field name="createdByUserLogin" type="id-vlong"></field>
+ <field name="lastModifiedDate" type="date-time"></field>
+ <field name="lastModifiedByUserLogin" type="id-vlong"></field>
<field name="originalAdjustmentId" type="id">
<description>specifies relation to source OrderAdjustment - eg. for tax on shipping charges</description>
</field>
@@ -1061,6 +1063,8 @@ under the License.
<field name="needsNsfRetry" type="indicator"></field>
<field name="createdDate" type="date-time"></field>
<field name="createdByUserLogin" type="id-vlong"></field>
+ <field name="lastModifiedDate" type="date-time"></field>
+ <field name="lastModifiedByUserLogin" type="id-vlong"></field>
<prim-key field="orderPaymentPreferenceId"/>
<relation type="one" fk-name="ORDER_PMPRF_OHDR" rel-entity-name="OrderHeader">
<key-map field-name="orderId"/>
@@ -1641,6 +1645,8 @@ under the License.
<field name="includeInShipping" type="indicator"></field>
<field name="createdDate" type="date-time"></field>
<field name="createdByUserLogin" type="id-vlong"></field>
+ <field name="lastModifiedDate" type="date-time"></field>
+ <field name="lastModifiedByUserLogin" type="id-vlong"></field>
<prim-key field="quoteAdjustmentId"/>
<relation type="one" fk-name="QUOTE_ADJ_TYPE" rel-entity-name="OrderAdjustmentType">
<key-map field-name="quoteAdjustmentTypeId" rel-field-name="orderAdjustmentTypeId"/>
@@ -2338,6 +2344,8 @@ under the License.
<field name="includeInShipping" type="indicator"></field>
<field name="createdDate" type="date-time"></field>
<field name="createdByUserLogin" type="id-vlong"></field>
+ <field name="lastModifiedDate" type="date-time"></field>
+ <field name="lastModifiedByUserLogin" type="id-vlong"></field>
<prim-key field="returnAdjustmentId"/>
<relation type="one" fk-name="RETURN_ADJ_TYPE" rel-entity-name="ReturnAdjustmentType">
<key-map field-name="returnAdjustmentTypeId"/>
Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/engine/EntityAutoEngine.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/engine/EntityAutoEngine.java?rev=1407578&r1=1407577&r2=1407578&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/engine/EntityAutoEngine.java (original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/engine/EntityAutoEngine.java Fri Nov 9 18:26:19 2012
@@ -232,6 +232,21 @@ public final class EntityAutoEngine exte
}
}
+ if (modelEntity.getField("createdDate") != null) {
+ newEntity.set("createdDate", UtilDateTime.nowTimestamp());
+ if (modelEntity.getField("createdByUserLogin") != null) {
+ GenericValue userLogin = (GenericValue) parameters.get("userLogin");
+ if (userLogin != null) {
+ newEntity.set("createdByUserLogin", userLogin.get("userLoginId"));
+ if (modelEntity.getField("lastModifiedByUserLogin") != null) {
+ newEntity.set("lastModifiedByUserLogin", userLogin.get("userLoginId"));
+ }
+ }
+ }
+ if (modelEntity.getField("lastModifiedDate") != null) {
+ newEntity.set("lastModifiedDate", UtilDateTime.nowTimestamp());
+ }
+ }
newEntity.setNonPKFields(parameters, true);
newEntity.create();
} else if ("update".equals(modelService.invoke)) {
@@ -302,6 +317,16 @@ public final class EntityAutoEngine exte
// NOTE: nothing here to maintain the status history, that should be done with a custom service called by SECA rule
+ if (modelEntity.getField("lastModifiedDate") != null) {
+ lookedUpValue.set("lastModifiedDate", UtilDateTime.nowTimestamp());
+ if (modelEntity.getField("lastModifiedByUserLogin") != null) {
+ GenericValue userLogin = (GenericValue) parameters.get("userLogin");
+ if (userLogin != null) {
+ lookedUpValue.set("lastModifiedByUserLogin", userLogin.get("userLoginId"));
+ }
+ }
+ }
+
lookedUpValue.setNonPKFields(parameters, true);
lookedUpValue.store();
} else if ("delete".equals(modelService.invoke)) {