![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-tax/Pricing/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Tax\Pricing; use Magento\Framework\Pricing\Adjustment\AdjustmentInterface; use Magento\Framework\Pricing\SaleableInterface; use Magento\Tax\Helper\Data as TaxHelper; /** * Tax pricing adjustment model */ class Adjustment implements AdjustmentInterface { /** * Adjustment code tax */ const ADJUSTMENT_CODE = 'tax'; /** * @var TaxHelper */ protected $taxHelper; /** * \Magento\Catalog\Helper\Data * * @var CatalogHelper */ protected $catalogHelper; /** * @var int|null */ protected $sortOrder; /** * @param TaxHelper $taxHelper * @param \Magento\Catalog\Helper\Data $catalogHelper * @param int|null $sortOrder */ public function __construct(TaxHelper $taxHelper, \Magento\Catalog\Helper\Data $catalogHelper, $sortOrder = null) { $this->taxHelper = $taxHelper; $this->catalogHelper = $catalogHelper; $this->sortOrder = $sortOrder; } /** * Get adjustment code * * @return string */ public function getAdjustmentCode() { return self::ADJUSTMENT_CODE; } /** * Define if adjustment is included in base price * * @return bool */ public function isIncludedInBasePrice() { return $this->taxHelper->priceIncludesTax(); } /** * Define if adjustment is included in display price * * @return bool */ public function isIncludedInDisplayPrice() { return $this->taxHelper->displayPriceIncludingTax() || $this->taxHelper->displayBothPrices(); } /** * Extract adjustment amount from the given amount value * * @param float $amount * @param SaleableInterface $saleableItem * @param null|array $context * @return float */ public function extractAdjustment($amount, SaleableInterface $saleableItem, $context = []) { if ($this->taxHelper->priceIncludesTax()) { $adjustedAmount = $this->catalogHelper->getTaxPrice( $saleableItem, $amount, false, null, null, null, null, null, false ); $result = $amount - $adjustedAmount; } else { $result = 0.; } return $result; } /** * Apply adjustment amount and return result value * * @param float $amount * @param SaleableInterface $saleableItem * @param null|array $context * @return float */ public function applyAdjustment($amount, SaleableInterface $saleableItem, $context = []) { return $this->catalogHelper->getTaxPrice( $saleableItem, $amount, true, null, null, null, null, null, false ); } /** * Check if adjustment should be excluded from calculations along with the given adjustment * * @param string $adjustmentCode * @return bool */ public function isExcludedWith($adjustmentCode) { return $this->getAdjustmentCode() === $adjustmentCode; } /** * Return sort order position * * @return int */ public function getSortOrder() { return $this->sortOrder; } }