Commit Graph

248 Commits

Author SHA1 Message Date
fipwmaqzufheoxq92ebc
17094f56eb
Run database-Migrations in right order (#973) 2020-08-29 19:15:02 +02:00
Bernd Bestel
3b0d29bed0
Applied EditorConfig settings to all files 2020-08-29 16:41:27 +02:00
kriddles
22ca427ca9
Include location and shopping_location_id when opening products (#965) 2020-08-29 12:26:36 +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
4058925f40
Handle edited stock entries in GetProductPriceHistory (fixes #913) 2020-08-25 19:09:47 +02:00
Bernd Bestel
3b564294e3
Allow decimal amounts in general for the shopping list 2020-08-24 20:25:50 +02:00
Bernd Bestel
ece880ea44
Don't round up missing amounts and allow decimal numbers (fixes #758) 2020-08-24 20:16:21 +02:00
Bernd Bestel
95ca6f6354
Display "Track date only"-chores as all-day events on the calendar (fixes #941) 2020-08-24 18:27:40 +02:00
Bernd Bestel
fdb419fe55
Fixed errors while populating demo data 2020-08-22 17:59:42 +02:00
fipwmaqzufheoxq92ebc
923e027a4b
Some bug fixes. (#959)
* Fixes #956. Return 404 for missing objects in GenericEntityApiController.php

* Fixes #936 and #943. Include Products that expire today in /stock/volatile and "Expiring soon"-sum on stockoverview

* Fixes #881. Remove items of deleted shopping lists.

* Fixes #875. Prevent infinite nested recipes.

* Review

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-08-22 09:58:25 +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
fipwmaqzufheoxq92ebc
e7af74f550
use last Chore-Log when determining the next assigned person (#933) 2020-08-18 19:34:19 +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
29b4672346
Link to respective page on Calendar Event Click (#784)
* Link to Page on calendar event click

* Undo my Prettier Changes.. Oops
2020-04-22 18:03:05 +02:00
Bernd Bestel
1686fcca8e
Fixed that product-opened-actions had no transaction_id in stock_log (fixes #732) 2020-04-13 17:04:59 +02:00
Bernd Bestel
1fc802c30e
Typo/duplicated function (references #718) 2020-04-13 10:41:37 +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
b62d3b02e6
Only add not empty translation strings to POT in DEV mode 2020-04-12 20:31:30 +02:00
Bernd Bestel
86ef36d76a
Don't ignore the decimal part when editing a stock entry (fixes #616) 2020-04-12 15:22:36 +02:00
Bernd Bestel
615de378ba
Don't load demo_data strings in production setups 2020-04-12 14:22:18 +02:00
James Addison
4f8ef2859e
Fixup: paths for localization file existence checks (#710) 2020-04-09 08:29:44 +02:00
Bernd Bestel
4072dfd26f
Use default strings if any of the minor translation files is not available 2020-04-05 08:40:42 +02:00
kriddles
2fee4b45ff
set default store for product, purchase set last store purchased if available or use product default (#672) 2020-03-27 19:27:40 +01:00
Bernd Bestel
d7738aa1ec
Added some demo data to showcase the new price tracking per store feature (references #658) 2020-03-25 20:56:33 +01:00
Bernd Bestel
c3d4be352d
Fix product card chart rendering error when there is no shopping location (references #658) 2020-03-25 19:49:10 +01:00
Immae
a45317aea1
Add shopping location for price tracking (#658) 2020-03-25 19:34:56 +01:00
Bernd Bestel
f440604007
Fixed Location Content Sheet product ordering (fixes #590) 2020-03-06 20:56:11 +01:00
Bernd Bestel
e2bb3a7d00
Changelog & little changes for #592 2020-03-06 20:46:27 +01:00
DarienFord
b0ddc026f8
Added chore name when getting list of all chores. (#592) 2020-03-06 20:43:38 +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
97095d6e68
Typo... 2020-02-09 17:33:02 +01:00
Bernd Bestel
785dd30724
Fixed that the wrong FEATURE_FLAG was used (references #552) 2020-02-09 17:28:49 +01:00
Bernd Bestel
1953a26d7f
Changelog and small changes for #552) 2020-02-09 17:27:46 +01:00
kriddles
13f99ad5f2
CalendarService reflect config options for GetEvents (#552) 2020-02-09 17:22:54 +01:00
Bernd Bestel
5d83ec7967
Typo 2020-01-27 22:17:19 +01:00
Bernd Bestel
e84c7063d3
Consume any subproduct when consuming a recipe ingredient which is not in stock (fixes #446) 2020-01-27 22:14:11 +01:00
Bernd Bestel
71a57c9dcb
Implement "Free products" (closes #426) 2020-01-26 20:01:30 +01:00
kriddles
ac1be1e90f 450 updates (#518)
* prevent seeing undefinde if no recipes

* disable weekRecipeConsume if weekCosts are zero

* reword title

* Add meal plan notes and products to Calendar
2020-01-26 08:50:44 +01:00
Bernd Bestel
fd5a72264d
Meal plan recipe and notes also fit into one table (references #477) 2020-01-23 21:57:47 +01:00
Bernd Bestel
99d4b05a3c
Make purchased date on /stockedit editable / Dirty workaround for 2 datetimepickers on the same page (references #506) 2020-01-23 18:58:05 +01:00
kriddles
3baffcfe7b typo (#511) 2020-01-23 09:34:17 +01:00
Bernd Bestel
6300a8fd09
Typo... 2020-01-22 22:36:01 +01:00
Bernd Bestel
ec2551d263
Little refinements for #507 2020-01-22 21:17:04 +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
0816359867
Some refinements for #501 2020-01-21 20:45:34 +01:00
kriddles
3a36bdaf45 recipes can create products (#501) 2020-01-21 20:20:26 +01:00
Bernd Bestel
c22496ca7c
Fixed /stockedit opened checkbox (references #506) 2020-01-21 20:04:33 +01:00
Bernd Bestel
d0036e8034
Tried to simplify #503 (also references #487) 2020-01-19 09:52:23 +01:00
Grégory SACRE
61a45c030f Feature request : api/stock can return detailed products #487 (#503)
The response of the call '/api/stock' now returns a new attribute
('product') which contains the details of the related product.
2020-01-19 09:14:07 +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
Bernd Bestel
8e26bd2c31
Allow partial units during inventory (fixes #459) 2020-01-03 13:55:14 +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
21b9c1a8aa
Always use the proper URL for meal plan links in iCal calendar export (references #417) 2019-10-12 10:22:17 +02:00
kriddles
c6ae8cc348 Calendar descriptions (iCal export) (#417)
* controllers CalendarApiController: setDescription for events

* services CalendarService: include link to mealplan in calendar descriptions
2019-10-12 10:16:06 +02:00
Bernd Bestel
ba6bfa6a2c
Added a chore period type "yearly" (closes #407) 2019-10-04 11:24:51 +02:00
Bernd Bestel
e59a35c6d1
Also refresh the parent product on sub product actions on the stock overview page (closes #394) 2019-09-27 08:30:08 +02:00
Bernd Bestel
cf3217ada4
Fixed expired products count on stock overview page (fixes #392) 2019-09-26 16:42:59 +02: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
Marc Ole Bulling
f444d3e095 Fixed API call AddProductToShoppingList (#376)
$productId->id was undefined, therefore all items added to the shopping list with the API call had a null entry for "product_id"
2019-09-24 15:50:35 +02:00
Bernd Bestel
53c56cc1cb
Include meal plan recipes in the calendar (closes #368) 2019-09-24 09:40:56 +02:00
Bernd Bestel
66571f662f
Hotfix (will be included in v2.5.0 release): Don't break image loading when php-gd extension is not installed 2019-09-22 14:48:50 +02:00
Bernd Bestel
d16f3c2daf
Optimized demo instance localization & data handling 2019-09-22 08:21:15 +02:00
Bernd Bestel
d8360993cc
Internal change that the demo instances (stable and pre-release) can be served through a single instance for all localizations (references #241) 2019-09-21 15:07:29 +02:00
Bernd Bestel
e4437f5db1
Fixed that "Spoil rate" and "Average shelf life" on the product card was wrong in most cases 2019-09-21 13:30:44 +02:00
Bernd Bestel
c228126c3a
Added a new field calories for products (closes #268) 2019-09-20 20:06:24 +02:00
Bernd Bestel
292b652437
Updated localizations & improved some special and demo translation string data handling 2019-09-20 16:26:50 +02:00
Bernd Bestel
35a409f462
Fixed/refined some things regarding purchase/consume/inventory of products with enabled tare weight handling 2019-09-19 21:10:36 +02:00
Bernd Bestel
a4d479d047
Also consider opened products for minimum stock amounts (optionally, but by default) (closes #353) 2019-09-19 18:11:03 +02:00
Bernd Bestel
5e9a7fb7ca
Implemented browser barcode scanning (closes #102) 2019-09-19 12:48:02 +02:00
Bernd Bestel
ca470ed4ee
Fixed version display in prerelease mode 2019-09-18 17:27:47 +02:00
Bernd Bestel
096fb7a116
Implement custom entities / objects (closes #242) 2019-09-18 16:18:15 +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
d209c0bd22
Automatically downscale pictures to reduce page loading times (closes #275) 2019-09-18 11:04:59 +02:00
Bernd Bestel
3df44697bf
Implemented the option to automatically consume a product on tracking a chore execution (closes #279) 2019-09-18 10:02:52 +02:00
Bernd Bestel
0fa0138972
Implemented new Userfield type "Link" (references #258) 2019-09-17 19:33:06 +02:00
Bernd Bestel
0c27157db6
Implemented new Userfield type "Select list" (closes #325) 2019-09-17 19:11:06 +02:00
Bernd Bestel
bbd5ce1dc4
Typo... 2019-09-17 17:54:09 +02:00
Bernd Bestel
0771d58fe7
Fixed that /api/system/db-changed-time always returned the current time 2019-09-17 17:49:58 +02:00
Bernd Bestel
b5761ae544
Show to whom the chore execution is assigned in calendar events (references #253) 2019-09-17 16:28:11 +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
a799f2b43f
Finished qu unit conversion handling (closes #177) 2019-09-16 09:35:20 +02:00
Bernd Bestel
a0a0e104b0
Implemented product variations (closes #196) 2019-09-14 17:34:36 +02:00
Bernd Bestel
a4454f825a
Fixes/changes for pull request #349 2019-08-31 14:08:15 +02:00
Marc Ole Bulling
d4eb767f1b Add API call for adding products to shoppinglist 2019-08-30 09:21:11 +02:00
Forceu
411aad2398
Set stock amount to 0 instead of null if product not in stock
Without this the API returns null instead of 0 when queried for product stock amount
2019-08-13 12:20:14 +02:00
Bernd Bestel
28716ed96c
First draft for printable location content sheets (references #341) 2019-08-10 16:34:29 +02:00
Bernd Bestel
cc1c6a6442
Little changes for pull request #338 2019-08-10 08:33:30 +02:00
Marc Ole Bulling
1e33975a96 Use default best before date when adding product through API 2019-08-04 20:58:11 +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
87976b86d9
Also display price data from inventory corrections, not only purchases (fixes #303) 2019-07-07 09:25:13 +02:00
Bernd Bestel
b4d2e2a20a
Added the possibility to undo a task (closes #252) 2019-07-06 20:34:01 +02:00
Bernd Bestel
1eb1aa8b11
Added a "consume this recipe"-button to the meal plan (and also a button to consume all recipes for a whole week) (closes #283) 2019-07-06 20:02:40 +02:00
Bernd Bestel
b1adaa24cf
Fix session problem on 32 bit systems when using "stay logged in permanently" (fixes #278) 2019-06-08 16:47:45 +02:00
Bernd Bestel
9f2481a6a8
Fixed an issue when a plural translation is empty/null (can be the case for quantity units, fixes #259) 2019-06-08 16:32:23 +02:00
Bernd Bestel
d412b81eae
Hotfix (will be included in v2.4.0 release): Fixed a potential problem when the plural form of a translation (e. g. plural forms for user defined quantity units) is NULL 2019-05-10 21:22:53 +02:00
Bernd Bestel
338c6c0a9d
Added a new userfield type "preset-list" (closes #239) 2019-05-07 21:24:59 +02:00
Bernd Bestel
8504eb9b38
Finished first version of meal planning (for now closes #146) 2019-05-07 19:48:14 +02:00
Bernd Bestel
3f53919ddd
Also allow placeholders for plural translations (references #161) 2019-05-07 19:42:35 +02:00
Bernd Bestel
57233dba1a
Added first basic version of meal planning (references #146) 2019-05-06 19:38:47 +02:00