Author: ashish
Date: Sat Aug 16 20:22:56 2014
New Revision: 1618409

URL: http://svn.apache.org/r1618409
Log:
Applied patch from jira issue - OFBIZ-5716 - Gift card fullfillment service is 
not getting triggered.
Thanks ofbiz.us team for reporting the issue and providing the fix for the same.

Modified:
    ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java

Modified: 
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=1618409&r1=1618408&r2=1618409&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java 
(original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java 
Sat Aug 16 20:22:56 2014
@@ -3288,7 +3288,6 @@ public class OrderServices {
         List<GenericValue> orderItems = 
UtilGenerics.checkList(context.get("orderItems"));
         GenericValue userLogin = (GenericValue) context.get("userLogin");
         Locale locale = (Locale) context.get("locale");
-
         if (UtilValidate.isNotEmpty(orderItems)) {
             // loop through the digital items to fulfill
             for (GenericValue orderItem : orderItems) {
@@ -3307,10 +3306,13 @@ public class OrderServices {
                         return 
ServiceUtil.returnError(UtilProperties.getMessage(resource_error,
                                 
"OrderErrorCannotCheckForFulfillmentProductNotFound", locale));
                     }
+                    List<EntityExpr> exprs = new ArrayList<EntityExpr>();
 
-                    List<GenericValue> allProductContent = 
product.getRelated("ProductContent", null, null, false);
+                    
exprs.add(EntityCondition.makeCondition("productContentTypeId", 
EntityOperator.IN, UtilMisc.toList("FULFILLMENT_EXTASYNC", 
"FULFILLMENT_EXTSYNC", "FULFILLMENT_EMAIL", "DIGITAL_DOWNLOAD")));
+                    exprs.add(EntityCondition.makeCondition("productId", 
EntityOperator.EQUALS, product.getString("productId")));
 
                     // try looking up the parent product if the product has no 
content and is a variant
+                    List<GenericValue> allProductContent = 
delegator.findList("ProductContent", EntityCondition.makeCondition(exprs, 
EntityOperator.AND), null, null, null, false);
                     if (UtilValidate.isEmpty(allProductContent) && 
("Y".equals(product.getString("isVariant")))) {
                         GenericValue parentProduct = 
ProductWorker.getParentProduct(product.getString("productId"), delegator);
                         if (allProductContent == null) {
@@ -3331,7 +3333,6 @@ public class OrderServices {
                     return 
ServiceUtil.returnError(UtilProperties.getMessage(resource_error,
                             "OrderErrorCannotGetProductEntity", locale) + 
e.getMessage());
                 }
-
                 // now use the ProductContent to fulfill the item
                 if (UtilValidate.isNotEmpty(productContent)) {
                     for (GenericValue productContentItem : productContent) {
@@ -5770,4 +5771,4 @@ public class OrderServices {
 
         return ServiceUtil.returnSuccess();
     }
-}
+}
\ No newline at end of file


Reply via email to