* Puchase add qu_factor_to_stock
* qu_factor_purchase_to_stock for stock edit
* product barcodes with QU and Stores
* remove product barcode tags
* migrations/0103 add value and factor_puchase_amount to stock_current and stock_current_location_content
* Remove unused method
* StockService#GetProductDetails: include stock_value
* productcard: include stock_value
* Add Purchase Factor to Stock Overview
* update demo data with stock qu_factor_purchase_to_stock
* recipes_pos_resolved update
* avg_price and oldest_price in product details
* add average price to product card
* hint for recipe costs not included if not in stock
* Round value and factor_purchas_amount. Include currency for stock value
* Add factor_purchase_amount to product card stock amount
* Allow editing qu_factor_purchase_to_stock for stock entries
* fix update qu_factor_purchase_to_stock for Transfers
* Add barcode to existing product update to add to product_barcodes table
* Add barcode to new product workflow update to add to product_barcodes table
* *** Price now saved as 1 QU to stock in stock tables ***
* remove column product barcode and use product_barcodes
* Allow products to be deactivated instead of deleted
* Embedded barcode and qu-conversion with page reload on change
* Save current product barcode into new product_barcodes table
* Embedded popup for product group add/edit
* barcode scanner added to product barcodes input
* Edit product qu_stock is unavailable after first purchase
* StockOverview: Filters break when columns are reordered so for now just disable colReorder
* view stockoverview.blade: display product_group column
* Review
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* productcard update last price with per qu purchase name
* Purchase price hints
* purchase set default to 2999-12-31 if not best before date tracking
* purchase- move amount above best buy date and focus amount after product selection
* viewjs consume: implement location and update stock specific
* Transfer Products
* services StockService#GetProductStockEntriesByLocation: add method
* services StockService#AddProduct: check for stock and locations
* services StockService: include location_id
* services StockService#LocationExists: add method
* services StockService#UndoBooking: fix based on stockRow
* Reimplement StockServer->TransferProduct (one loop for the whole action to preserve stock_id)
* Ensure that the location_id is never NULL in the stock and stock_log table (checked by an INSERT trigger, sets the products default location if empty)
* Only consider stock amount at the given location on consume, if supplied
* Restore more/old display text for "specific stock entry"
* Don't allow transfering tare weight enabled products
* Various small changes (code style, missing OpenAPI endpoint, remove location_id null checking)
* Updated translations strings
* Added transaction_id and correlation_id to stock_log entries to group them together
* ProductCard - location to default location label change
* Also undo correlated bookings on undo
* Added API endpoints for listing and undoing transactions and use them on purchase/consume/inventory/stockoverview
* Initial Stock detail page
* Allow Undo for Tranfers
* Price step to .01
* Some localization string changes & fixes
* Restful routes
* Change public/viewjs to match API routes
* Move the GET and POST together. Fixed Typos. PUT for object/user edits.
* Verb-less Generic Entity Interactions
* Create Grocy.Api.Put
* Create Grocy.Api.Delete
* Fix Volatile Slim Error order in routes and adjust to english noun
Show the cursor as pointer on stock overview page while hovering the product name cell to highlight that the productcard can be opened
Show a waiting cursor and disable all form inputs while doing background XHR calls to highlight that the user should wait
Place the search field (to search a table) on all pages to the left most place