예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
 /**
  * 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;
 }
예제 #4
0
 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));
 }