Commit Graph

331 Commits

Author SHA1 Message Date
Bernd Bestel
198216f38b
Make it possible to track any information on chore execution (by using Userfields, closes #825) 2021-07-11 19:44:06 +02:00
Bernd Bestel
7ee15946c7
Improved page loading time of /recipes and /mealplan when having a big meal plan (closes #695) 2021-07-10 22:56:39 +02:00
Bernd Bestel
8ff8c1ac5d
Made the used grocycode barcode type configurable
DataMatrix reading via Quagga2 doesn't work currently, so default to an supported 1D barcode (=> Code128)
2021-07-09 23:08:47 +02:00
Bernd Bestel
2638bce851
Improve handling of not in-stock but valid manually entered products on the consume and transfer page (references #1429) 2021-07-09 22:16:08 +02:00
Bernd Bestel
338a5016cf
Allow cyrillic letters in API filter values (fixes #1296) 2021-07-09 20:23:30 +02:00
Bernd Bestel
7595d640f5
Return empty Userfields empty (closes #1412) 2021-07-08 20:12:58 +02:00
Bernd Bestel
14cd6ca3bf
Return numbers as numbers on all API endpoints 2021-07-08 19:34:16 +02:00
Bernd Bestel
1ead23cb87
Added on option to only show in-stock products on the /products page (closes #1388) 2021-07-06 20:08:02 +02:00
Bernd Bestel
70d51c757b
Only show in-stock products on the /consume page (closes #1429) 2021-07-06 19:31:55 +02:00
Bernd Bestel
54bf7ed659
Produce a schema-valid OpenAPI specification (closes #1457) 2021-07-05 23:23:59 +02:00
Bernd Bestel
6462dd8af6
Removed legacy error suppression 2021-07-05 22:51:02 +02:00
Bernd Bestel
735743047f
Upgraded eluceo/ical 2021-07-04 20:02:04 +02:00
Bernd Bestel
82c474d0ae
Allow hyphens in API filter value (fixes #1333) 2021-07-04 17:48:58 +02:00
Bernd Bestel
0f88eed08c
Upgraded to PHP-CS-Fixer v3 2021-07-03 17:46:47 +02:00
Bernd Bestel
766eae5a7a
Remove accidentally committed debug statement 2021-07-02 22:19:54 +02:00
Bernd Bestel
90b8ea15ff
Also delete downscaled image files when deleting an image (closes #1499) 2021-07-02 20:50:52 +02:00
Bernd Bestel
34ffb96ae3
Enforce file groups 2021-07-02 20:29:53 +02:00
Bernd Bestel
74d745cfc4
Typo 2021-07-02 20:29:25 +02:00
Bernd Bestel
cae924eb81
Fixed shopping list QU handling (fixes #1385, fixes #1384) 2021-07-02 17:37:06 +02:00
Bernd Bestel
b856911f0f
Browser-cache localization strings (+ new API endpoint to get them) 2021-06-29 20:24:02 +02:00
Bernd Bestel
35fb87ab1e
Squashed commit
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)
2021-06-28 17:00:16 +02:00
Bernd Bestel
5153818b4e
Fixed shopping_list_id when adding products from /stockoverview to the shopping list (fixes #1442) 2021-06-27 20:46:21 +02:00
Bernd Bestel
5c3809aa33
Exclude inactive products from recipe ingredient edit page (fixes #1448) 2021-06-27 20:34:18 +02:00
Bernd Bestel
7ab59273da
Allow links and iframes in HTMLPurifier (fixes #1461) 2021-06-27 20:13:24 +02:00
Marc Ole Bulling
eb135aee39
Add support for printing shoppinglist with thermal printer (#1273)
* 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>
2021-06-18 20:45:42 +02:00
Bernd Bestel
fe59fac1c3
Fixed client side webhook runner (references #1500) 2021-06-13 08:40:16 +02:00
Bernd Bestel
26979a4321
Set HTMLPurifier cache path (fixes #1497) 2021-06-12 20:56:58 +02:00
Bernd Bestel
739379fabb
Fixed stock entry grocycode download (references #1500) 2021-06-12 20:15:48 +02:00
Katharina Bogad
2471e78188
Grocycode, label printing (#1500)
* 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>
2021-06-12 17:21:12 +02:00
Bernd Bestel
e42f4b405d
Fixed PHP warning (fixes #1267) 2021-01-12 10:40:14 +01:00
Bernd Bestel
27169e1428
Fixed constant typo (fixes #1260) 2021-01-06 09:31:36 +01:00
Bernd Bestel
030939e013
Typo 2021-01-03 22:42:16 +01:00
Bernd Bestel
a646f2c6bd
Fixed included recipe missing amount resolving (references #1252) 2021-01-03 22:40:33 +01:00
Bernd Bestel
7d07b382fd
Fixed included recipe amount resolving (fixes #1252) 2021-01-03 22:26:08 +01:00
Bernd Bestel
bd21e3a8d6
Don't filter ampersands (fixes #1247) 2021-01-02 20:08:13 +01:00
Bernd Bestel
d9e42331f9
Allow some HTML tags in API request body (needed at least for HTML editor fields) (fixes #1228) 2020-12-29 19:19:04 +01:00
Bernd Bestel
b6139a6991
Optimized filter_var checks 2020-12-28 22:14:59 +01:00
Marc Ole Bulling
7e8f460dad
Added /system/time API call (#1223)
* Inital structure for /system/time API call

* Parse arguments for offset

* Correctly parsing parameters

* Fixed implimentation, added to openapi.json

* Modified DOC

* Added Sqlite3 time to output

* Fixed error with negative offset

* Review

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-12-28 19:39:24 +01:00
Bernd Bestel
2e3c237648
Fixed zero decimals handling (fixes #1213) 2020-12-23 19:56:37 +01:00
Bernd Bestel
f0d99a5714
Fixed API key deletion was not possible (fixes #1203) 2020-12-21 16:20:12 +01:00
Bernd Bestel
2b13102299
Implemented Userfields for users (closes #1159) 2020-12-20 22:16:58 +01:00
Bernd Bestel
8f1ce607f7
Implemented user pictures (closes #1158) 2020-12-20 22:08:50 +01:00
Bernd Bestel
c9b5e14473
Make it possible to merge products (closes #243) 2020-12-20 20:58:22 +01:00
Bernd Bestel
b2f555400c
Fixed database migration error handling
(Error page was not shown properly)
2020-12-20 16:52:13 +01:00
Bernd Bestel
df7653f4e5
Optimized barcode concatenation handling 2020-12-20 16:00:14 +01:00
Bernd Bestel
a5326aa95c
Improve API stock action endpoint response (closes #769) 2020-12-20 14:43:07 +01:00
Bernd Bestel
b2d7003335
Performance optimizations 2020-12-20 10:44:19 +01:00
Bernd Bestel
268b8e87d7
Make it possible to hide chores/batteries (closes #1069) 2020-12-20 10:19:44 +01:00
Bernd Bestel
f5e0709913
Added columns for last price on shopping list (closes #410) 2020-12-19 17:55:49 +01:00
Bernd Bestel
7ef5bc6f77
Add some more columns (hidden by default) (references https://github.com/grocy/grocy/issues/1058#issuecomment-744059155) 2020-12-19 10:51:07 +01:00
Bernd Bestel
eb4a748da3
Consume opened products first (closes #1183) 2020-12-19 10:28:35 +01:00
Bernd Bestel
bb6ef5511d
Fixed API equals/not equals filter comparison (fixes #1182) 2020-12-16 21:52:24 +01:00
Robert Resch
07ff28da39
Add row group customization (#1189)
* Add row group customization

* fix rowGroup state loading

* activate rowGroup for all datatables

* add reset button

* reload page done on success callback

* Review

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-12-16 18:18:03 +01:00
Bernd Bestel
59aad1c180
Added REGEXP operator for API query filter (closes #1174) 2020-12-12 10:44:27 +01:00
Bernd Bestel
d3883ba93a
Reorganized API exposed entities 2020-12-12 10:10:21 +01:00
Bernd Bestel
51a95814e0
Handle null in API filter (closes #1173) 2020-12-11 19:32:08 +01:00
Bernd Bestel
672c4d33bf
Added basic RTL support (reference #984) 2020-12-11 18:06:32 +01:00
Bernd Bestel
48aa9fd138
Added an API endpoint to get the authenticated user (closes #1165) 2020-12-09 21:16:49 +01:00
Bernd Bestel
fda8411ab3
Support descending ordering in generic API filter (closes #1167) 2020-12-09 21:04:04 +01:00
Bernd Bestel
cf34df5e3f
Squashed commit
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)
2020-12-07 19:48:33 +01:00
Bernd Bestel
166748788b
Added an include_sub_products parameter to the API endpoint /stock/products/{productId}/locations 2020-11-19 18:37:16 +01:00
Bernd Bestel
887526c727
Squashed commit
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)
2020-11-17 19:11:02 +01:00
Bernd Bestel
8733ae17e7
Forgot to save before last commit... 2020-11-16 22:30:51 +01:00
Bernd Bestel
512ef745da
Don't expose uihelper views via the API / allow to get stock_log via generic entity interaction endpoints (no edit) 2020-11-16 22:18:37 +01:00
Bernd Bestel
7b4edf3147
Adapt shopping list add expired products for #851 2020-11-15 22:38:21 +01:00
Bernd Bestel
b393998601
Distinguish expiry/best before dates (closes #851) 2020-11-15 19:53:44 +01:00
Bernd Bestel
1d1642b464
Make the quick consume buttons on the stock overview page configurable per product (closes #613) 2020-11-15 09:57:45 +01:00
Bernd Bestel
d1846b76ff
Fixed parent product selection (fixes #1128) 2020-11-15 09:12:14 +01:00
Bernd Bestel
62c9c285ba
Document API changes in grocy.openapi.json (closes #969) 2020-11-14 21:26:16 +01:00
Bernd Bestel
62997d39bc
Removde the /objects/{entity}/search API endpoint, added the new filter capabilities to /objects/{entity} (references #985) 2020-11-14 11:27:13 +01:00
Bernd Bestel
b0b3322266
Also relate the shopping list amount to QU stock 2020-11-13 17:30:57 +01:00
Bernd Bestel
c360cbec4c
UI strings/tooltips/basic handling review/optimizations 2020-11-12 21:35:10 +01:00
Bernd Bestel
68eeb07e5f
Test/review/rework (and hopefully finalized) new price handling 2020-11-10 18:11:33 +01:00
Bernd Bestel
33a6a28208
Also use the productamountpicker on the shopping list item page (refernces #1015) 2020-11-09 22:15:25 +01:00
Bernd Bestel
b6f4cfa851
Also use the productamountpicker for inventory (refernces #1015) 2020-11-09 21:51:55 +01:00
Bernd Bestel
8bd157ca9d
Use producamountpicker "everywhere" (closes #1015) 2020-11-09 19:25:46 +01:00
Bernd Bestel
4c399392eb
Fixed recipes page when there are no recipes 2020-11-08 21:44:39 +01:00
Bernd Bestel
0134535a5e
Fix/workaround for undfined constant GROCY_LOCALE 2020-11-08 21:37:43 +01:00
kriddles
de85cb9e04
limit to normal recipes (#1111) 2020-10-31 16:25:33 +01:00
kriddles
9bbcdafab9
Add purchased date to inventory (#1102)
* Add purchased date to inventory

* Clarify stock settings label

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-10-29 17:04:34 +01:00
Bernd Bestel
94214b867a
More authentication refactoring to also provide "plugable" credentials handling (references #921, needed for #305) 2020-10-19 18:38:12 +02:00
Bernd Bestel
9f88dd3af3
Fixed login did not work 2020-10-19 17:19:13 +02:00
kriddles
f7a1634442
typo (#1062) 2020-10-18 13:57:10 +02:00
Bernd Bestel
5ed7a0ca53
Don't strip boolean values (references #996, fixes #1055) 2020-10-17 11:15:31 +02:00
kriddles
cd65195532
add purchased date to purchase (#1056) 2020-10-17 10:54:10 +02:00
Bernd Bestel
c11001467b
Sanitize user input on all API routes (references #996) 2020-10-14 22:49:29 +02:00
fipwmaqzufheoxq92ebc
a85998dd40
Improvements (#1049)
* 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>
2020-10-14 17:48:37 +02:00
SourceFactory.at
617b25bda8
added button to add expired products to shoppinglist (#1026)
* 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>
2020-10-04 15:20:34 +02:00
Bernd Bestel
4b5b7bcb19
Applied formatting rules for by #1000 changed files 2020-09-14 11:20:29 +02:00
fipwmaqzufheoxq92ebc
5056ca9397
Some bug fixes. (#1000)
* 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
2020-09-14 11:15:11 +02:00
fipwmaqzufheoxq92ebc
0454c128f0
Stock-Journal: API, Summary, Done By (#989)
* 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>
2020-09-06 13:18:51 +02:00
Bernd Bestel
7498d8f13d
Applied formatting rules for by #986 changed files 2020-09-06 10:10:30 +02:00
fipwmaqzufheoxq92ebc
85a95f1973
Apikeys (#986)
* 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>
2020-09-06 10:00:49 +02:00
Bernd Bestel
836bcc82e5
Applied PHP-CS-Fixer rules 2020-09-01 21:29:47 +02:00
fipwmaqzufheoxq92ebc
32a4f81f62
Filtering of API-Results (#985)
* 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>
2020-09-01 19:59:40 +02:00
Bernd Bestel
60f3d900e8
Display "Track date only"-chores as all-day also in iCal API endpoint (references #941) 2020-09-01 19:32:28 +02:00
Bernd Bestel
d4c5da2173
Applied PHP formatting rules 2020-08-31 20:40:31 +02:00
fipwmaqzufheoxq92ebc
07beee93a9
Add user-field-type "file" (#977)
* Add user-field-type "file"

* Add userfield-type "picture"

* Also limit image height on userfieldsform

* Prevent empty userfields (cause warnings in tables after deleting a file)

* Show files in dialogs

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-08-31 20:07:46 +02:00
fipwmaqzufheoxq92ebc
6f8ad9b76e
Locales: use http-accept-language or cookie (#976)
* 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>
2020-08-31 19:11:51 +02:00
Bernd Bestel
747660d909
Return API exceptions with proper content type 2020-08-29 19:29:24 +02:00