Optimized new chore start date handling (references #1612)
Change yearly chore schedule to be on the same day each year (closes#817)
Use the last price for out of stock ingredients (closes#779)
Make it optionally possible to show the recipes list full-width (closes#1772)
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)
In the stockentries view the ordering by expiration date, amount, price
and purchase date did not work as expected. b5fc64cf already addressed a
similar issue for other views. This commit now does the same: set
DataTables types on the specific columns.
Since the units being part of the "amount" column break numeric sorting,
this commit adds a "data-order" field for that column, so numeric
sorting can still work. This is done in aligment with the stockoverview
page, that already contains such an entry to facilitate proper sorting.
* Replaced timeago with moment.fromNow
* Fixed datetime when best_before_date is empty
* Removed the now unnecessary timeago package
* Removed not longer localization strings
* Check for empty instead of string comparison
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* 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>
* Hide elements when printing
* Hide elements when printing
* Also hide the title menu collapse button
* Added a print button
All print-optimized pages have that
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...
Use managed fonts
Include userentities dynamically in grocy.openapi.json for /userfields/{entity}/{objectId} endpoints (closes#1218)
Fixed userfieldsform load / save (for products and recipes) handling (fixes#1302)
Fixed PUT/DELETE /objects/{entity}/{objectId} when the given object id was invalid (fixes#1396)
Allow arrays in HTMLPurifier (fixes#1407)
* 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>
* Removing of resize event
Hey,
I removed that resize event as it get's thrown every time you scroll on a mobile device. Which prevented me from actually viewing the list view of the calender on mobile devices.
Let me know if you think it is still needed tho!
~Cheers
* Update calendar.js
Now it only get's called once :)
* Update mealplan.js
Same thing here as in calendar.js
* Update calendar.js
Removed redundant variable
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)
* Simplified stock overview on mobile.
* Stock table horizontally scrollable
* Use the new mobile views for all pages (except the shopping list page, use the existing special handling there for now)
And add a clear filter button to all pages
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
This fixes a few lines of white when in night mode.
This change was done from a tablet, I can redo this commit properly on a computer when I get back home if needed. This just really annoyed me ;)
* viewjs stockoverview: add total value to stock overview
* view stockoverview.blade: add Value column
* refresh stockOverview value column
* Removed the total units info
* Properly format the total stock value number
* Added new localization strings
* Resolved merge conflict
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* 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>
* Fixes#1005. Recipes: filter by stock-status in gallery
* Fixes#1017. Productform: Remove "Store"-Header from barcode-table if FEATURE_FLAG_STOCK_PRICE_TRACKING is not set.
* Fixed typo
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
* Add a few instructions to the readme on how to get `grocy` running locally
* Fix toggle for header-clock
I'm not 100% sure why, but with this change, the listener which calls
`CheckHeaderClockEnabled` will be invoked *before* the listener which
persists the setting.
If the setting is persisted before that, the clock doesn't show up when
enabling it in the settings-menu and appears/disappears in the exact
opposite way the setting is true/false.
* Allow replacing a product picture when removing it at first
Right now, a preview image of a product doesn't get updated when
pressing the delete-button at first and adding a new image the
upload-form which can be quite confusing for an end-user.
This patch allows to delete an image and add a new one in one go.
* Add `Save & return` button to product form
Same concept as for recipes: when pressing this button, the user will
stay at the form's site after saving.
* Removed unneeded class
* Revert "Add a few instructions to the readme on how to get `grocy` running locally"
This reverts commit 6ffad1d3c7.
Co-authored-by: Bernd Bestel <bernd@berrnd.de>
* 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 QR-Code for API-Url/Key
* Show only API-Keys for current user
* Allow only admin users to create custom API-Keys
* Use a managed package of qrcode-generator instead of a copy of the JS file
* Reuse existing localization string (API key)
* Center QR-Code in popups
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>