Commit Graph

337 Commits

Author SHA1 Message Date
Katharina Bogad
93b2c00600 Merge remote-tracking branch 'upstream/master' into modernjs 2021-06-18 21:15:43 +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
Katharina Bogad
f7bc6a3f6d Modernize Javascript
This *absolute commit monster* does the following things:

- Introduce gulp to build javascript and css files.

  This includes moving node_modules out of the public/ folder.
  Use `gulp --tasks` to get a list of all tasks; however some
  of them are automatically generated.

  Use `gulp live` to watch for changes and automatically recompile
  what's needed.

- Upgrade to yarn2
- Upgrade FullCalendar to 4.4.2

  I know that 5.x is the current version, but two major version upgrades
  are too much right now. Also v5 would break any custom css as they
  renamed a bunch of classes.

- Move Styles to sass

  (Most) global styles are now included in one sass file. This also
  means that we now compile our own bootstrap.

- Javascript is now in strict mode

  Because everything is a module now, `use strict` is now in effect
  for all javascript files. There are probably still some parts left
  where implicit variable declarations were used.

- grocy*.js were split up in modules.

  `window.Grocy` is now an instance of GrocyClass. API-wise nothing
  has changed (albeit some functions were added regarding Undo actions)
  At the Moment, this leaks a whole bunch of functions into window
  (that was easier than tracking those down).

- FindObjectIn... style functions were removed.

  Array.prototype.find and Array.prototype.filter suffice.

- Use babel to preprocess javascript.
- Use rollup to bundle javascript.

  rollup bundles and tree-shakes es6 javascript bundles.
  It also allows to "import" css files and generate css
  files specific to this javascript file. This is used
  in viewjs scripts, for example when importing FullCalendar,
  to generate an associated viewcss file.

- Use postcss to post-process css files.

  postcss uses autoprefixer to handle browser compatiblity.
  Internally this uses the package `browserslist`; and is currently
  configured to the default setting.

- Minify assets when building in production

  `gulp publish` builds all assets in production mode, that is,
  the assets get minified. This includes javascript as well as
  css files.

- css bundling

  concatCss is used to pull @imports of non-sass-files into one
  grocy.css

- animate.css is now in the main bundle

  animate.css was used in so many places that it is now located
  in the main style bundle.
2021-06-18 12:44:39 +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
8f877dc716
Pulled translations from Transifex 2021-01-05 10:45:09 +01:00
Bernd Bestel
d78e156609
Use barcode defaults also for scan mode (fixes #1253) 2021-01-04 21:15:22 +01:00
Bernd Bestel
97b93f23bd
Fixed/unified shopping list item button tooltips (fixes #1239) 2020-12-31 13:09:55 +01:00
Bernd Bestel
9f1692e31f
Improved shopping list item form validation (closes #1226) 2020-12-29 21:06:31 +01:00
Bernd Bestel
94e4ee0659
Pulled translations from Transifex 2020-12-22 10:31:06 +01:00
Bernd Bestel
ab29233f07
Added a head line on the shopping list print options dialog 2020-12-21 21:42:21 +01:00
Bernd Bestel
c1ac9e8a45
Optimized/clarified new "Hide product from stock overview" option (references #906) 2020-12-21 20:43:10 +01:00
Bernd Bestel
cf299a3d0b
Optimized file save/delete handling 2020-12-21 19:16:14 +01:00
Bernd Bestel
431a2ab9f7
Added new Userfield type "Link (with title)" (closes #790) 2020-12-21 17:57:48 +01:00
Bernd Bestel
3b1f8cba70
Moved the new copy/merge products buttons in a dropdown menu 2020-12-21 09:30:19 +01:00
Bernd Bestel
8f1ce607f7
Implemented user pictures (closes #1158) 2020-12-20 22:08:50 +01:00
Bernd Bestel
3f718eab60
Remove accidentally added localization strings 2020-12-20 21:00:48 +01:00
Bernd Bestel
c9b5e14473
Make it possible to merge products (closes #243) 2020-12-20 20:58:22 +01:00
Bernd Bestel
cef3086a63
Pulled translations from Transifex 2020-12-20 13:03:06 +01:00
Bernd Bestel
268b8e87d7
Make it possible to hide chores/batteries (closes #1069) 2020-12-20 10:19:44 +01:00
Bernd Bestel
832141a718
Made the shopping list print view configurable (closes #740) 2020-12-19 23:57:33 +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
7f24ffc484
Clarify string 2020-12-19 17:38:04 +01:00
Bernd Bestel
574d17fa52
General UI review/test 2020-12-19 14:03:28 +01:00
Bernd Bestel
eb4a748da3
Consume opened products first (closes #1183) 2020-12-19 10:28:35 +01:00
Bernd Bestel
13b18ef410
Removed unused localization string 2020-12-16 21:40:12 +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
1567b9d9d9
Added missing localization strings 2020-12-16 17:48:30 +01:00
Bernd Bestel
9e824a7afc
Pulled translations from Transifex 2020-12-11 17:41:55 +01:00
Bernd Bestel
19802bc122
Fixed localization string 2020-12-07 19:55:31 +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
2bdb6ab2d4
Use the products "Quick consume amount" optionally also on the consume page (closes #1148) 2020-12-04 18:16:58 +01:00
Bernd Bestel
604629ed5e
Added a button to download equipment instruction manuals (closes #833) 2020-11-17 21:01:45 +01:00
Bernd Bestel
6270f39688
Make Userfields reorderable (closes #1134) 2020-11-17 20:12:45 +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
e85b21384f
Remove "Allow partial units in stock" product option / unify number input validation messages 2020-11-16 17:10:41 +01:00
Bernd Bestel
7b4edf3147
Adapt shopping list add expired products for #851 2020-11-15 22:38:21 +01:00
Bernd Bestel
948bf0a9c4
Removed unused localization string 2020-11-15 20:08:45 +01:00
Bernd Bestel
b393998601
Distinguish expiry/best before dates (closes #851) 2020-11-15 19:53:44 +01:00
Bernd Bestel
9a7196b761
Make it possible to copy products (closes #571) 2020-11-15 16:05:25 +01:00
Bernd Bestel
3568fd9dcb
Added a "error info copy & paste" text box on the 500 error page 2020-11-15 15:12:15 +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
17ae7e3d0c
Added a tooltip what scan mode is 2020-11-15 09:27:07 +01:00
Bernd Bestel
3b73df57e5
Unify tooltips 2020-11-15 09:22:05 +01:00
Bernd Bestel
f85b89d4fa
Show a warning on purchase when purchased best before date is < in stock (closes #948) 2020-11-14 23:15:34 +01:00
Bernd Bestel
ed2239c1f6
Wording correction 2020-11-13 17:58:46 +01:00
Bernd Bestel
b0b3322266
Also relate the shopping list amount to QU stock 2020-11-13 17:30:57 +01:00
Bernd Bestel
ab68a51ba7
Recipe edit page fixes 2020-11-13 15:46:44 +01:00
Bernd Bestel
1056252117
Typo 2020-11-12 21:41:21 +01:00
Bernd Bestel
c360cbec4c
UI strings/tooltips/basic handling review/optimizations 2020-11-12 21:35:10 +01:00
Bernd Bestel
0245a925b7
Make it possible to hide columns (closes #1058)
Hide new overview page columns by default
2020-11-11 21:11:17 +01:00