123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Weee\Model;
- use Magento\Checkout\Model\ConfigProviderInterface;
- use Magento\Store\Model\StoreManagerInterface;
- use Magento\Weee\Helper\Data as WeeeHelper;
- use Magento\Weee\Model\Tax as WeeeDisplayConfig;
- class WeeeConfigProvider implements ConfigProviderInterface
- {
- /**
- * @var \Magento\Weee\Helper\Data
- */
- protected $weeeHelper;
- /**
- * @var StoreManagerInterface
- */
- protected $storeManager;
- /**
- * @var Config
- */
- protected $weeeConfig;
- /**
- * @param WeeeHelper $weeeHelper
- * @param StoreManagerInterface $storeManager
- * @param Config $weeeConfig
- */
- public function __construct(
- WeeeHelper $weeeHelper,
- StoreManagerInterface $storeManager,
- Config $weeeConfig
- ) {
- $this->weeeHelper = $weeeHelper;
- $this->storeManager = $storeManager;
- $this->weeeConfig = $weeeConfig;
- }
- /**
- * {@inheritdoc}
- */
- public function getConfig()
- {
- return [
- 'isDisplayPriceWithWeeeDetails' => $this->iDisplayPriceWithWeeeDetails(),
- 'isDisplayFinalPrice' => $this->isDisplayFinalPrice(),
- 'isWeeeEnabled' => $this->isWeeeEnabled(),
- 'isIncludedInSubtotal' => $this->isIncludedInSubtotal(),
- 'getIncludeWeeeFlag' => $this->getIncludeWeeeFlag()
- ];
- }
- /**
- * @return int
- */
- private function getStoreId()
- {
- return $this->storeManager->getStore()->getId();
- }
- /**
- * Whether to display weee details together with price
- *
- * @return bool
- */
- public function iDisplayPriceWithWeeeDetails()
- {
- if (!$this->weeeHelper->isEnabled($this->getStoreId())) {
- return false;
- }
- $displayWeeeDetails = $this->weeeHelper->typeOfDisplay(
- [WeeeDisplayConfig::DISPLAY_INCL_DESCR, WeeeDisplayConfig::DISPLAY_EXCL_DESCR_INCL],
- 'cart',
- $this->storeManager->getStore()->getId()
- );
- if (!$displayWeeeDetails) {
- return false;
- }
- return true;
- }
- /**
- * Whether to display final price that include Weee amounts
- *
- * @return bool
- */
- public function isDisplayFinalPrice()
- {
- $flag = $this->weeeHelper->typeOfDisplay(
- WeeeDisplayConfig::DISPLAY_EXCL_DESCR_INCL,
- 'cart',
- $this->storeManager->getStore()->getId()
- );
- if (!$flag) {
- return false;
- }
- return true;
- }
- /**
- * Check if fixed taxes are used in system
- *
- * @return bool
- */
- public function isWeeeEnabled()
- {
- return $this->weeeHelper->isEnabled($this->storeManager->getStore()->getId());
- }
- /**
- * Return the flag whether to include weee in the price
- *
- * @return bool|int
- */
- public function getIncludeWeeeFlag()
- {
- $includeWeee = $this->weeeHelper->typeOfDisplay(
- [WeeeDisplayConfig::DISPLAY_INCL_DESCR, WeeeDisplayConfig::DISPLAY_INCL],
- 'cart',
- $this->getStoreId()
- );
- return $includeWeee;
- }
- /**
- * Display FPT row in subtotal or not
- *
- * @return bool
- */
- public function isIncludedInSubtotal()
- {
- return $this->weeeConfig->isEnabled() && $this->weeeConfig->includeInSubtotal();
- }
- }
|