From 33aa293e2337101aac6250a9bdf9c93bf8af3377 Mon Sep 17 00:00:00 2001
From: marina <marina.gociu@gmail.com>
Date: Thu, 19 Oct 2017 18:38:43 +0300
Subject: [PATCH] Add price calculation improvement for product option value
 price

The price calculation relied on the getFinalPrice value, which if
called without the qty parameter will not consider tier prices.
This method was not updated when the price improvements have been
added around 4 years ago. See similar update that was added for
Magento\Catalog\Model\Product\Option.

Resolves: #5774
---
 app/code/Magento/Catalog/Model/Product/Option/Value.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/code/Magento/Catalog/Model/Product/Option/Value.php b/app/code/Magento/Catalog/Model/Product/Option/Value.php
index 0e86510ebce..62c215e8d59 100644
--- a/app/code/Magento/Catalog/Model/Product/Option/Value.php
+++ b/app/code/Magento/Catalog/Model/Product/Option/Value.php
@@ -11,6 +11,7 @@ namespace Magento\Catalog\Model\Product\Option;
 use Magento\Catalog\Model\Product;
 use Magento\Catalog\Model\Product\Option;
 use Magento\Framework\Model\AbstractModel;
+use Magento\Catalog\Pricing\Price\BasePrice;
 
 /**
  * Catalog product option select type model
@@ -223,7 +224,7 @@ class Value extends AbstractModel implements \Magento\Catalog\Api\Data\ProductCu
     public function getPrice($flag = false)
     {
         if ($flag && $this->getPriceType() == self::TYPE_PERCENT) {
-            $basePrice = $this->getOption()->getProduct()->getFinalPrice();
+            $basePrice = $this->getOption()->getProduct()->getPriceInfo()->getPrice(BasePrice::PRICE_CODE)->getValue();
             $price = $basePrice * ($this->_getData(self::KEY_PRICE) / 100);
             return $price;
         }
-- 
GitLab