fix: make stockentry grocycodes consume the actual stock entry not the product in general (#1584)

* fix: make stockentry grocycodes consume the actual stock entry not the product in general

if the stock_entry_id is in the request body use this instead of the stockentry grocycode
this may not be the correct way to interpret this but one of them has to win

* Undo formatting changes

* fix: add variable definition and reorder args used in ConsumeProduct

* Simplify

* Fix this also for transferring a product

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
This commit is contained in:
David Mott 2021-08-20 03:44:39 +10:00 committed by GitHub
parent 61a58ddef0
commit a0cf58b974
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -323,6 +323,18 @@ class StockApiController extends BaseApiController
try
{
$args['productId'] = $this->getStockService()->GetProductIdFromBarcode($args['barcode']);
if (Grocycode::Validate($args['barcode']))
{
$gc = new Grocycode($args['barcode']);
if ($gc->GetExtraData())
{
$requestBody = $request->getParsedBody();
$requestBody['stock_entry_id'] = $gc->GetExtraData()[0];
$request = $request->withParsedBody($requestBody);
}
}
return $this->ConsumeProduct($request, $response, $args);
}
catch (\Exception $ex)
@ -805,6 +817,18 @@ class StockApiController extends BaseApiController
try
{
$args['productId'] = $this->getStockService()->GetProductIdFromBarcode($args['barcode']);
if (Grocycode::Validate($args['barcode']))
{
$gc = new Grocycode($args['barcode']);
if ($gc->GetExtraData())
{
$requestBody = $request->getParsedBody();
$requestBody['stock_entry_id'] = $gc->GetExtraData()[0];
$request = $request->withParsedBody($requestBody);
}
}
return $this->TransferProduct($request, $response, $args);
}
catch (\Exception $ex)