Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. if ($discountAmount >= 0) {
  2. $total = $quote->getBaseSubtotal();
  3. $quote->setSubtotal(0);
  4. $quote->setBaseSubtotal(0);
  5.  
  6. $quote->setSubtotalWithDiscount(0);
  7. $quote->setBaseSubtotalWithDiscount(0);
  8.  
  9. $quote->setGrandTotal(0);
  10. $quote->setBaseGrandTotal(0);
  11.  
  12. $canAddItems = $quote->isVirtual() ? ('billing') : ('shipping');
  13. foreach ($quote->getAllAddresses() as $address) {
  14.  
  15. $address->setSubtotal($priceTotal);
  16. $address->setBaseSubtotal($priceTotal);
  17.  
  18. $address->setGrandTotal($priceTotal - $discountAmount + $taxTotal);
  19. $address->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal);
  20.  
  21. // $address->collectTotals();
  22.  
  23. $quote->setSubtotal($priceTotal);
  24. $quote->setBaseSubtotal($priceTotal);
  25.  
  26. $quote->setSubtotalWithDiscount(
  27. ($priceTotal - $discountAmount)
  28. );
  29. $quote->setBaseSubtotalWithDiscount(
  30. ($priceTotal - $discountAmount)
  31. );
  32.  
  33. $quote->setGrandTotal($priceTotal - $discountAmount + $taxTotal);
  34. $quote->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal);
  35.  
  36. $quote->save();
  37.  
  38. $quote->setGrandTotal($priceTotal - $discountAmount + $taxTotal)
  39. ->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal)
  40. ->setSubtotalWithDiscount($priceTotal - $discountAmount)
  41. ->setBaseSubtotalWithDiscount($priceTotal - $discountAmount)
  42. ->save();
  43.  
  44. if ($address->getAddressType() == $canAddItems) {
  45. $address->setSubtotalWithDiscount($priceTotal - $discountAmount + $taxTotal);
  46. $address->setGrandTotal($priceTotal - $discountAmount + $taxTotal);
  47. $address->setBaseSubtotalWithDiscount($priceTotal - $discountAmount + $taxTotal);
  48. $address->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal);
  49.  
  50. $address->setTaxAmount($taxTotal);
  51. $address->setBaseTaxAmount($taxTotal);
  52.  
  53. if ($address->getDiscountDescription()) {
  54. $address->setDiscountAmount(-($discountAmount));
  55. // $address->setDiscountDescription($address->getDiscountDescription() . ', Gift Sets');
  56. $address->setBaseDiscountAmount(-($discountAmount));
  57. } else {
  58. $address->setDiscountAmount(-($discountAmount));
  59. // $address->setDiscountDescription('');
  60. $address->setBaseDiscountAmount(-($discountAmount));
  61. }
  62. $address->save();
  63. }
  64. }
  65.  
  66. foreach ($quote->getAllItems() as $item) {
  67. $item->setDiscountAmount(0);
  68. $item->setBaseDiscountAmount(0)->save();
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement