Commit Graph

329 Commits

Author SHA1 Message Date
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
Bernd Bestel
86300b7025
Refined permissions by existing feature structure (closes #971, references #960) 2020-08-29 18:31:28 +02:00
Bernd Bestel
a8395cb748
Fixed undefined constants warning on the 404 error page 2020-08-29 17:12:31 +02:00