Skip to content

Commit 0744fa9

Browse files
Merge remote-tracking branch 'remotes/github/MAGETWO-95809' into EPAM-PR-30
2 parents 748eb15 + 6f5e95d commit 0744fa9

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

app/code/Magento/Sales/Block/Order/Item/Renderer/DefaultRenderer.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public function __construct(
4848
}
4949

5050
/**
51+
* Set item.
52+
*
5153
* @param \Magento\Framework\DataObject $item
5254
* @return $this
5355
*/
@@ -58,6 +60,8 @@ public function setItem(\Magento\Framework\DataObject $item)
5860
}
5961

6062
/**
63+
* Get item.
64+
*
6165
* @return array|null
6266
*/
6367
public function getItem()
@@ -76,6 +80,8 @@ public function getOrder()
7680
}
7781

7882
/**
83+
* Get order item.
84+
*
7985
* @return array|null
8086
*/
8187
public function getOrderItem()
@@ -88,6 +94,8 @@ public function getOrderItem()
8894
}
8995

9096
/**
97+
* Get item options.
98+
*
9199
* @return array
92100
*/
93101
public function getItemOptions()
@@ -262,6 +270,23 @@ public function getTotalAmount($item)
262270
return $totalAmount;
263271
}
264272

273+
/**
274+
* Return the base total amount minus discount.
275+
*
276+
* @param OrderItem|InvoiceItem|CreditmemoItem $item
277+
* @return mixed
278+
*/
279+
public function getBaseTotalAmount($item)
280+
{
281+
$baseTotalAmount = $item->getBaseRowTotal()
282+
+ $item->getBaseTaxAmount()
283+
+ $item->getBaseDiscountTaxCompensationAmount()
284+
+ $item->getBaseWeeeTaxAppliedAmount()
285+
- $item->getBaseDiscountAmount();
286+
287+
return $baseTotalAmount;
288+
}
289+
265290
/**
266291
* Return HTML for item total after discount
267292
*

app/code/Magento/Sales/Model/Order/Webapi/ChangeOutputArray.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
use Magento\Sales\Api\Data\OrderItemInterface;
1111
use Magento\Sales\Block\Adminhtml\Items\Column\DefaultColumn;
12+
use Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer;
1213

1314
/**
1415
* Class for changing row total in response.
@@ -20,13 +21,21 @@ class ChangeOutputArray
2021
*/
2122
private $priceRenderer;
2223

24+
/**
25+
* @var DefaultRenderer
26+
*/
27+
private $defaultRenderer;
28+
2329
/**
2430
* @param DefaultColumn $priceRenderer
31+
* @param DefaultRenderer $defaultRenderer
2532
*/
2633
public function __construct(
27-
DefaultColumn $priceRenderer
34+
DefaultColumn $priceRenderer,
35+
DefaultRenderer $defaultRenderer
2836
) {
2937
$this->priceRenderer = $priceRenderer;
38+
$this->defaultRenderer = $defaultRenderer;
3039
}
3140

3241
/**
@@ -42,6 +51,8 @@ public function execute(
4251
): array {
4352
$result[OrderItemInterface::ROW_TOTAL] = $this->priceRenderer->getTotalAmount($dataObject);
4453
$result[OrderItemInterface::BASE_ROW_TOTAL] = $this->priceRenderer->getBaseTotalAmount($dataObject);
54+
$result[OrderItemInterface::ROW_TOTAL_INCL_TAX] = $this->defaultRenderer->getTotalAmount($dataObject);
55+
$result[OrderItemInterface::BASE_ROW_TOTAL_INCL_TAX] = $this->defaultRenderer->getBaseTotalAmount($dataObject);
4556

4657
return $result;
4758
}

dev/tests/api-functional/testsuite/Magento/Sales/Service/V1/OrderItemGetTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,5 +106,7 @@ public function testGetOrderWithDiscount()
106106
$this->assertTrue(is_array($response));
107107
$this->assertEquals(8.00, $response['row_total']);
108108
$this->assertEquals(8.00, $response['base_row_total']);
109+
$this->assertEquals(9.00, $response['row_total_incl_tax']);
110+
$this->assertEquals(9.00, $response['base_row_total_incl_tax']);
109111
}
110112
}

dev/tests/integration/testsuite/Magento/Sales/_files/order_with_discount.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@
4747
->setProductType('simple')
4848
->setDiscountAmount(2)
4949
->setBaseRowTotal($product->getPrice())
50-
->setBaseDiscountAmount(2);
50+
->setBaseDiscountAmount(2)
51+
->setTaxAmount(1)
52+
->setBaseTaxAmount(1);
5153

5254
/** @var Order $order */
5355
$order = $objectManager->create(Order::class);

0 commit comments

Comments
 (0)