Skip to content

Commit

Permalink
Only reprice an order after a cart operation at the very end -- don't
Browse files Browse the repository at this point in the history
attempt to do it in an inbetween step. (Fixes wishlist issue)
  • Loading branch information
Andre Azzolini committed Sep 14, 2012
1 parent 139bcb6 commit f4f1baf
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 6 deletions.
@@ -0,0 +1,44 @@
/*
* Copyright 2008-2012 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.broadleafcommerce.core.order.service.workflow;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.broadleafcommerce.core.order.domain.Order;
import org.broadleafcommerce.core.order.service.OrderService;
import org.broadleafcommerce.core.workflow.BaseActivity;
import org.broadleafcommerce.core.workflow.ProcessContext;

import javax.annotation.Resource;

public class PriceOrderIfNecessaryActivity extends BaseActivity {
private static Log LOG = LogFactory.getLog(PriceOrderIfNecessaryActivity.class);

@Resource(name = "blOrderService")
protected OrderService orderService;

public ProcessContext execute(ProcessContext context) throws Exception {
CartOperationRequest request = ((CartOperationContext) context).getSeedData();
Order order = request.getOrder();

order = orderService.save(order, request.isPriceOrder());
request.setOrder(order);

return context;
}

}
Expand Up @@ -95,7 +95,7 @@ public ProcessContext execute(ProcessContext context) throws Exception {
item.setOrder(order);
item = orderItemService.saveOrderItem(item);
order.getOrderItems().add(item);
order = orderService.save(order, request.isPriceOrder());
order = orderService.save(order, false);

request.setOrder(order);
request.setAddedOrderItem(item);
Expand Down
Expand Up @@ -61,7 +61,7 @@ public ProcessContext execute(ProcessContext context) throws Exception {
itemFromOrder.setOrder(null);
orderItemService.delete(itemFromOrder);

order = orderService.save(order, request.isPriceOrder());
order = orderService.save(order, false);

request.setOrder(order);
return context;
Expand Down
Expand Up @@ -77,8 +77,8 @@ public CartOperationRequest onItemAdded(CartOperationRequest request) throws Pri
fulfillmentGroupItemRequest.setQuantity(orderItem.getQuantity());
fulfillmentGroupItemRequest.setFulfillmentGroup(fulfillmentGroup);

fulfillmentGroup = fulfillmentGroupService.addItemToFulfillmentGroup(fulfillmentGroupItemRequest, request.isPriceOrder());
order = fulfillmentGroup.getOrder();
fulfillmentGroup = fulfillmentGroupService.addItemToFulfillmentGroup(fulfillmentGroupItemRequest, false);
order = fulfillmentGroup.getOrder();

request.setOrder(order);
return request;
Expand Down Expand Up @@ -140,7 +140,7 @@ public CartOperationRequest onItemUpdated(CartOperationRequest request) throws P
throw new IllegalStateException("Could not find matching fulfillment group item for the given order item");
}

order = orderService.save(order, request.isPriceOrder());
order = orderService.save(order, false);
request.setOrder(order);
return request;
}
Expand All @@ -152,7 +152,6 @@ public CartOperationRequest onItemRemoved(CartOperationRequest request) {

fulfillmentGroupService.removeOrderItemFromFullfillmentGroups(order, orderItem);


return request;
}

Expand Down
Expand Up @@ -97,6 +97,7 @@
<bean class="org.broadleafcommerce.core.order.service.workflow.CheckAvailabilityActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.add.AddOrderItemActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.add.AddFulfillmentGroupItemActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.PriceOrderIfNecessaryActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.VerifyFulfillmentGroupItemsActivity"/>
</list>
</property>
Expand All @@ -114,6 +115,7 @@
<bean class="org.broadleafcommerce.core.order.service.workflow.update.UpdateOrderItemActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.update.UpdateOrderMultishipOptionActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.update.UpdateFulfillmentGroupItemActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.PriceOrderIfNecessaryActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.VerifyFulfillmentGroupItemsActivity"/>
</list>
</property>
Expand All @@ -130,6 +132,7 @@
<bean class="org.broadleafcommerce.core.order.service.workflow.remove.RemoveOrderMultishipOptionActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.remove.RemoveFulfillmentGroupItemActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.remove.RemoveOrderItemActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.PriceOrderIfNecessaryActivity"/>
<bean class="org.broadleafcommerce.core.order.service.workflow.VerifyFulfillmentGroupItemsActivity"/>
</list>
</property>
Expand Down

0 comments on commit f4f1baf

Please sign in to comment.