Open Source Inventory Management System
Go to file
Matthias Mair 0d1ab4e75a
feat(backend): Add user profile (#9116)
* Add user profile

* fix choice set

* ensure primary_group is valid

* add missing migrations

* fix tests

* merge migrations

* add migration test

* add new model to ruleset

* ensure changed to the m2m conenction also validate primary grups

* move signals

* fix import?

* patch user language through

* use set methods correctly

* bump api

* refactoring to make debugging and extending easier

* fix dum recurrsion problem

* fix user pk lookup

* rename migration

* add user and group page

* cleanup

* add hoverCard for user / owner / group render

* include owner_model in owner responses

* move user serializers to users

* add profile to list

* add brief serializer for profiles

* ensure profile is present in most apis

* extend rendered data

* store and observe langauge in profile

* reduce unneeded complexity

* enable access to full profle (including internal fields) in me serializer

* move theme to a single object

* persist theme settings

* fix radius lookup

* remove debug message

* fix filter

* remove unused field

* remove image fields

* add setting to control showing profiles

* fix settings

* update test

* fix theme reload

* Add contact UI

* Add profile edit screen

* fix test

* Add testing for user theme panel

* fix var name

* complete coverage of theme

* Add test for new pages

* make test more reliable in strict mode

* remove step

* fix ref

* add verbose names

* fix used setting

* extend tests

* fix permissions

* fix lookup

* use lookup to enuse ursls stay valid

* update migrations

* Add position field

* fix permissions
2025-03-04 22:57:20 +11:00
.devcontainer [Docker] Alpine image fix (#9118) 2025-02-21 18:02:39 +11:00
.devops Update azure testing settings (#8955) 2025-02-10 12:20:24 +11:00
.github Don't fail when diff is too big for echo (#9205) 2025-03-01 07:50:55 +11:00
.vscode [PUI] Switch linting to biome (#8317) 2024-11-12 11:03:08 +11:00
assets/images/logo Code structure refactor (#5582) 2024-04-03 12:16:59 +11:00
contrib [Docker] Alpine image fix (#9118) 2025-02-21 18:02:39 +11:00
docs [UI] Settings render (#9148) 2025-02-22 21:59:06 +11:00
src feat(backend): Add user profile (#9116) 2025-03-04 22:57:20 +11:00
.git-blame-ignore-revs Cleanups for refactor (#6933) 2024-04-03 19:59:02 +11:00
.gitattributes fix endline 2022-05-20 13:35:07 +02:00
.gitignore [dev] Devcontainer tweak (#9092) 2025-02-18 12:24:49 +11:00
.pkgr.yml Make libffi version more flexible (#7734) 2024-07-25 21:55:49 +10:00
.pre-commit-config.yaml chore(backend): bump devtools (#9088) 2025-02-18 18:57:48 +11:00
.python-version Fix dependabot version detection (#9080) 2025-02-15 07:45:49 +11:00
CONTRIBUTING.md Bump pre commit versions (#7255) 2024-06-25 20:52:34 +10:00
LICENSE Update LICENSE (#8089) 2024-09-08 09:52:00 +10:00
Procfile Fix typo in Procfile (#7043) 2024-04-16 08:53:03 +10:00
README.md Update azure testing settings (#8955) 2025-02-10 12:20:24 +11:00
SECURITY.md Spelling fix: dates -> days (#3193) 2022-06-14 10:07:48 +10:00
biome.json [PUI] Switch linting to biome (#8317) 2024-11-12 11:03:08 +11:00
codecov.yml [PUI] Add codecov bundler analyzer (#8097) 2024-09-14 09:30:30 +10:00
crowdin.yml Update crowdin.yml (#7985) 2024-08-25 13:17:24 +10:00
pyproject.toml Bump cryptography from 43.0.3 to 44.0.1 in /src/backend (#9064) 2025-02-12 17:14:37 +11:00
readthedocs.yml feat(backend): improve tag docs (#8960) 2025-01-28 09:42:13 +11:00
requirements.txt Admin shell (#6998) 2024-04-11 21:12:41 +10:00
runtime.txt Fix dependabot version detection (#9080) 2025-02-15 07:45:49 +11:00
tasks.py Include plugin file location in "invoke version" (#9176) 2025-02-26 08:41:11 +11:00

README.md

InvenTree logo

InvenTree

Open Source Inventory Management System

License: MITGitHub tag (latest SemVer)
CI
Documentation Status
Docker Build
Netlify Status
Performance Testing

OpenSSF Best Practices
OpenSSF Scorecard
Maintainability Rating

codecov
Crowdin
GitHub commit activity
Docker Pulls

GitHub Org's stars
Twitter Follow
Subreddit subscribers
Mastdon

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
Client
DevOps

🧰 Deployment / Getting Started

There are several options to deploy InvenTree.

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:

Martin Löper Oliver Lippert Seth Smith SpaceQuest Ltd Appwrite Cabot Technologies Markus Kasten Jess Haynes

With ongoing resources provided by:

Built with Depot Servers by Digital Ocean Deploys by Netlify Translation by Crowdin

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.