91 Commits

Author SHA1 Message Date
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
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
fipwmaqzufheoxq92ebc
d60d981fd1
Refactor Authentication and add proxy-authentication (#921)
* Refactor Authentication-Middlewares

* Add Proxy-Authentication

* Disable "Logout" & "Manage Users" when using ProxyAuth

* Review

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-08-19 19:23:13 +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
42e6a8ef94
Added new API endpoints to get all user and config settings (closes #718) 2020-04-13 10:35:20 +02:00
Bernd Bestel
b971375881
Reimplemented CORS handling (fixes #681) 2020-04-13 10:00:29 +02:00
James Addison
ca9354064d
PSR7-decoupled rework of authentication fixup (#697) 2020-04-03 18:45:40 +02:00
Bernd Bestel
746203b82d
Allow any used HTTP request method for CORS (references #681) 2020-03-31 17:53:34 +02:00
Immae
a45317aea1
Add shopping location for price tracking (#658) 2020-03-25 19:34:56 +01: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
d4fa1a64c2
Upgrade Slim Framework to v4 (closes #561) 2020-02-11 17:42:03 +01:00
kriddles
c5f38689fa
Include product_group in recipe ingredient list (#556)
* Include product_group in recipe ingredient list

* Delete 0098.sql

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-02-10 18:04:57 +01:00
Bernd Bestel
23efe0c87a
Added an option to hide the calendar on the shopping list (closes #531) 2020-02-01 12:55:12 +01:00
Bernd Bestel
4c1c971f6d
Rename /stockedit and /stockdetail to match the "naming conventions" (references #421) 2020-01-27 19:19:09 +01: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
ef9f28d154 421 (#507)
* refactor to be stock/entry/{entryId}

* Allow recipeform add productworkflow

* on document ready stockdetail filter based on ProductPicker

* openDate fixes for undo

* RefreshStockDetailRow refresh location-id
2020-01-22 21:08:49 +01:00
Bernd Bestel
c22496ca7c
Fixed /stockedit opened checkbox (references #506) 2020-01-21 20:04:33 +01:00
kriddles
2a608c41e9 Stock detail updates (#493)
* Fix spelling

* stockdetail refresh with location name

* Stock updates

* change stock_row_id to id

* fix stockdetail refresh rows after clicking undo

* fix stockdetail consume spoiled
2020-01-17 17:54:34 +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
beetle442002
275db21740 ExternalBarcodeLookup (#458)
* Changed line 173 to /stock/barcodes/external-lookup/{barcode} fixes grocy/grocy#456

* Changed line 173 to /stock/barcodes/external-lookup/{barcode} fixes grocy/grocy#456 and I changed grocy.openapi.json to reflect the change
2019-12-08 20:46:37 +01:00
Bernd Bestel
5351828e79
Reuse existing shopping list items when adding products from the stock overview page (closes #375) 2019-09-24 18:27:50 +02:00
Bernd Bestel
c32ea087df
Added a little barcode scanner testing page (references #362) 2019-09-21 20:01:49 +02: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
ca9b8d068a
Reuse existing routes for the by-barcode API routes and complete them (references #331) 2019-09-20 10:45:58 +02:00
Bernd Bestel
58a69d650f
Added an API endpoint to add/remove products to stock by its barcode (closes #331) 2019-09-19 18:36:46 +02:00
Bernd Bestel
346b589534
Make it possible to test quantity unit plural forms (closes #261) 2019-09-18 20:21:09 +02:00
Bernd Bestel
096fb7a116
Implement custom entities / objects (closes #242) 2019-09-18 16:18:15 +02:00
Bernd Bestel
74f9470769
Implemented that chores can be assigned to users (closes #253) 2019-09-17 13:13:26 +02:00
Bernd Bestel
6094096675
Started working on qu unit conversion handling (references #177) 2019-09-15 16:40:54 +02:00
Marc Ole Bulling
d4eb767f1b Add API call for adding products to shoppinglist 2019-08-30 09:21:11 +02:00
Bernd Bestel
28716ed96c
First draft for printable location content sheets (references #341) 2019-08-10 16:34:29 +02:00
Bernd Bestel
fa326fdfda
Added an API endpoint to search for objects by name (closes #337) 2019-08-10 13:07:08 +02:00
Bernd Bestel
cc1c6a6442
Little changes for pull request #338 2019-08-10 08:33:30 +02:00
Forceu
1a23eaabf1
Add API call to remove an item from the shopping list by productid
This adds an API call, so a shopping list item can easily be removed

Please note: This is UNTESTED, as I was unable to run the current grocy master commit on my server.
2019-08-04 20:31:47 +02:00
Bernd Bestel
b4d2e2a20a
Added the possibility to undo a task (closes #252) 2019-07-06 20:34:01 +02:00
Bernd Bestel
482a520062
Slightly modified new recipe stock fulfillment API endpoints (references #289) 2019-07-06 15:28:49 +02:00
Aerex
a01a80578c Merge branch 'master' into add-resolved-recipes-endpoint 2019-06-20 23:40:55 -05:00
grocy
7a51fb77b0 feat: Added recipes/requirements route
- feat: Added requirements route to allow clients to access the requirements fulfilments of recipes
2019-06-20 23:11:57 -05:00
Bernd Bestel
57233dba1a
Added first basic version of meal planning (references #146) 2019-05-06 19:38:47 +02:00
Bernd Bestel
4c2cf4944d
Added a feature flag to also be able to hide all stock related UI elements and routes (closes #228) 2019-05-03 20:03:04 +02:00
Bernd Bestel
fc11da3c3f
Started working on user-defined-fields for all entities (references #176) 2019-04-22 22:16:35 +02:00
Bernd Bestel
cdd02efcc6
Implemented multiple/named shopping lists (closes #190) 2019-04-20 17:04:40 +02:00
Bernd Bestel
c1674d33b4
Make "next X days" configurable (closes #175) 2019-04-20 15:30:45 +02:00
Matej Drobnič
3f4a5cc0d6 Add fetch by barcode API method 2019-03-10 12:20:31 +01:00
Bernd Bestel
90291fdbca Added possibility to export the calendar in iCal format (closes #141) 2019-03-04 17:44:48 +01:00
Bernd Bestel
32e878afc9
Added feature flags to disable/hide parts not needed (closes #157)
grocy was initally about stock management, so this is always enabled, the rest can be disabled
2019-03-01 19:33:33 +01:00
Bernd Bestel
01e9e3f5ce
Move about dialog into separate view and add API endpoint for system info 2019-02-09 13:41:40 +01:00
Bernd Bestel
276bc94cc6
More improvements on the REST API (references #139) 2019-01-21 22:13:42 +01:00