You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2013/05/14 20:09:09 UTC
svn commit: r1482505 -
/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
Author: doogie
Date: Tue May 14 18:09:08 2013
New Revision: 1482505
URL: http://svn.apache.org/r1482505
Log:
FEATURE: In makeItem(), move the production validation code to a separate helper method.
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java?rev=1482505&r1=1482504&r2=1482505&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java Tue May 14 18:09:08 2013
@@ -415,58 +415,7 @@ public class ShoppingCartItem implements
java.sql.Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
if (!skipProductChecks.booleanValue()) {
- // check to see if introductionDate hasn't passed yet
- if (product.get("introductionDate") != null && nowTimestamp.before(product.getTimestamp("introductionDate"))) {
- Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("productName", product.getString("productName"),
- "productId", product.getString("productId"));
-
- String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_not_yet_available",
- messageMap , cart.getLocale());
-
- Debug.logWarning(excMsg, module);
- throw new CartItemModifyException(excMsg);
- }
-
- // check to see if salesDiscontinuationDate has passed
- if (product.get("salesDiscontinuationDate") != null && nowTimestamp.after(product.getTimestamp("salesDiscontinuationDate"))) {
- Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("productName", product.getString("productName"),
- "productId", product.getString("productId"));
-
- String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_no_longer_available",
- messageMap , cart.getLocale());
-
- Debug.logWarning(excMsg, module);
- throw new CartItemModifyException(excMsg);
- }
- /*
- if (product.get("salesDiscWhenNotAvail") != null && "Y".equals(product.getString("salesDiscWhenNotAvail"))) {
- // check atp and if <= 0 then the product is no more available because
- // all the units in warehouse are reserved by other sales orders and no new purchase orders will be done
- // for this product.
- if (!newItem.isInventoryAvailableOrNotRequired(quantity, cart.getProductStoreId(), dispatcher)) {
- Map messageMap = UtilMisc.toMap("productName", product.getString("productName"),
- "productId", product.getString("productId"));
-
- String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_no_longer_available",
- messageMap , cart.getLocale());
-
- Debug.logWarning(excMsg, module);
- throw new CartItemModifyException(excMsg);
- }
- }
- */
-
- // check to see if the product is fully configured
- if ("AGGREGATED".equals(product.getString("productTypeId"))|| "AGGREGATED_SERVICE".equals(product.getString("productTypeId"))) {
- if (configWrapper == null || !configWrapper.isCompleted()) {
- Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("productName", product.getString("productName"),
- "productId", product.getString("productId"));
- String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_not_configured_correctly",
- messageMap , cart.getLocale());
- Debug.logWarning(excMsg, module);
- throw new CartItemModifyException(excMsg);
- }
- }
+ isValidCartProduct(configWrapper, product, nowTimestamp, cart.getLocale());
}
// check to see if the product is a rental item
@@ -592,6 +541,61 @@ public class ShoppingCartItem implements
return product;
}
+ public static void isValidCartProduct(ProductConfigWrapper configWrapper, GenericValue product, Timestamp nowTimestamp, Locale locale) throws CartItemModifyException {
+ // check to see if introductionDate hasn't passed yet
+ if (product.get("introductionDate") != null && nowTimestamp.before(product.getTimestamp("introductionDate"))) {
+ Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("productName", product.getString("productName"),
+ "productId", product.getString("productId"));
+
+ String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_not_yet_available",
+ messageMap , locale);
+
+ Debug.logWarning(excMsg, module);
+ throw new CartItemModifyException(excMsg);
+ }
+
+ // check to see if salesDiscontinuationDate has passed
+ if (product.get("salesDiscontinuationDate") != null && nowTimestamp.after(product.getTimestamp("salesDiscontinuationDate"))) {
+ Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("productName", product.getString("productName"),
+ "productId", product.getString("productId"));
+
+ String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_no_longer_available",
+ messageMap , locale);
+
+ Debug.logWarning(excMsg, module);
+ throw new CartItemModifyException(excMsg);
+ }
+ /*
+ if (product.get("salesDiscWhenNotAvail") != null && "Y".equals(product.getString("salesDiscWhenNotAvail"))) {
+ // check atp and if <= 0 then the product is no more available because
+ // all the units in warehouse are reserved by other sales orders and no new purchase orders will be done
+ // for this product.
+ if (!newItem.isInventoryAvailableOrNotRequired(quantity, cart.getProductStoreId(), dispatcher)) {
+ Map messageMap = UtilMisc.toMap("productName", product.getString("productName"),
+ "productId", product.getString("productId"));
+
+ String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_no_longer_available",
+ messageMap , locale);
+
+ Debug.logWarning(excMsg, module);
+ throw new CartItemModifyException(excMsg);
+ }
+ }
+ */
+
+ // check to see if the product is fully configured
+ if ("AGGREGATED".equals(product.getString("productTypeId"))|| "AGGREGATED_SERVICE".equals(product.getString("productTypeId"))) {
+ if (configWrapper == null || !configWrapper.isCompleted()) {
+ Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("productName", product.getString("productName"),
+ "productId", product.getString("productId"));
+ String excMsg = UtilProperties.getMessage(resource_error, "item.cannot_add_product_not_configured_correctly",
+ messageMap , locale);
+ Debug.logWarning(excMsg, module);
+ throw new CartItemModifyException(excMsg);
+ }
+ }
+ }
+
/**
* Makes a non-product ShoppingCartItem and adds it to the cart.
* NOTE: This is only for non-product items; items without a product entity (work items, bulk items, etc)