From 8cb9157c73787833b2092009fecfa51f01112ff7 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Tue, 12 Jul 2022 19:00:40 +0200 Subject: [PATCH] Fixed shopping list item form product barcode scan handling (fixes #1940) --- changelog/69_UNRELEASED_xxxx-xx-xx.md | 2 +- controllers/StockController.php | 2 ++ public/viewjs/components/productpicker.js | 2 +- views/shoppinglistitemform.blade.php | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/changelog/69_UNRELEASED_xxxx-xx-xx.md b/changelog/69_UNRELEASED_xxxx-xx-xx.md index 6e2c7ef0..65c2d220 100644 --- a/changelog/69_UNRELEASED_xxxx-xx-xx.md +++ b/changelog/69_UNRELEASED_xxxx-xx-xx.md @@ -12,7 +12,7 @@ ### Shopping list -- xxx +- Fixed that products could not be added to the shopping list via barcode scanning ### Recipes diff --git a/controllers/StockController.php b/controllers/StockController.php index ba3cc738..dccc810e 100644 --- a/controllers/StockController.php +++ b/controllers/StockController.php @@ -400,6 +400,7 @@ class StockController extends BaseController { return $this->renderPage($response, 'shoppinglistitemform', [ 'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'), + 'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(), 'shoppingLists' => $this->getDatabase()->shopping_lists()->orderBy('name', 'COLLATE NOCASE'), 'mode' => 'create', 'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'), @@ -412,6 +413,7 @@ class StockController extends BaseController return $this->renderPage($response, 'shoppinglistitemform', [ 'listItem' => $this->getDatabase()->shopping_list($args['itemId']), 'products' => $this->getDatabase()->products()->where('active = 1')->orderBy('name', 'COLLATE NOCASE'), + 'barcodes' => $this->getDatabase()->product_barcodes_comma_separated(), 'shoppingLists' => $this->getDatabase()->shopping_lists()->orderBy('name', 'COLLATE NOCASE'), 'mode' => 'edit', 'quantityUnits' => $this->getDatabase()->quantity_units()->orderBy('name', 'COLLATE NOCASE'), diff --git a/public/viewjs/components/productpicker.js b/public/viewjs/components/productpicker.js index 4655940e..46352cfa 100644 --- a/public/viewjs/components/productpicker.js +++ b/public/viewjs/components/productpicker.js @@ -277,7 +277,7 @@ $('#product_id_text_input').on('blur', function(e) { if (barcodeResult.length > 0) { - existsAsProduct = true; + existsAsBarcode = true; } Grocy.Api.Get('objects/products?query[]=name=' + input, diff --git a/views/shoppinglistitemform.blade.php b/views/shoppinglistitemform.blade.php index 8d84b32d..aba146ec 100644 --- a/views/shoppinglistitemform.blade.php +++ b/views/shoppinglistitemform.blade.php @@ -61,6 +61,7 @@ @php if($mode == 'edit') { $productId = $listItem->product_id; } else { $productId = ''; } @endphp @include('components.productpicker', array( 'products' => $products, + 'barcodes' => $barcodes, 'nextInputSelector' => '#amount', 'isRequired' => true, 'prefillById' => $productId,