* Cleanup UserDetail page
* Cleanup display
* Re-use UserTable
* Add 'users' permission role
* Check user roles in "admin center"
* Revert "Add 'users' permission role"
This reverts commit 35b047b2f9
.
* Improve display logic
* Expose group rule-sets to API
* Prefetch rule_sets
* Add 'label' to RuleSetSerializer
* Add basic RuleSet table
* Add API endpoints for RuleSet model
* Edit group roles via table
* Refactor user permissions checks
- Remove duplicate function calls
- Refactor permission checks into new file
* Further refactoring
* Even more refactoring
* Fix user settings permission
* Add TransferList component
* Tweak GroupDrawer
* Tweak UserDrawer
* adjust user groups via API / UI
* Allow "users" detail on Group API
* Bump API version
* Enumeration of RuleSet name
* Update
* Add permission check
* Update src/frontend/src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx
Co-authored-by: Matthias Mair <code@mjmair.com>
* uncomment warning
* Extend enum usage
* More checks
* Bug fix
* Fix permission checks
* Additional testing for user roles endpoint
* Updated permission classes
- RolePermission with read-only fallback
- RolePermission with additional staff requirement
* Do not allow creation of new RuleSet objects
* Cleanup permission checks and unit tests
* Cleanup UI permission checks
* Updated class dostrings
* Cleanup
* Cleanup permission checks for UserTable
* Add playwright tests for "permission" checks
- Basic for now
- Can be extended in the future
* Tweak unit tests
* Adjust layout of warning / error messages
* Tweak group table logic
* Table cleanup
* Display roles associated with a particular group
* Cleanup
* Tweak user detail page
---------
Co-authored-by: Matthias Mair <code@mjmair.com>

InvenTree
Open Source Inventory Management System
View Demo · Documentation · Report Bug · Request Feature
🌟 About the Project
InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications. A powerful plugin system provides support for custom applications and extensions.
Check out our website for more details.
🧭 Roadmap
Want to see what we are working on? Check out the roadmap tag and horizon milestone.
🛠️ Integration
InvenTree is designed to be extensible, and provides multiple options for integration with external applications or addition of custom plugins:
👾 Tech Stack
Server
Database
DevOps
🧰 Deployment / Getting Started
There are several options to deploy InvenTree.
Docker
·
·
Bare Metal
Single line install - read the docs for supported distros and details about the function:
wget -qO install.sh https://get.inventree.org && bash install.sh
Refer to the getting started guide for a full set of installation and setup instructions.
📱 Mobile App
InvenTree is supported by a companion mobile app which allows users access to stock control information and functionality.
👋 Contributing
Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the contribution page.
📜 Translation
Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged.
💸 Sponsor
If you use InvenTree and find it to be useful, please consider sponsoring the project.
💎 Acknowledgements
We want to acknowledge PartKeepr as a valuable predecessor and inspiration. Find a full list of used third-party libraries in the license information dialog of your instance.
❤️ Support
This project is supported by the following sponsors:
With ongoing resources provided by:
⚠️ License
Distributed under the MIT License. See LICENSE.txt for more information.