Affects Version/s: Trunk
Fix Version/s: None
Some problems that occur in order item cancellation and update:
1. Wrong amount of promo order header adjustment is calculated when cancelling order item.
How to reproduce: Add 2 item to cart that have promo adjustments, cancel one of the items, you will get promo header adjustment with the amount of all items promo adjustments.
2. If part of an order item is cancelled then cancelled quantity is not excluded during recalculation of tax and promotions.
How to reproduce: create an order with one item for example GZ-1000 x 10, then split quantities between 2 ship groups - ship group 00001 = 5 and 00002 = 5, use DemoCustCompany as a buyer, use CA, USA for ship address for both ship groups. Then cancel one of the ship gorups. After that update the order(you can simply push "update items" button without any specific changes). Tax and promotional adjustments are not recalculated properly when updating the order.
3. Order grand total, order sub total and order tax total are not displayed properly in view order screen. These values include also canceled item adjustment amounts.
How to reproduce: Create an order with DemoCustCompany buyer that contains 2 order items. E.g. GZ-1000 x 5 and GZ-1001 x 5. Use CA, USA for ship address. Then cancel one of the order items. OrderHeader.grandTotal and OrderHeader.remainingSubTotal fields will have different amounts from that displayed on the view order screen.
4. Order item cancellation creates strange balancing order header adjustments that reduce the amount of the cancelled order item adjustments. These adjustments are deleted after subsequent updates of the order.
5. The problem regarding update of an order that have partial invoiced order items is still present.
You can try this by creating order with 2 order items and 2 different ship groups. Then ship items from one of the ship groups. Then try to edit the price or quantity of the other(not shipped) item.
This is happening because update of order items is connected to creation of shopping cart from order. In this process all the promotional, tax and shipping adjustments are removed and then recreated again.