Author: doogie
Date: Wed Apr 21 19:46:01 2010
New Revision: 936467
URL: http://svn.apache.org/viewvc?rev=936467&view=rev
Log:
Add ability to have a cart that doesn't do any promotions, and when
loading the cart from the database, and promotional items are being
included, the flag gets set.
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?rev=936467&r1=936466&r2=936467&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
Wed Apr 21 19:46:01 2010
@@ -140,6 +140,7 @@ public class ShoppingCart implements Ite
private String delegatorName = null;
protected String productStoreId = null;
+ protected boolean doPromotions = true;
protected String transactionId = null;
protected String facilityId = null;
protected String webSiteId = null;
@@ -177,6 +178,7 @@ public class ShoppingCart implements Ite
this.delegator = cart.getDelegator();
this.delegatorName = delegator.getDelegatorName();
this.productStoreId = cart.getProductStoreId();
+ this.doPromotions = cart.getDoPromotions();
this.poNumber = cart.getPoNumber();
this.orderId = cart.getOrderId();
this.orderName = "Copy of " + cart.getOrderName();
@@ -287,6 +289,14 @@ public class ShoppingCart implements Ite
return this.productStoreId;
}
+ public boolean getDoPromotions() {
+ return this.doPromotions;
+ }
+
+ public void setDoPromotions(boolean doPromotions) {
+ this.doPromotions = doPromotions;
+ }
+
/**
* This is somewhat of a dangerous method, changing the productStoreId
changes a lot of stuff including:
* - some items in the cart may not be valid in any catalog in the new
store
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java?rev=936467&r1=936466&r2=936467&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
Wed Apr 21 19:46:01 2010
@@ -190,6 +190,7 @@ public class ShoppingCartServices {
// create the cart
ShoppingCart cart = new ShoppingCart(delegator, productStoreId,
website, locale, currency);
+ cart.setDoPromotions(!includePromoItems);
cart.setOrderType(orderTypeId);
cart.setChannelType(orderHeader.getString("salesChannelEnumId"));
cart.setInternalCode(orderHeader.getString("internalCode"));
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=936467&r1=936466&r2=936467&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
Wed Apr 21 19:46:01 2010
@@ -258,6 +258,9 @@ public class ProductPromoWorker {
// limits sub total for promos to not use gift cards (products with a
don't use in promo indicator), also exclude gift cards from all other promotion
considerations including subTotals for discounts, etc
// TODO: (not done, delay, still considering...) add code to check
ProductPromoUse limits per promo (customer, promo), and per code (customer,
code) to avoid use of promos or codes getting through due to multiple carts
getting promos applied at the same time, possibly on totally different servers
+ if (!cart.getDoPromotions()) {
+ return;
+ }
Delegator delegator = cart.getDelegator();
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();