Updated dependencies
Added the possibility to skip chore schedules (closes#1486)
Show the meal plan section on the corresponding calendar events (closes#1582)
Make it possible to define a time for meal plan sections and use that time for the corresponding calendar events (references #1582)
Added a changelog template
Make it possible to toggle the meal plan calendar view on bigger screens (closes#1678)
* StockService: Set the product's bestBeforeDate to the freezer date if it is being purchased to a freezer
* Formatting / feature flag checks / proper data type comparision
* Prefill due date also on location change
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* fix: confirm grocycode is of PRODUCT type in GetProductIdFromBarcode
* Fixed formatting
* Don't output the given input (for security reasons)
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
Always execute migration 9999 (can be used to fix things manually)
Optimized meal plan navigation / date range filtering
Prepared next release
Pulled translations from Transifex
Various code optimizations
Improve journal pages loading time (new date range filter)
Various small style adjustments (meal plan page and others)
Pulled German translations from Transifex
Show the shopping list total value (closes#1309)
Make it possible to copy recipes (closes#714)
Implemented optional "auto decimal separator for price inputs" (closes#1345)
Removed table grouped column fixed order restriction (closes#1402)
Don't filter out style, class, id attributes of html text (closes#1298)
Added product picture as column on the stock overview page (closes#1283)
Added grocycodes also for chores and batteries (+ camera barcode scanning for /choretracking and /batterytracking, this now closes#221)
More a workaround for now, the max constraint is just removed when the product has child products,
but the amount to be consumed is checked by StockService anyway, so should not be a problem...
* Added escpos-php library
* Added button to shoppinglist print menu
* Added to translation
* Added basic printing logic and API call
* Working implementation for printing with the API
* Added openapi json
* Correctly parsing boolean parameter
* Working button in UI
* Change to grocy formatting
* Add Date
* Only show thermal print button when Feature Flag is set
* Fixed API call and added error message parsing
* Undo translation
* Add flag to print quantities as well
* Added printing notes
* Added quantity conversion
* Increse feed
* Fixed that checkbox was undefined, as dialog was already closed
* Added padding
* Formatting
* Added note about user permission
* Fixed error when using notes instead of products
* Review
- Default FEATURE_FLAG_THERMAL_PRINTER to disabled
- Added missing localization strings (and slightly adjusted one)
* Fixed merge conflicts
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* Grocycode: Productpicker, StockService
* Grocycode: Datamatrix generation
* Grocycode: Display in UI, make Images downloadable
* Grocycode: Do not show on product card
* Grocycode: Stockentry Label view
* Grocycode: Webhooks & Labelprinter Feature
* Grocycode: Manual Label printing
* Grocycode: Print Label from product form
* Quagga2: use zxing for DataMatrix recognition
* Grocycode: Default settings for label printing
* Prepare merge of master
* Grocycode: docs
* Docs: label printing webhook
* Review
- "grocy" is currently written lower-case everywhere, so let's do this also for "grocycode"
- Unified phrases / capitalization
- Minor UI adjustments (mainly context menu item ordering / ordering/spacing on product edit page)
- Documented API changes for Swagger UI (grocy.openapi.json)
- Reverted German localizations (those are managed via Transifex; would cause conflicts when manually edited - will import them later there)
- Reverted a somehow messed up localization string (productform/help text for `cumulate_min_stock_amount_of_sub_products`)
- Suppress deprecation warnings when generating Datamatrix PNG (otherwise the PNG is invalid, https://github.com/jucksearm/php-barcode/issues/3)
- Default `FEATURE_FLAG_LABELPRINTER` to disabled
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
Fixed some localization strings
Reviewed/optimized product deletion handling
Add option to hide products from the stock overview page (closes#906)
Prefill default_due_days also on the inventory page (closes#591)
Added DataTables accent chinese-string plugin (closes#872)
Show costs and calories per recipe ingredient (closes#1072)
Fixed user permission saving (fixes#1099)
User permissions should not have an effect for demo mode (closes#972)
Handle QU conversion when consuming a substituation (child) product (fixes#1118)
Consume/open any child product when the parent product is not in stock (closes#899)
Added a retry camera barcode scanning button to product picker workflow (closes#736)
Fixed number input min/max amount handling
Only (auto) save valid user inputs
More filters on the stock journal pages
Save the last price per used barcode and preselect that as a total price on purchase if not empty (closes#1131)
Don't apply conversions for only_check_single_unit_in_stock ingredients (fixes#1120)
Render shopping list userfields (closes#1052)
Fixed Focus when adding included recipes (closes#1019)
Order all base objects with NOCASE (closes#1086)
* Fixes#1035: Check available amount after filtering by stock_entry_id
* Fixes#1036: Remove stock-related buttons/options from Shopping-list if FEATURE_FLAG_STOCK is disabled
* Fixes#1010: Repair recipe-picture upload.
* Fixes#958: Disable auto-reload of equipments-page.
* Fix uncaught exception in locationpicker.js
* Fixes#761 and #762: Add "Remove exact amount" for products with tare weight handling and use it for recipe-consumption.
* Fixes#1048: Repair product-group-filter on "Master Data"/Products
* Renamed variable
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* added button to add expired products to shoppinglist
* Localizations are managed via Transifex
Revert "added button to add expired products to shoppinglist"
This reverts commit ad1ab5d6a0.
* Revert unnecessary change
* Reuse existing function (GetExpiringProducts) to get expired products
Co-authored-by: Mario Klug <mario.klug@sourcefactory.at>
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* Fix#997. Remove datetimepicker if FEATURE_FLAG_STOCK_BEST_BEFORE_DATE is not set.
* datetimepicker: Fix that SetValue did not set the value if "shortcut-checkbox" (e.g. "never expires") was checked.
* Use parent div as clickable area for checkboxes in dropdowns
* Fix nightmode-enable
* Fix possibly undefined variables in CalendarService.php
* Fix undefined variable in GenericEntityApiController.php
* Fix "Trying to access property barcodes on non-object" in productpicker
* Fix undefined "hintId" in shoppinglocationpicker
* Fix undefined variables in locationpicker.blade.php
* Stockjournal: Add "Done by"
* Add API for Stock-Journal
* Add "Journal-Summary"
* Use ALTER TABLE
* Moved the "Jounral summary" button to the stock journal page
* Changed icon & context menu position for new stock journal summary page
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* Add FilteredApiResponse
* Use FilteredApiResponse for Generic-Entity-Search
* Use FilteredApiResponse for Recipe-Fullfillment
* Use FilteredApiResponse for GetUsers
* Use FilteredApiResponse for current Tasks
* Use FilteredApiResponse for ProductStockEntries & ProductStockLocations
* Use FilteredApiResponse for current chores
* Use FilteredApiResponse for batteries-current
* Fix missing highlighting of "< X days"
* Keep to use existing views
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* Locales: use http-accept-language or "language"-cookie
* Add user-setting "locale"
Rename CULTURE to DEFAULT_LOCALE
* Use LocaleMiddleware also in dev mode
* CORS: don't require authentication on OPTIONS
* Use a standard user-settings-control and start a new generic user settings page, not a separate page for the locale setting
* Fixed (broken by myself) link-return handling
* Clarify language settings
* Removed unneeded files
* Better user settings icon
* Added localization hints
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* Add permissions to Database & add "User"-classes
* Add UI & API for Permissions, protect "User"-(Api)-Controller with new permissions.
* Add some permissions.
* Add permission localization
* Add error handling.
* Error pages: only redirect on 404
* ExceptionController: return JSON-Response on api-routes
* Rename PRODUCT_ADD to PRODUCT_PURCHASE
* Move translation to new file
* Fix checkboxes stay selected on reload.
* Remove configurable User-implementation
* Remove MASTER_DATA_READ
* Disable buttons the user isn't allowed to use.
* Add default permissions for new users
* When migration to permissions, everyone starts as ADMIN
* Permission-Localization: add to transifex & LocalizationService
* Review
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* 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>
* 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>