File tree Expand file tree Collapse file tree 4 files changed +34
-2
lines changed
Block/Order/Item/Renderer
api-functional/testsuite/Magento/Sales/Service/V1
integration/testsuite/Magento/Sales/_files Expand file tree Collapse file tree 4 files changed +34
-2
lines changed Original file line number Diff line number Diff line change @@ -262,6 +262,23 @@ public function getTotalAmount($item)
262
262
return $ totalAmount ;
263
263
}
264
264
265
+ /**
266
+ * Return the base total amount minus discount.
267
+ *
268
+ * @param OrderItem|InvoiceItem|CreditmemoItem $item
269
+ * @return mixed
270
+ */
271
+ public function getBaseTotalAmount ($ item )
272
+ {
273
+ $ baseTotalAmount = $ item ->getBaseRowTotal ()
274
+ + $ item ->getBaseTaxAmount ()
275
+ + $ item ->getBaseDiscountTaxCompensationAmount ()
276
+ + $ item ->getBaseWeeeTaxAppliedAmount ()
277
+ - $ item ->getBaseDiscountAmount ();
278
+
279
+ return $ baseTotalAmount ;
280
+ }
281
+
265
282
/**
266
283
* Return HTML for item total after discount
267
284
*
Original file line number Diff line number Diff line change 9
9
10
10
use Magento \Sales \Api \Data \OrderItemInterface ;
11
11
use Magento \Sales \Block \Adminhtml \Items \Column \DefaultColumn ;
12
+ use Magento \Sales \Block \Order \Item \Renderer \DefaultRenderer ;
12
13
13
14
/**
14
15
* Class for changing row total in response.
@@ -20,13 +21,21 @@ class ChangeOutputArray
20
21
*/
21
22
private $ priceRenderer ;
22
23
24
+ /**
25
+ * @var DefaultRenderer
26
+ */
27
+ private $ defaultRenderer ;
28
+
23
29
/**
24
30
* @param DefaultColumn $priceRenderer
31
+ * @param DefaultRenderer $defaultRenderer
25
32
*/
26
33
public function __construct (
27
- DefaultColumn $ priceRenderer
34
+ DefaultColumn $ priceRenderer ,
35
+ DefaultRenderer $ defaultRenderer
28
36
) {
29
37
$ this ->priceRenderer = $ priceRenderer ;
38
+ $ this ->defaultRenderer = $ defaultRenderer ;
30
39
}
31
40
32
41
/**
@@ -42,6 +51,8 @@ public function execute(
42
51
): array {
43
52
$ result [OrderItemInterface::ROW_TOTAL ] = $ this ->priceRenderer ->getTotalAmount ($ dataObject );
44
53
$ 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 );
45
56
46
57
return $ result ;
47
58
}
Original file line number Diff line number Diff line change @@ -106,5 +106,7 @@ public function testGetOrderWithDiscount()
106
106
$ this ->assertTrue (is_array ($ response ));
107
107
$ this ->assertEquals (8.00 , $ response ['row_total ' ]);
108
108
$ 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 ' ]);
109
111
}
110
112
}
Original file line number Diff line number Diff line change 47
47
->setProductType ('simple ' )
48
48
->setDiscountAmount (2 )
49
49
->setBaseRowTotal ($ product ->getPrice ())
50
- ->setBaseDiscountAmount (2 );
50
+ ->setBaseDiscountAmount (2 )
51
+ ->setTaxAmount (1 )
52
+ ->setBaseTaxAmount (1 );
51
53
52
54
/** @var Order $order */
53
55
$ order = $ objectManager ->create (Order::class);
You can’t perform that action at this time.
0 commit comments