/** * Check if weee total amount should be included * array( * $index => array( * 'amount' => $amount, * 'label' => $label, * 'font_size'=> $font_size * ) * ) * @return array */ public function getTotalsForDisplay() { /** @var $items \Magento\Sales\Model\Order\Item[] */ $items = $this->getSource()->getAllItems(); $store = $this->getSource()->getStore(); $weeeTotal = $this->_weeeData->getTotalAmounts($items, $store); // If we have no Weee, check if we still need to display it if (!$weeeTotal && !filter_var($this->getDisplayZero(), FILTER_VALIDATE_BOOLEAN)) { return []; } // Display the Weee total amount $fontSize = $this->getFontSize() ? $this->getFontSize() : 7; $totals = [['amount' => $this->getOrder()->formatPriceTxt($weeeTotal), 'label' => __($this->getTitle()) . ':', 'font_size' => $fontSize]]; return $totals; }
/** * Create the weee ("FPT") totals summary * * @return $this */ public function initTotals() { /** @var $items \Magento\Sales\Model\Order\Item[] */ $items = $this->getSource()->getAllItems(); $store = $this->getSource()->getStore(); $weeeTotal = $this->weeeData->getTotalAmounts($items, $store); if ($weeeTotal) { // Add our total information to the set of other totals $total = new \Magento\Framework\DataObject(['code' => $this->getNameInLayout(), 'label' => __('FPT'), 'value' => $weeeTotal]); if ($this->getBeforeCondition()) { $this->getParentBlock()->addTotalBefore($total, $this->getBeforeCondition()); } else { $this->getParentBlock()->addTotal($total, $this->getAfterCondition()); } } return $this; }
/** * Fetch the Weee total amount for display in totals block when building the initial quote * * @param \Magento\Sales\Model\Quote\Address $address * @return $this */ public function fetch(\Magento\Sales\Model\Quote\Address $address) { /** @var $items \Magento\Sales\Model\Order\Item[] */ $items = $this->_getAddressItems($address); $store = $address->getQuote()->getStore(); $weeeTotal = $this->_weeeData->getTotalAmounts($items, $store); if ($weeeTotal) { $address->addTotal(array('code' => $this->getCode(), 'title' => __('FPT'), 'value' => $weeeTotal, 'area' => null)); } return $this; }
public function testGetTotalAmounts() { $item1Weee = 5; $item2Weee = 7; $expected = $item1Weee + $item2Weee; $itemProductSimple1 = $this->getMock('\\Magento\\Quote\\Model\\Quote\\Item', ['getWeeeTaxAppliedRowAmount'], [], '', false); $itemProductSimple2 = $this->getMock('\\Magento\\Quote\\Model\\Quote\\Item', ['getWeeeTaxAppliedRowAmount'], [], '', false); $items = [$itemProductSimple1, $itemProductSimple2]; $itemProductSimple1->expects($this->any())->method('getWeeeTaxAppliedRowAmount')->willReturn($item1Weee); $itemProductSimple2->expects($this->any())->method('getWeeeTaxAppliedRowAmount')->willReturn($item2Weee); $this->assertEquals($expected, $this->helperData->getTotalAmounts($items)); }