* 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>
- 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
This is a workaround for now. The tables are still DOM sourced because of too big dependencies between server side rendering and frontend JS code. The tables are initially load while tbody is hidden, this results in a speedup by around 65 %.