Commit Graph

116 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
29f1119c16 Set root layout based on accept header 2021-06-24 16:05:32 +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
3b342f90db viewjs: extract functions for DataTable Initialisation
Also revert back to use rollup-plugin-css-porter,
because rollup-postcss has issues and also doesn't work.
2021-06-20 09:17:11 +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
5953e42d70
Updated icons 2020-12-21 19:04:48 +01:00
Bernd Bestel
6eaee0c6f9
Fixed number display for quick consume buttons 2020-12-20 15:02:22 +01:00
Bernd Bestel
362b3f8508
Added min. stock amount column to stock overview (closes #856) 2020-12-19 17:25:13 +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
b5fc64cf5d
Fixed DataTables numeric/datetime sorting (fixes #1085) 2020-12-17 17:33: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
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
e85b21384f
Remove "Allow partial units in stock" product option / unify number input validation messages 2020-11-16 17:10:41 +01:00
Bernd Bestel
1bbd7787d8
More proper number formatting 2020-11-15 22:29:47 +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
c360cbec4c
UI strings/tooltips/basic handling review/optimizations 2020-11-12 21:35:10 +01:00
Bernd Bestel
6f3a3f62af
Typo 2020-11-11 22:39:24 +01:00
Bernd Bestel
0c8b6c55c1
Added total calories as a column to stock overview (references #1058) 2020-11-11 22:38:01 +01:00
Bernd Bestel
0a600d3277
Fix hide/view columns dialog did not work on pages with more than 1 table (references #1058) 2020-11-11 22:28:05 +01:00
Bernd Bestel
7c8a17ce78
Add calories as a column to stock overview (references #1058) 2020-11-11 22:06:01 +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
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
4lloyd
76cbf796b6
[WIP] Simplified overviews on mobile (#1115)
* 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>
2020-11-07 14:53:45 +01:00
Bernd Bestel
7b32d1d8a4
More compact page headers / streamlined new page design for all pages 2020-10-31 18:37:10 +01:00
Bernd Bestel
7d175563ca
Fixed stock overview status filter (fixes #1080) 2020-10-29 17:32:21 +01:00
Bernd Bestel
f93261404b
Fixed by PHP-CS-Fixer broken formattings 2020-10-18 15:08:09 +02:00
kriddles
5ae36e6ba8
Value information (#1045)
* 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>
2020-10-15 19:46:27 +02:00
kriddles
96c6faf208
fix expiring filter (#1051) 2020-10-14 22:59:58 +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
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
33325d5560
Applied .blade.php formatting rules 2020-08-31 20:32:50 +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
3b0d29bed0
Applied EditorConfig settings to all files 2020-08-29 16:41:27 +02:00
fipwmaqzufheoxq92ebc
b7d1b21f1d
[WIP] Implemented basic permissions (#960)
* 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>
2020-08-29 12:05:32 +02:00
Bernd Bestel
f28697e5b4
Added a "Clear filter" button on the stock overview page (closes #879) 2020-08-25 20:20:51 +02:00
Bernd Bestel
71a6cbef2d
First try on stock overview page: Make filter row more compact 2020-08-25 19:45:54 +02:00
Bernd Bestel
2c151fb4de
Do an exact search for product group and location filters on the stock overview pages (fixes #778) 2020-08-24 17:57:43 +02:00
fipwmaqzufheoxq92ebc
42dc55625a
Improve Performance (#927)
* Stock-Overview: Reduce amount of database queries and FindObjectInArray()-calls

* Speed-up stock_current by improving products_resolved and creating indices.

* Review

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-08-18 19:23:37 +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
Zack Arnett
4629df17b4
Cosmetic Update (#753)
* UI changes

* New (header) style was missing on some pages

* Added/changed new localization strings

* Unify page titles / apply .title class everywhere

* Reduce spacing below page title

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-04-19 14:51:02 +02:00
Bernd Bestel
71770540f6
Fixed stock overview page did not load when GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING is disabled (references #673) 2020-04-13 21:56:24 +02:00
Bernd Bestel
1390c65864
Show optionally an icon on the stock overview page if the product is already on the shopping list (closes #708) 2020-04-13 18:47:41 +02:00
Bernd Bestel
886721e972
Fixed consuming tare weight handling enabled products from the stock overview page (fixes #731) 2020-04-13 17:29:00 +02:00
Bernd Bestel
0f3a3887a2
Fixed that best before dates were displayed on the stock overview and stock entries page even with disabled GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING (fixes #673) 2020-04-12 14:17:52 +02:00
Mik-
71b62d5708
629 Make ellipsis menu in stock overview more responsive (#633)
* Make popup menues in table rows responsive

* Move "consum all" button to ellipsis menu on small devices
2020-03-21 15:52:51 +01:00
Bernd Bestel
890663bf63
Fixed the "Shopping list to stock workflow" with disabled FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING (fixes #537) 2020-02-02 13:01:31 +01:00