Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if ($discountAmount >= 0) {
- $total = $quote->getBaseSubtotal();
- $quote->setSubtotal(0);
- $quote->setBaseSubtotal(0);
- $quote->setSubtotalWithDiscount(0);
- $quote->setBaseSubtotalWithDiscount(0);
- $quote->setGrandTotal(0);
- $quote->setBaseGrandTotal(0);
- $canAddItems = $quote->isVirtual() ? ('billing') : ('shipping');
- foreach ($quote->getAllAddresses() as $address) {
- $address->setSubtotal($priceTotal);
- $address->setBaseSubtotal($priceTotal);
- $address->setGrandTotal($priceTotal - $discountAmount + $taxTotal);
- $address->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal);
- // $address->collectTotals();
- $quote->setSubtotal($priceTotal);
- $quote->setBaseSubtotal($priceTotal);
- $quote->setSubtotalWithDiscount(
- ($priceTotal - $discountAmount)
- );
- $quote->setBaseSubtotalWithDiscount(
- ($priceTotal - $discountAmount)
- );
- $quote->setGrandTotal($priceTotal - $discountAmount + $taxTotal);
- $quote->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal);
- $quote->save();
- $quote->setGrandTotal($priceTotal - $discountAmount + $taxTotal)
- ->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal)
- ->setSubtotalWithDiscount($priceTotal - $discountAmount)
- ->setBaseSubtotalWithDiscount($priceTotal - $discountAmount)
- ->save();
- if ($address->getAddressType() == $canAddItems) {
- $address->setSubtotalWithDiscount($priceTotal - $discountAmount + $taxTotal);
- $address->setGrandTotal($priceTotal - $discountAmount + $taxTotal);
- $address->setBaseSubtotalWithDiscount($priceTotal - $discountAmount + $taxTotal);
- $address->setBaseGrandTotal($priceTotal - $discountAmount + $taxTotal);
- $address->setTaxAmount($taxTotal);
- $address->setBaseTaxAmount($taxTotal);
- if ($address->getDiscountDescription()) {
- $address->setDiscountAmount(-($discountAmount));
- // $address->setDiscountDescription($address->getDiscountDescription() . ', Gift Sets');
- $address->setBaseDiscountAmount(-($discountAmount));
- } else {
- $address->setDiscountAmount(-($discountAmount));
- // $address->setDiscountDescription('');
- $address->setBaseDiscountAmount(-($discountAmount));
- }
- $address->save();
- }
- }
- foreach ($quote->getAllItems() as $item) {
- $item->setDiscountAmount(0);
- $item->setBaseDiscountAmount(0)->save();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement