Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Vo Van Khoa
/
M2OverrideCreateInvoice
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
2849a91f
authored
2018-05-21 10:40:29 +0700
by
Vo Van Khoa
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Fix cannot get Qty of configable product
1 parent
3fcb9a31
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
7 deletions
app/code/FGCT/OverrideCreateInvoice/Block/Adminhtml/Items/Renderer/DefaultRenderer.php
app/code/FGCT/OverrideCreateInvoice/Controller/Adminhtml/Order/Invoice/Save.php
app/code/FGCT/OverrideCreateInvoice/Block/Adminhtml/Items/Renderer/DefaultRenderer.php
View file @
2849a91
...
...
@@ -8,10 +8,6 @@
namespace
FGCT\OverrideCreateInvoice\Block\Adminhtml\Items\Renderer
;
use
Magento\Sales\Model\Order\CreditMemo\Item
as
CreditMemoItem
;
use
Magento\Sales\Model\Order\Invoice\Item
as
InvoiceItem
;
use
Magento\Sales\Model\Order\Item
as
OrderItem
;
/**
* Order item render block
*
...
...
@@ -21,6 +17,7 @@ use Magento\Sales\Model\Order\Item as OrderItem;
class
DefaultRenderer
extends
\Magento\Sales\Block\Adminhtml\Items\Renderer\DefaultRenderer
{
public
function
__construct
(
\Magento\Backend\Block\Template\Context
$context
,
\Magento\Catalog\Model\Product
$product
,
\Magento\CatalogInventory\Api\StockRegistryInterface
$stockRegistry
,
\Magento\CatalogInventory\Api\StockConfigurationInterface
$stockConfiguration
,
\Magento\CatalogInventory\Model\Stock\StockItemRepository
$stockItemRepository
,
...
...
@@ -28,12 +25,15 @@ class DefaultRenderer extends \Magento\Sales\Block\Adminhtml\Items\Renderer\Defa
array
$data
=
[]
)
{
$this
->
_coreRegistry
=
$registry
;
$this
->
_product
=
$product
;
$this
->
_stockItemRepository
=
$stockItemRepository
;
parent
::
__construct
(
$context
,
$stockRegistry
,
$stockConfiguration
,
$registry
,
$data
);
}
public
function
getErrorOutStock
(
$item
)
{
$productId
=
$item
->
getProductId
();
//$productId = $item->getProductId();
$sku
=
$item
->
getSku
();
$productId
=
$this
->
_product
->
getIdBySku
(
$sku
);
$_productStock
=
$this
->
_stockItemRepository
->
get
(
$productId
);
$qtySelected
=
intval
(
$item
->
getQty
());
$qtyProduct
=
$_productStock
->
getQty
();
...
...
app/code/FGCT/OverrideCreateInvoice/Controller/Adminhtml/Order/Invoice/Save.php
View file @
2849a91
...
...
@@ -54,6 +54,7 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Invoice\Save {
ShipmentSender
$shipmentSender
,
ShipmentFactory
$shipmentFactory
,
InvoiceService
$invoiceService
,
\Magento\Catalog\Model\Product
$product
,
\Magento\CatalogInventory\Model\Stock\StockItemRepository
$stockItemRepository
)
{
$this
->
registry
=
$registry
;
...
...
@@ -61,6 +62,7 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Invoice\Save {
$this
->
shipmentSender
=
$shipmentSender
;
$this
->
shipmentFactory
=
$shipmentFactory
;
$this
->
invoiceService
=
$invoiceService
;
$this
->
_product
=
$product
;
$this
->
_stockItemRepository
=
$stockItemRepository
;
parent
::
__construct
(
$context
,
$registry
,
$invoiceSender
,
$shipmentSender
,
$shipmentFactory
,
$invoiceService
);
}
...
...
@@ -100,7 +102,10 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Invoice\Save {
$invoice
=
$this
->
invoiceService
->
prepareInvoice
(
$order
,
$invoiceItems
);
foreach
(
$invoice
->
getAllItems
()
as
$item
)
{
$_productStock
=
$this
->
_stockItemRepository
->
get
(
$item
->
getProductId
());
$sku
=
$item
->
getSku
();
//$productId = $item->getProductId(); // parent
$productId
=
$this
->
_product
->
getIdBySku
(
$sku
);
$_productStock
=
$this
->
_stockItemRepository
->
get
(
$productId
);
$qtySelected
=
intval
(
$item
->
getQty
());
$qtyProduct
=
$_productStock
->
getQty
();
if
(
!
$_productStock
->
getIsInStock
()
||
(
$qtySelected
>
$qtyProduct
))
{
...
...
@@ -109,7 +114,7 @@ class Save extends \Magento\Sales\Controller\Adminhtml\Order\Invoice\Save {
return
$resultRedirect
->
setPath
(
'sales/order_invoice/new/*'
,
[
'order_id'
=>
$order
->
getId
()]);
}
}
$invoice
=
false
;
//
$invoice = false;
if
(
!
$invoice
)
{
throw
new
LocalizedException
(
__
(
'We can\'t save the invoice right now.'
));
}
...
...
Please
register
or
sign in
to post a comment