* Fixes#956. Return 404 for missing objects in GenericEntityApiController.php
* Fixes#936 and #943. Include Products that expire today in /stock/volatile and "Expiring soon"-sum on stockoverview
* Fixes#881. Remove items of deleted shopping lists.
* Fixes#875. Prevent infinite nested recipes.
* Review
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* 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>
`PHP Warning: DateTime::setTimezone() expects parameter 1 to be DateTimeZone, string given in /var/www/grocy/controllers/CalendarApiController.php on line 22`
* My config
* Add check to see if any recipe is selected
* Add check to see if a recipe is actually selected
Co-authored-by: Marc Runkel <marc.runkel@plusforta.de>
* use singletons to reduce need to recreate the same objects
* unable to make the constructor private
* comment out debug printing to log file
* correct typo of treating self() as a var instead of a function
* utilise Localisation service as a singleton
* fix errent line that should have been commented
* remove phpinfo
* correct mistake in stock controller
* try storing app in apcu
* serialise inside the app closures
* get timings for db-changed-time
* get timings for db-changed-time
* store localisation service in apcu
* stor translations in apcu instead of localisation service (due to database connection)
* correct syntax error
* forgot to uncomment instance map
* correct indentation and variable out of scope
* more timings for app execution time
* try apc caching for views
* correct scope for Pot variable
* remove additional fopen
* correct timings for app build time
* correct timings for app object build time
* correct timings for app route build time
* get timings for routing timings
* get more in depth timings for routing loading
* fix more in depth timings for routing loading
* start investigating session auth middleware creation
* start investigating session auth middleware creation
* start investigating Login controller time
* start investigating Login controller time
* in depth look at Logincontroller timings
* comment out debug printing
* lazily obtain valus for page rendering
* correct syntax error
* correct scope of variable
* correct visibiity of methds inherited from BaseController
* missing use for Userfieldsservice
* lazy loading of open api spec
* lazy loading of users service
* lazy loading of batteries service
* lazy loading of services in controllers
* lazy loading of services in services
* correct mistake
* fix userservice
* fix userservice
* fix userfieldservice
* fix chores service
* fix calendar service
* remove Dockerfile used for development
* Remove docker compose file used for development
* Clean up app.php
* remove last diff
* Clean up base controller
* Clean up controllers
* lean up middleware
* Clean up and tuen all services into singletons
* remove debug from routes.php
* remove acpu from localisation
* Complete removal of acpu from localisation
* fixes for things broken
* More fixes following merge
* Fix for start up bug. Re factoring singleton code had brroken due to scope of clas var.
* fix bug where getUsersService is declared twice
* bug fixes following merge
* bug fixes following merge
* bug fixes following merge
* bug fixes following merge
* bug fixes following merge
* Fix all the not working things...
* Deleted off-topic files
* Deleted off-topic files
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
- Only refresh contextual number/datetime info/formatting where needed (closes#513)
- Also refresh correlated stock journal entries on undo (closes#471)
- Prefill "New amount" with the current stock amount on the inventory page (closes#434)
- Ensure that the location_id of the stock and stock_log tables is never empty after migration 95 (references #421)
- Load initial values of the /stockedit form server side to improve loading performance (references #421)
- Use more or less the same input ordering as on the purchase page for the /stockedit page (references #421)
- Also display the "Compact view" button on the shopping list page when FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS is disabled (references #453)
- Ensure that the currently active sidebar menu item is visible
- Optimized sidebar menu item grouping/spacing
- Properly order the API documentation route groups and put the "by-barcode" routes into a separate group
- Updated dependencies
- Pulled translations from Transifex
- Prepared changelog for next release
* refactor to be stock/entry/{entryId}
* Allow recipeform add productworkflow
* on document ready stockdetail filter based on ProductPicker
* openDate fixes for undo
* RefreshStockDetailRow refresh location-id
* 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