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 2010/10/19 10:35:20 UTC

svn commit: r1024177 - /ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java

Author: jleroux
Date: Tue Oct 19 08:35:19 2010
New Revision: 1024177

URL: http://svn.apache.org/viewvc?rev=1024177&view=rev
Log:
A patch from Sascha Rodekamp "Product Promo Worker description patch" (https://issues.apache.org/jira/browse/OFBIZ-3907) - OFBIZ-3907

This patch extends the order adjustment creation. If an order adjustment is created from a product promo the promo text will store in the order adjustment description. This helps identifying the order adjustment and later on the invoice item type : ITM_PROMOTION_ADJ. 

Modified:
    ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1024177&r1=1024176&r2=1024177&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java Tue Oct 19 08:35:19 2010
@@ -1716,9 +1716,10 @@ public class ProductPromoWorker {
         amount = amount.setScale(decimals, rounding);
         GenericValue orderAdjustment = delegator.makeValue("OrderAdjustment",
                 UtilMisc.toMap("orderAdjustmentTypeId", "PROMOTION_ADJUSTMENT", amountField, amount,
-                    "productPromoId", productPromoAction.get("productPromoId"),
-                    "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
-                    "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId")));
+                "productPromoId", productPromoAction.get("productPromoId"),
+                "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
+                "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId"),
+                "description", getProductPromoDescription((String) productPromoAction.get("productPromoId"), delegator)));
 
         // if an orderAdjustmentTypeId was included, override the default
         if (UtilValidate.isNotEmpty(productPromoAction.getString("orderAdjustmentTypeId"))) {
@@ -1733,9 +1734,10 @@ public class ProductPromoWorker {
         amount = amount.setScale(decimals, rounding);
         GenericValue orderAdjustment = delegator.makeValue("OrderAdjustment",
                 UtilMisc.toMap("orderAdjustmentTypeId", "PROMOTION_ADJUSTMENT", amountField, amount,
-                    "productPromoId", productPromoAction.get("productPromoId"),
-                    "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
-                    "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId")));
+                "productPromoId", productPromoAction.get("productPromoId"),
+                "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
+                "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId"),
+                "description", getProductPromoDescription((String) productPromoAction.get("productPromoId"), delegator)));
 
         // if an orderAdjustmentTypeId was included, override the default
         if (UtilValidate.isNotEmpty(productPromoAction.getString("orderAdjustmentTypeId"))) {
@@ -1745,6 +1747,23 @@ public class ProductPromoWorker {
         cart.addAdjustment(orderAdjustment);
     }
 
+    private static String getProductPromoDescription(String prodPromoId, Delegator delegator) {
+        // get the promoText / promoName to set as a descr of the orderAdj
+        GenericValue prodPromo;
+        try {
+            prodPromo = delegator.findByPrimaryKeyCache("ProductPromo", UtilMisc.toMap("productPromoId", prodPromoId));
+            if (UtilValidate.isNotEmpty(prodPromo.get("promoText"))) {
+                return (String) prodPromo.get("promoText");
+            }
+            return (String) prodPromo.get("promoName");
+
+        } catch (GenericEntityException e) {
+            Debug.logWarning("Error getting ProductPromo for Id " + prodPromoId, module);
+        }
+
+        return null;
+    }
+
     protected static Integer findAdjustment(GenericValue productPromoAction, List adjustments) {
         for (int i = 0; i < adjustments.size(); i++) {
             GenericValue checkOrderAdjustment = (GenericValue) adjustments.get(i);



Re: svn commit: r1024177 - /ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java

Posted by Adam Heath <do...@brainfood.com>.
On 10/19/2010 03:35 AM, jleroux@apache.org wrote:
> Author: jleroux
> Date: Tue Oct 19 08:35:19 2010
> New Revision: 1024177
>
> URL: http://svn.apache.org/viewvc?rev=1024177&view=rev
> Log:
> A patch from Sascha Rodekamp "Product Promo Worker description patch" (https://issues.apache.org/jira/browse/OFBIZ-3907) - OFBIZ-3907
>
> This patch extends the order adjustment creation. If an order adjustment is created from a product promo the promo text will store in the order adjustment description. This helps identifying the order adjustment and later on the invoice item type : ITM_PROMOTION_ADJ.
>
> Modified:
>      ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
>
> Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1024177&r1=1024176&r2=1024177&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java (original)
> +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java Tue Oct 19 08:35:19 2010
> @@ -1716,9 +1716,10 @@ public class ProductPromoWorker {
>           amount = amount.setScale(decimals, rounding);
>           GenericValue orderAdjustment = delegator.makeValue("OrderAdjustment",
>                   UtilMisc.toMap("orderAdjustmentTypeId", "PROMOTION_ADJUSTMENT", amountField, amount,
> -                    "productPromoId", productPromoAction.get("productPromoId"),
> -                    "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
> -                    "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId")));
> +                "productPromoId", productPromoAction.get("productPromoId"),
> +                "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
> +                "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId"),
> +                "description", getProductPromoDescription((String) productPromoAction.get("productPromoId"), delegator)));
>
>           // if an orderAdjustmentTypeId was included, override the default
>           if (UtilValidate.isNotEmpty(productPromoAction.getString("orderAdjustmentTypeId"))) {
> @@ -1733,9 +1734,10 @@ public class ProductPromoWorker {
>           amount = amount.setScale(decimals, rounding);
>           GenericValue orderAdjustment = delegator.makeValue("OrderAdjustment",
>                   UtilMisc.toMap("orderAdjustmentTypeId", "PROMOTION_ADJUSTMENT", amountField, amount,
> -                    "productPromoId", productPromoAction.get("productPromoId"),
> -                    "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
> -                    "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId")));
> +                "productPromoId", productPromoAction.get("productPromoId"),
> +                "productPromoRuleId", productPromoAction.get("productPromoRuleId"),
> +                "productPromoActionSeqId", productPromoAction.get("productPromoActionSeqId"),
> +                "description", getProductPromoDescription((String) productPromoAction.get("productPromoId"), delegator)));

These 2 changes were reindented, without needing to be.  It's nicer to 
have such changes separated; svn annotate now shows a false positive 
on these lines, when nothing has actually changed.

>
>           // if an orderAdjustmentTypeId was included, override the default
>           if (UtilValidate.isNotEmpty(productPromoAction.getString("orderAdjustmentTypeId"))) {
> @@ -1745,6 +1747,23 @@ public class ProductPromoWorker {
>           cart.addAdjustment(orderAdjustment);
>       }
>
> +    private static String getProductPromoDescription(String prodPromoId, Delegator delegator) {
> +        // get the promoText / promoName to set as a descr of the orderAdj
> +        GenericValue prodPromo;
> +        try {
> +            prodPromo = delegator.findByPrimaryKeyCache("ProductPromo", UtilMisc.toMap("productPromoId", prodPromoId));
> +            if (UtilValidate.isNotEmpty(prodPromo.get("promoText"))) {
> +                return (String) prodPromo.get("promoText");
> +            }
> +            return (String) prodPromo.get("promoName");
> +
> +        } catch (GenericEntityException e) {
> +            Debug.logWarning("Error getting ProductPromo for Id " + prodPromoId, module);
> +        }
> +
> +        return null;
> +    }
> +
>       protected static Integer findAdjustment(GenericValue productPromoAction, List adjustments) {
>           for (int i = 0; i<  adjustments.size(); i++) {
>               GenericValue checkOrderAdjustment = (GenericValue) adjustments.get(i);
>
>