Author: jacopoc
Date: Thu Jun 21 07:16:58 2007
New Revision: 549490
URL: http://svn.apache.org/viewvc?view=rev&rev=549490
Log:
Added overrideOrgPartyId field to ProductPromo and InvoiceItem for associating
a promotion with a Internal Organization Party.
Modified:
ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
ofbiz/trunk/applications/product/entitydef/entitymodel.xml
ofbiz/trunk/applications/product/webapp/catalog/promo/PromoForms.xml
Modified: ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml?view=diff&rev=549490&r1=549489&r2=549490
==============================================================================
--- ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml Thu Jun 21
07:16:58 2007
@@ -1029,7 +1029,8 @@
<field name="invoiceId" type="id-ne"></field>
<field name="invoiceItemSeqId" type="id-ne"></field>
<field name="invoiceItemTypeId" type="id"></field>
- <field name="overrideGlAccountId" type="id"><!-- used to specify the
override or actual glAccountId used for the invoice, avoids problems if
configuration changes after initial posting, etc --></field>
+ <field name="overrideGlAccountId" type="id"><description>used to specify
the override or actual glAccountId used for the invoice, avoids problems if
configuration changes after initial posting, etc </description></field>
+ <field name="overrideOrgPartyId" type="id"><description>Used to specify
the organization override rather than using the
payToPartyId</description></field>
<field name="inventoryItemId" type="id"></field>
<field name="productId" type="id"></field>
<field name="productFeatureId" type="id"></field>
@@ -1081,6 +1082,9 @@
</relation>
<relation type="one" fk-name="INVOICE_ITM_TARP"
rel-entity-name="TaxAuthorityRateProduct">
<key-map field-name="taxAuthorityRateSeqId"/>
+ </relation>
+ <relation type="one" fk-name="INVCE_ITM_OVRPTY" title="OverrideOrg"
rel-entity-name="Party">
+ <key-map field-name="overrideOrgPartyId" rel-field-name="partyId"/>
</relation>
</entity>
<entity entity-name="InvoiceItemAttribute"
Modified:
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java?view=diff&rev=549490&r1=549489&r2=549490
==============================================================================
---
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
(original)
+++
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
Thu Jun 21 07:16:58 2007
@@ -532,7 +532,7 @@
amount = amount.multiply(billingQuantity);
amount = amount.setScale(decimals, rounding);
}
- if (amount.signum() != 0) {
+ if (amount.signum() != 0) {
Map createInvoiceItemAdjContext =
FastMap.newInstance();
createInvoiceItemAdjContext.put("invoiceId",
invoiceId);
createInvoiceItemAdjContext.put("invoiceItemSeqId", invoiceItemSeqId);
@@ -556,7 +556,22 @@
if
(!(adj.getString("orderAdjustmentTypeId").equals("SALES_TAX"))) {
createInvoiceItemAdjContext.put("taxableFlag",
product.get("taxable"));
}
-
+
+ // If the OrderAdjustment is associated to a
ProductPromo,
+ // and the field ProductPromo.overrideOrgPartyId
is set,
+ // copy the value to
InvoiceItem.overrideOrgPartyId: this
+ // represent an organization override for the
payToPartyId
+ if
(UtilValidate.isNotEmpty(adj.getString("productPromoId"))) {
+ try {
+ GenericValue productPromo =
adj.getRelatedOne("ProductPromo");
+ if
(UtilValidate.isNotEmpty(productPromo.getString("overrideOrgPartyId"))) {
+
createInvoiceItemAdjContext.put("overrideOrgPartyId",
productPromo.getString("overrideOrgPartyId"));
+ }
+ } catch (GenericEntityException e) {
+ Debug.logError(e, "Error looking up
ProductPromo with id [" + adj.getString("productPromoId") + "]", module);
+ }
+ }
+
Map createInvoiceItemAdjResult =
dispatcher.runSync("createInvoiceItem", createInvoiceItemAdjContext);
if
(ServiceUtil.isError(createInvoiceItemAdjResult)) {
return
ServiceUtil.returnError(UtilProperties.getMessage(resource,"AccountingErrorCreatingInvoiceItemFromOrder",locale),
null, null, createInvoiceItemAdjResult);
Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?view=diff&rev=549490&r1=549489&r2=549490
==============================================================================
--- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Thu Jun 21
07:16:58 2007
@@ -2619,11 +2619,15 @@
<field name="useLimitPerCustomer" type="numeric"></field>
<field name="useLimitPerPromotion" type="numeric"></field>
<field name="billbackFactor" type="floating-point"></field>
+ <field name="overrideOrgPartyId" type="id"></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="productPromoId"/>
+ <relation type="one" fk-name="PROD_PRMO_OPA" rel-entity-name="Party">
+ <key-map field-name="overrideOrgPartyId" rel-field-name="partyId"/>
+ </relation>
<relation type="one" fk-name="PROD_PRMO_CUL" title="CreatedBy"
rel-entity-name="UserLogin">
<key-map field-name="createdByUserLogin" rel-field-name="userLoginId"/>
</relation>
Modified: ofbiz/trunk/applications/product/webapp/catalog/promo/PromoForms.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/promo/PromoForms.xml?view=diff&rev=549490&r1=549489&r2=549490
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/promo/PromoForms.xml
(original)
+++ ofbiz/trunk/applications/product/webapp/catalog/promo/PromoForms.xml Thu
Jun 21 07:16:58 2007
@@ -41,6 +41,7 @@
<field name="requireCode"
title="${uiLabelMap.ProductPromotionReqCode}" widget-style="selectBox">
<drop-down allow-empty="false" no-current-selected-key="N"><option
key="N" description="${uiLabelMap.CommonN}"/><option key="Y"
description="${uiLabelMap.CommonY}"/></drop-down>
</field>
+ <field name="overrideOrgPartyId"><lookup
target-form-name="LookupPartyName"/></field>
<field name="submitButton" title="${uiLabelMap.CommonUpdate}"
widget-style="smallSubmit"><submit button-type="button"/></field>