From 7034fdad2fb1ed6d9a0bd8cdbe01de2fb06a2847 Mon Sep 17 00:00:00 2001 From: rogerdz Date: Mon, 9 Jun 2025 04:52:26 +0000 Subject: [PATCH 1/3] Error getting order item discounts applied_to for customer order via GraphQl customer request --- .../Model/OrderItem/DataProvider.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php b/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php index 037e588dc663b..56cd68a3f32a2 100644 --- a/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php +++ b/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php @@ -10,11 +10,13 @@ use Magento\Catalog\Api\Data\ProductInterface; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Framework\Api\SearchCriteriaBuilder; +use Magento\Framework\App\ObjectManager; use Magento\Sales\Api\Data\OrderInterface; use Magento\Sales\Api\Data\OrderItemInterface; use Magento\Sales\Api\OrderItemRepositoryInterface; use Magento\Sales\Api\OrderRepositoryInterface; -use Magento\Framework\App\ObjectManager; +use Magento\SalesRule\Api\Data\DiscountAppliedToInterface as DiscountAppliedTo; + use Magento\Tax\Helper\Data as TaxHelper; /** @@ -240,6 +242,7 @@ private function getDiscountDetails(OrderInterface $associatedOrder, OrderItemIn } else { $discounts [] = [ 'label' => $associatedOrder->getDiscountDescription() ?? __('Discount'), + 'applied_to' => $this->getAppliedTo($associatedOrder), 'amount' => [ 'value' => abs((float) $orderItem->getDiscountAmount()), 'currency' => $associatedOrder->getOrderCurrencyCode() @@ -248,4 +251,18 @@ private function getDiscountDetails(OrderInterface $associatedOrder, OrderItemIn } return $discounts; } + + /** + * Get entity type the discount is applied to + * + * @param OrderInterface $order + * @return string + */ + public function getAppliedTo($order) + { + if ((float) $order->getShippingDiscountAmount() > 0) { + return DiscountAppliedTo::APPLIED_TO_SHIPPING; + } + return DiscountAppliedTo::APPLIED_TO_ITEM; + } } From 33b1f0b214c423f4c36d11af0955b1a709e37355 Mon Sep 17 00:00:00 2001 From: rogerdz Date: Mon, 9 Jun 2025 04:53:18 +0000 Subject: [PATCH 2/3] Error getting order item discounts applied_to for customer order via GraphQl customer request --- app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php b/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php index 56cd68a3f32a2..32f4f31b132ef 100644 --- a/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php +++ b/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php @@ -16,7 +16,6 @@ use Magento\Sales\Api\OrderItemRepositoryInterface; use Magento\Sales\Api\OrderRepositoryInterface; use Magento\SalesRule\Api\Data\DiscountAppliedToInterface as DiscountAppliedTo; - use Magento\Tax\Helper\Data as TaxHelper; /** From 713a5b716d01c0380f11f5a6361744a64c470682 Mon Sep 17 00:00:00 2001 From: rogerdz Date: Mon, 9 Jun 2025 05:34:31 +0000 Subject: [PATCH 3/3] Error getting order item discounts applied_to for customer order via GraphQl customer request --- app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php b/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php index 32f4f31b132ef..4fc09c3361e7a 100644 --- a/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php +++ b/app/code/Magento/SalesGraphQl/Model/OrderItem/DataProvider.php @@ -257,7 +257,7 @@ private function getDiscountDetails(OrderInterface $associatedOrder, OrderItemIn * @param OrderInterface $order * @return string */ - public function getAppliedTo($order) + private function getAppliedTo($order) { if ((float) $order->getShippingDiscountAmount() > 0) { return DiscountAppliedTo::APPLIED_TO_SHIPPING;