This is an automated email from the ASF dual-hosted git repository.
mbrohl pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new da3e353e51 Fixed: Apply orderItemAttributes when adding to
Shoppingcart from addToCartFromOrder. (OFBIZ-12886)
da3e353e51 is described below
commit da3e353e51ac270c328c1f307d4c77ed356a8c75
Author: Elaheh Lolaki <[email protected]>
AuthorDate: Wed Jan 31 17:43:28 2024 +0100
Fixed: Apply orderItemAttributes when adding to Shoppingcart from
addToCartFromOrder. (OFBIZ-12886)
---
.../order/shoppingcart/ShoppingCartHelper.java | 23 +++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git
a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
index 18b3bfbeb1..67629629c1 100644
---
a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
+++
b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
@@ -364,10 +364,27 @@ public class ShoppingCartHelper {
}
}
+ // get order item attributes to transfer it to the new
cart item
+ Map<String, String> orderItemAttributes = null;
try {
-
this.cart.addOrIncreaseItem(UtilValidate.isNotEmpty(aggregatedProdId) ?
aggregatedProdId : productId, amount,
- orderItem.getBigDecimal("quantity"), null,
null, null, null, null, null, null, catalogId, configWrapper,
- orderItemTypeId, itemGroupNumber, null,
dispatcher);
+ List<GenericValue> oiAttributes =
orderItem.getRelated("OrderItemAttribute", null, null, false);
+ if (UtilValidate.isNotEmpty(oiAttributes)) {
+ orderItemAttributes = new HashMap<String,
String>();
+ for (GenericValue attrib : oiAttributes) {
+ if
(UtilValidate.isNotEmpty(attrib.getString("attrValue"))) {
+
orderItemAttributes.put(attrib.getString("attrName"), attrib.getString(
+ "attrValue"));
+ }
+ }
+ }
+ } catch (GenericEntityException e) {
+ errorMsgs.add(e.getMessage());
+ }
+ try {
+
this.cart.addOrIncreaseItem(UtilValidate.isNotEmpty(aggregatedProdId) ?
aggregatedProdId
+ : productId, amount,
orderItem.getBigDecimal("quantity"),
+ null, null, null, null, null, null, null,
null, null, orderItemAttributes, catalogId,
+ configWrapper, orderItemTypeId,
itemGroupNumber, null, dispatcher);
noItems = false;
} catch (CartItemModifyException | ItemNotFoundException
e) {
errorMsgs.add(e.getMessage());