Commit Graph

53 Commits

Author SHA1 Message Date
Katharina Bogad
2a7fbbecf8 Fix bugs 2021-06-24 22:18:19 +02:00
Katharina Bogad
29f1119c16 Set root layout based on accept header 2021-06-24 16:05:32 +02:00
Katharina Bogad
9dab8a502f Moved view-specific GrocyConfig variables into own section
Additionally, GrocyConfig is now complete for every page
with the first line of the body tag.
2021-06-24 11:38:53 +02:00
Katharina Bogad
64b8195f62 viewjs: Code deduplication, Grocy. -> GrocyConfig. 2021-06-20 13:06:15 +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
Bernd Bestel
d78e156609
Use barcode defaults also for scan mode (fixes #1253) 2021-01-04 21:15:22 +01:00
Bernd Bestel
278a5f004a
Fix consuming when FEATURE_FLAG_STOCK_LOCATION_TRACKING is disabled (fixes #1229) 2020-12-29 18:06:56 +01:00
Bernd Bestel
2e3c237648
Fixed zero decimals handling (fixes #1213) 2020-12-23 19:56:37 +01:00
Bernd Bestel
eb4a748da3
Consume opened products first (closes #1183) 2020-12-19 10:28:35 +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
b393998601
Distinguish expiry/best before dates (closes #851) 2020-11-15 19:53:44 +01:00
Bernd Bestel
3fc3bdd34c
Make the help icons a little not so prominent 2020-11-15 15:23:47 +01:00
Bernd Bestel
17ae7e3d0c
Added a tooltip what scan mode is 2020-11-15 09:27:07 +01:00
Bernd Bestel
16b17b25a4
Reordered input fields 2020-11-14 11:07:36 +01:00
Bernd Bestel
9c81fc890b
Simplified "checkboxUncheckedValue" handling 2020-11-11 17:34:37 +01:00
Bernd Bestel
8bd157ca9d
Use producamountpicker "everywhere" (closes #1015) 2020-11-09 19:25:46 +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
kriddles
46e8123477
Allow price up to 4 decimals instead of 2 (#1077)
* Allow price to be 4 decimals

* remove logging

* Finalize custom decimal places by user setting

* Typo

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-10-20 20:08:54 +02:00
Bernd Bestel
9e982979c3
Allow 4 decimals for all amount inputs (this now closes #998) 2020-10-19 20:25:42 +02:00
Bernd Bestel
80beff2cae
Fixed price input decimals, started reviewing all number inputs (fixes #1076, references #998) 2020-10-19 20:03:26 +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
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
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
zebardy
1a5f3ce926
Convert services to singletons and use lazy loading to improve performance (#479)
* use singletons to reduce need to recreate the same objects

* unable to make the constructor private

* comment out debug printing to log file

* correct typo of treating self() as a var instead of a function

* utilise Localisation service as a singleton

* fix errent line that should have been commented

* remove phpinfo

* correct mistake in stock controller

* try storing app in apcu

* serialise inside the app closures

* get timings for db-changed-time

* get timings for db-changed-time

* store localisation service in apcu

* stor translations in apcu instead of localisation service (due to database connection)

* correct syntax error

* forgot to uncomment instance map

* correct indentation and variable out of scope

* more timings for app execution time

* try apc caching for views

* correct scope for Pot variable

* remove additional fopen

* correct timings for app build time

* correct timings for app object build time

* correct timings for app route build time

* get timings for routing timings

* get more in depth timings for routing loading

* fix more in depth timings for routing loading

* start investigating session auth middleware creation

* start investigating session auth middleware creation

* start investigating Login controller time

* start investigating Login controller time

* in depth look at Logincontroller timings

* comment out debug printing

* lazily obtain valus for page rendering

* correct syntax error

* correct scope of variable

* correct visibiity of methds inherited from BaseController

* missing use for Userfieldsservice

* lazy loading of open api spec

* lazy loading of users service

* lazy loading of batteries service

* lazy loading of services in controllers

* lazy loading of services in services

* correct mistake

* fix userservice

* fix userservice

* fix userfieldservice

* fix chores service

* fix calendar service

* remove Dockerfile used for development

* Remove docker compose file used for development

* Clean up app.php

* remove last diff

* Clean up base controller

* Clean up controllers

* lean up middleware

* Clean up and tuen all services into singletons

* remove debug from routes.php

* remove acpu from localisation

* Complete removal of acpu from localisation

* fixes for things broken

* More fixes following merge

* Fix for start up bug. Re factoring singleton code had brroken due to scope of clas var.

* fix bug where getUsersService is declared twice

* bug fixes following merge

* bug fixes following merge

* bug fixes following merge

* bug fixes following merge

* bug fixes following merge

* Fix all the not working things...

* Deleted off-topic files

* Deleted off-topic files

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-03-01 17:47:47 +01:00
Bernd Bestel
171d6af5e1
We don't need that switch-button, a native Boostrap button is enough and less disturbing 2020-02-03 21:21:42 +01:00
Bernd Bestel
3ca6982c39
Don't show and use scan mode in embedded mode (dialogs) 2020-02-02 13:13:18 +01:00
Bernd Bestel
b8c6ac6905
Fixed location_id handling when FEATURE_FLAG_STOCK_LOCATION_TRACKING is disabled (fixes #532) 2020-01-31 21:27:51 +01:00
Bernd Bestel
bad19721db
Make the scan mode switch-buttons a little bigger 2020-01-26 15:44:09 +01:00
Bernd Bestel
c7bcb9984a
Implemented "Scan mode" 2020-01-26 15:35:01 +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
a95d6be4f4
Added more product actions on the stock overview page (closes #327) 2019-09-20 13:37:53 +02:00
Bernd Bestel
cbf1d1ca40
Implemented stock sub-feature-flags (closes #314) 2019-09-19 17:46:52 +02:00
Bernd Bestel
9b2dba2397
Migrated (hopefully) all translations to PO/Gettext (references #161) 2019-05-01 20:19:18 +02:00
Bernd Bestel
8504429f5f Implemented tare weight handling (closes #132) 2019-03-05 17:51:50 +01:00
Bernd Bestel
77b0bc675c Varios small UI changes / improve UI consistency 2019-03-04 17:43:12 +01:00
Bernd Bestel
8020f92d6b
Track on consume for which recipe it was (closes #64 and references #64) 2019-03-03 18:20:06 +01:00
Bernd Bestel
10ea9c44fd
Make it possible to mark a product as opened (closes #86) 2018-11-17 19:39:37 +01:00
Bernd Bestel
816ca6460f
Make it possible to pick a specific stock item on consume (closes #62) 2018-11-17 17:51:35 +01:00
Bernd Bestel
bb5fd8360b
Fix double form submit when using ENTER (fixes #72) 2018-09-29 13:41:56 +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
71fc49252f
Modularize product picker 2018-07-14 14:43:57 +02:00
Bernd Bestel
37d1377f99
Fixed the rest of the broken stuff after the dependency upgrade party 2018-07-12 19:12:31 +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
bbb5f1c7c7
Rework general page layout and improve responsiveness (references #9) 2018-05-12 14:25:21 +02:00
Bernd Bestel
4656a85732
Added localization support 2018-04-16 19:11:32 +02:00