OFBiz
  1. OFBiz
  2. OFBIZ-2753

Cart that is loaded from an order has its orderId set to null

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: SVN trunk
    • Fix Version/s: None
    • Component/s: order
    • Labels:
      None

      Description

      ShoppingCartEvents.loadCartFromOrder has the following near the bottom of the method:

      // Since we only need the cart items, so set the order id as null
      cart.setOrderId(null);

      I believe this is ok with standard Ofbiz applications because the only time a shopping cart is loaded from an order i when you wish to initiate the order entry process from an existing order (you will be creating a new order). In our system however, you can start an order, persist it, and then pick it up later to make more adjustments. In this scenario the actual orderId should be available (and accurate) to the order that was used for loading.

      Recommendation - create a new service method "initializeCartFromOrder" or provide a parameter that indicates if the intent is to load into the cart for initialization (vs. for existing order manipulation).

        Activity

        Hide
        Scott Gray added a comment -

        Yeah I do think it's high time that order editing was redesigned, although finding the time is always an issue. Another problem that editing suffers from constantly is that people makes changes to the creation process but don't bother worry about editing so it always seems broken, the chain of events when saving an edit can be quite convoluted as well.

        Regardless of when you reserve the inventory, you (well maybe not you specifically) will always need to be able to handle editing an order with inventory already reserved, potentially at any point up until the order is packed. So yeah it would be quite possible to trigger reservation on a particular order item status but I don't think it will solve too many issues around editing.

        I probably won't have time in the short term to work on this but any code or ideas that you come up with be appreciated.

        Show
        Scott Gray added a comment - Yeah I do think it's high time that order editing was redesigned, although finding the time is always an issue. Another problem that editing suffers from constantly is that people makes changes to the creation process but don't bother worry about editing so it always seems broken, the chain of events when saving an edit can be quite convoluted as well. Regardless of when you reserve the inventory, you (well maybe not you specifically) will always need to be able to handle editing an order with inventory already reserved, potentially at any point up until the order is packed. So yeah it would be quite possible to trigger reservation on a particular order item status but I don't think it will solve too many issues around editing. I probably won't have time in the short term to work on this but any code or ideas that you come up with be appreciated.
        Hide
        Bob Morley added a comment -

        Hi Scott,

        Yes I think that would be true. In our current situation, we are not even using the ecommerce application – sales orders are placed face to face; but may be taken over the phone or through a few different channels. In either case, the requirement as that we would create the order up-front and allow changes to it overtime before the customer was ready to "make payment". Our approach was to save the order right at the beginning and with every change so while we use the ShoppingCart, it is really just a transport vehicle (with functionality) to get us to the order. This produced a number of issues around editing orders, handling removed items, inventory reservation, etc.

        If the editing process was changed to be more like the initial order entry process I think it would simplify things for us. We would likely use this behaviour with every gesture from the user, but we would know that when we hydrate the shopping cart from the order in the database, make modifications, and persist that things would be handled properly. Perhaps moving inventory reservation to be tied to a status change on the order instead of the simple creation of the order/order items. (Some of this is from memory).

        Thoughts?

        Show
        Bob Morley added a comment - Hi Scott, Yes I think that would be true. In our current situation, we are not even using the ecommerce application – sales orders are placed face to face; but may be taken over the phone or through a few different channels. In either case, the requirement as that we would create the order up-front and allow changes to it overtime before the customer was ready to "make payment". Our approach was to save the order right at the beginning and with every change so while we use the ShoppingCart, it is really just a transport vehicle (with functionality) to get us to the order. This produced a number of issues around editing orders, handling removed items, inventory reservation, etc. If the editing process was changed to be more like the initial order entry process I think it would simplify things for us. We would likely use this behaviour with every gesture from the user, but we would know that when we hydrate the shopping cart from the order in the database, make modifications, and persist that things would be handled properly. Perhaps moving inventory reservation to be tied to a status change on the order instead of the simple creation of the order/order items. (Some of this is from memory). Thoughts?
        Hide
        Scott Gray added a comment -

        Hi Bob,

        If we improved the order editing process to look more like the initial order entry flow would that meet your requirements? I've never liked the existing order edit process.

        Regards
        Scott

        Show
        Scott Gray added a comment - Hi Bob, If we improved the order editing process to look more like the initial order entry flow would that meet your requirements? I've never liked the existing order edit process. Regards Scott
        Hide
        Scott Gray added a comment -

        Sounds more like an improvement than a bug

        Show
        Scott Gray added a comment - Sounds more like an improvement than a bug

          People

          • Assignee:
            Unassigned
            Reporter:
            Bob Morley
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development