12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Weee\Model\Sales\Pdf;
- /**
- * Sales order total for PDF, taking into account WEEE tax
- */
- class Weee extends \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal
- {
- /**
- * @var \Magento\Weee\Helper\Data
- */
- protected $_weeeData;
- /**
- * @param \Magento\Tax\Helper\Data $taxHelper
- * @param \Magento\Tax\Model\Calculation $taxCalculation
- * @param \Magento\Tax\Model\ResourceModel\Sales\Order\Tax\CollectionFactory $ordersFactory
- * @param \Magento\Weee\Helper\Data $_weeeData
- * @param array $data
- */
- public function __construct(
- \Magento\Tax\Helper\Data $taxHelper,
- \Magento\Tax\Model\Calculation $taxCalculation,
- \Magento\Tax\Model\ResourceModel\Sales\Order\Tax\CollectionFactory $ordersFactory,
- \Magento\Weee\Helper\Data $_weeeData,
- array $data = []
- ) {
- $this->_weeeData = $_weeeData;
- parent::__construct($taxHelper, $taxCalculation, $ordersFactory, $data);
- }
- /**
- * Check if weee total amount should be included
- *
- * Example:
- * 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;
- }
-
- /**
- * Check if we can display Weee total information in PDF
- *
- * @return bool
- */
- public function canDisplay()
- {
- $items = $this->getSource()->getAllItems();
- $store = $this->getSource()->getStore();
- $amount = $this->_weeeData->getTotalAmounts($items, $store);
- return $this->getDisplayZero() === 'true' || $amount != 0;
- }
- }
|