You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Deepak Nigam (JIRA)" <ji...@apache.org> on 2018/08/22 16:22:00 UTC

[jira] [Commented] (OFBIZ-10424) After login shopping cart is cleared.

    [ https://issues.apache.org/jira/browse/OFBIZ-10424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16589091#comment-16589091 ] 

Deepak Nigam commented on OFBIZ-10424:
--------------------------------------

Hi [~nk_smallbee],

I am able to reproduce the issue reported by you on the trunk.

However, you can use 'CartAbandonedLine' entity for the same. For more information have a look at the file plugins/ecommerce/webapp/ecommerce/WEB-INF/web.xml 
{code:java}
<!-- this listener will save any abandoned cart info -->
<listener><listener-class>org.apache.ofbiz.order.shoppingcart.CartEventListener</listener-class></listener>
{code}
and /applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CartEventListener.java
{code:java}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
HttpSession session = event.getSession();
ShoppingCart cart = (ShoppingCart) session.getAttribute("shoppingCart");
if (cart == null) {
Debug.logInfo("No cart to save, doing nothing.", module);
return;
}

String delegatorName = (String) session.getAttribute("delegatorName");
Delegator delegator = null;
if (UtilValidate.isNotEmpty(delegatorName)) {
delegator = DelegatorFactory.getDelegator(delegatorName);
}
if (delegator == null) {
Debug.logError("Could not find delegator with delegatorName in session, not saving abandoned cart info.", module);
return;
}

boolean beganTransaction = false;
try {
beganTransaction = TransactionUtil.begin();

GenericValue visit = VisitHandler.getVisit(session);
if (visit == null) {
Debug.logInfo("Could not get the current visit, not saving abandoned cart info.", module);
return;
}

Debug.logInfo("Saving abandoned cart", module);
int seqId = 1;
for (ShoppingCartItem cartItem : cart) {
GenericValue cartAbandonedLine = delegator.makeValue("CartAbandonedLine");

cartAbandonedLine.set("visitId", visit.get("visitId"));
cartAbandonedLine.set("cartAbandonedLineSeqId", Integer.toString(seqId));
cartAbandonedLine.set("productId", cartItem.getProductId());
cartAbandonedLine.set("prodCatalogId", cartItem.getProdCatalogId());
cartAbandonedLine.set("quantity", cartItem.getQuantity());
cartAbandonedLine.set("reservStart", cartItem.getReservStart());
cartAbandonedLine.set("reservLength", cartItem.getReservLength());
cartAbandonedLine.set("reservPersons", cartItem.getReservPersons());
cartAbandonedLine.set("unitPrice", cartItem.getBasePrice());
cartAbandonedLine.set("reserv2ndPPPerc", cartItem.getReserv2ndPPPerc());
cartAbandonedLine.set("reservNthPPPerc", cartItem.getReservNthPPPerc());
if (cartItem.getConfigWrapper() != null) {
cartAbandonedLine.set("configId", cartItem.getConfigWrapper().getConfigId());
}
cartAbandonedLine.set("totalWithAdjustments", cartItem.getItemSubTotal());
//not doing pre-reservations now, so this is always N
cartAbandonedLine.set("wasReserved", "N");
cartAbandonedLine.create();

seqId++;
}
} catch (GenericEntityException e) {
try {
// only rollback the transaction if we started one...
TransactionUtil.rollback(beganTransaction, "Error saving abandoned cart info", e);
} catch (GenericEntityException e2) {
Debug.logError(e2, "Could not rollback transaction: " + e2.toString(), module);
}

Debug.logError(e, "An entity engine error occurred while saving abandoned cart information", module);
} finally {
// only commit the transaction if we started one... this will throw an exception if it fails
try {
TransactionUtil.commit(beganTransaction);
} catch (GenericEntityException e) {
Debug.logError(e, "Could not commit transaction for entity engine error occurred while saving abandoned cart information", module);
}
}
}
{code}
 

 

 

> After login shopping cart is cleared.
> -------------------------------------
>
>                 Key: OFBIZ-10424
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-10424
>             Project: OFBiz
>          Issue Type: Bug
>          Components: ecommerce
>    Affects Versions: Trunk
>            Reporter: Jason Hao
>            Priority: Major
>
> Open ecommerce page, add some product to shopping cart, and click one page checkout, login with admin/ofbiz, the it will display the Main page, and shopping cart is cleared.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)