Commit Graph

38 Commits

Author SHA1 Message Date
Katharina Bogad
a8153a2cf2 Merge remote-tracking branch 'upstream/master' into modernjs 2021-06-24 23:22:59 +02:00
Katharina Bogad
f5da53a761
Migrated bootstrap3 col-xs-* to bootstrap4 col-* classes (#1521) 2021-06-24 22:46:47 +02:00
Katharina Bogad
598860017b Move components to main grocy bundle
Less stalled requests. Still not optimal though.
2021-06-21 13:14:37 +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
8ec7e9923c
Fixed productcard aggregated amount was in wrong line 2020-11-19 18:41:09 +01:00
Bernd Bestel
6e867cafbd
Unify/remove used icons 2020-11-14 11:59:49 +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
d82fd09fba
UI test/review 2020-11-08 15:09:10 +01:00
kriddles
ff254f8db2
stock entries button on product card (#1079) 2020-10-20 20:14:25 +02:00
Bernd Bestel
33325d5560
Applied .blade.php formatting rules 2020-08-31 20:32:50 +02:00
kriddles
e8845fe2e8
Qu factor purchase to stock & Product Barcode Details (#801)
* 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>
2020-08-17 21:47:33 +02:00
Bernd Bestel
05aceb72ae
Squashed commit
- Only refresh contextual number/datetime info/formatting where needed (closes #513)
- Also refresh correlated stock journal entries on undo (closes #471)
- Prefill "New amount" with the current stock amount on the inventory page (closes #434)
- Ensure that the location_id of the stock and stock_log tables is never empty after migration 95 (references #421)
- Load initial values of the /stockedit form server side to improve loading performance (references #421)
- Use more or less the same input ordering as on the purchase page for the /stockedit page (references #421)
- Also display the "Compact view" button on the shopping list page when FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS is disabled (references #453)
- Ensure that the currently active sidebar menu item is visible
- Optimized sidebar menu item grouping/spacing
- Properly order the API documentation route groups and put the "by-barcode" routes into a separate group
- Updated dependencies
- Pulled translations from Transifex
- Prepared changelog for next release
2020-01-27 19:00:49 +01:00
kriddles
6c7420ea08 Stock Service Updates (#421)
* viewjs consume: implement location and update stock specific

* Transfer Products

* services StockService#GetProductStockEntriesByLocation: add method

* services StockService#AddProduct: check for stock and locations

* services StockService: include location_id

* services StockService#LocationExists: add method

* services StockService#UndoBooking: fix based on stockRow

* Reimplement StockServer->TransferProduct (one loop for the whole action to preserve stock_id)

* Ensure that the location_id is never NULL in the stock and stock_log table (checked by an INSERT trigger, sets the products default location if empty)

* Only consider stock amount at the given location on consume, if supplied

* Restore more/old display text for "specific stock entry"

* Don't allow transfering tare weight enabled products

* Various small changes (code style, missing OpenAPI endpoint, remove location_id null checking)

* Updated translations strings

* Added transaction_id and correlation_id to stock_log entries to group them together

* ProductCard - location to default location label change

* Also undo correlated bookings on undo

* Added API endpoints for listing and undoing transactions and use them on purchase/consume/inventory/stockoverview

* Initial Stock detail page

* Allow Undo for Tranfers

* Price step to .01

* Some localization string changes & fixes
2019-12-19 19:48:36 +01:00
Bernd Bestel
2636456461
Show the journal of the product/chore/battery cards in a dialog 2019-09-27 16:54:40 +02:00
Bernd Bestel
81f6b58fe4
Added a button to jump to the journal on the product/chore/battery card 2019-09-27 14:19:06 +02:00
Bernd Bestel
21503c26d2
Use properly formatted numbers "everywhere" (partly references #389) 2019-09-26 15:25:30 +02:00
Bernd Bestel
653098a81e
Improved product picture display on the productcard 2019-09-20 20:10:03 +02:00
Bernd Bestel
cbf1d1ca40
Implemented stock sub-feature-flags (closes #314) 2019-09-19 17:46:52 +02:00
Bernd Bestel
918f84f568
Lazy load all images to increase page load times (references #275) 2019-09-18 13:59:37 +02:00
Bernd Bestel
597a9e3d21
Show aggregated product amounts also on the productcard (references #196) 2019-09-17 16:18:00 +02:00
Bernd Bestel
9b2dba2397
Migrated (hopefully) all translations to PO/Gettext (references #161) 2019-05-01 20:19:18 +02:00
Bernd Bestel
d72fe69a17
Show more info in product card (closes #173) 2019-04-22 10:11:58 +02:00
Bernd Bestel
bd483ec8b0
Added a context menu to all stock overview page items 2019-03-09 13:11:50 +01:00
Bernd Bestel
a403bb687a
Show amount of opened products on stock overview page and in product card 2018-11-18 13:17:36 +01:00
Bernd Bestel
b3da837ede
Added link to item edit page for all item cards (product/chore/battery) (references #93) 2018-10-22 19:13:08 +02:00
Bernd Bestel
8cf68ade30
Fix missing translation (references #85) 2018-10-06 18:02:13 +02:00
Bernd Bestel
f1fc0ee549
Finished first version of "pictures for products" (references #58) 2018-10-01 20:20:50 +02:00
Bernd Bestel
e777be4d3b
Replaced the default number input arrow buttons with own ones to better support touch input (references #44) 2018-09-08 12:04:31 +02:00
Bernd Bestel
c64eb27ca1
Add something for product price tracking (references #22) 2018-07-26 20:27:38 +02:00
Bernd Bestel
778191fd11
Fixed all (or most of) the broken stuff after the dependency upgrade party 2018-07-11 19:43:05 +02:00
Bernd Bestel
71701804ea
(More or less) finish upgrading to Bootstrap 4 2018-07-10 20:37:13 +02:00
Bernd Bestel
0954b5a741
Add option to not use URL rewriting 2018-06-15 20:50:40 +02:00
Bernd Bestel
607a90cccc
Use absolute URLs everywhere, this should fix #3 2018-04-18 19:03:39 +02:00
Bernd Bestel
4656a85732
Added localization support 2018-04-16 19:11:32 +02:00
Bernd Bestel
13566bc6fd
Modularize more components 2018-04-15 09:41:53 +02:00
Bernd Bestel
642f95a3f8
Finalize project reorganization 2018-04-14 11:10:38 +02:00