* Remove django-allauth-2fa Fixes #6281 * fix req * fix file again * remove allauth_2fa flows * reintroduce otp * fix rq * remove old ref * remove otp things from settings * reintroduce otp codes * remove totp section * bump version * fix reqs * add missing model * ignore TOTP migration if the model is not laoded * add model deps * add extra migrations step for easier testing * add migration testing * remove old catch * cover static devies too * remove more old stuff * fix import * mrege migrations * bump API version * switch to allauth.usersessions * add headless * re-add saml/openid * user sessions cleanup * turn off normal allauth urls if CUI is not active * disable tests that rely on old endpoints - to be replaced * always track session changes * remove old allauth templates * remove old ref * add missing model * fix session lookup * always logout when pwd is changed * reimplement session ending * fix merge * upgrade reqs * lower cryptography version * clean allauth_2fa reference * disable test temporarly * fix migration check * disable tests temporarly * Re-implement auth flow using new APIs; adds MFA to PUI * re-implement logoff * stop failure message from appearing when in MFA flow * remove jwt mention * fix: email endpoints (to be cleaned TODO@matmair) * remove unused endpoints * ignore the now often-used 410 error * fix auth for email actions in MFA scenarios * add mfa listing use build-in forms * add dummy entry for missing frontend urls; see TODO@matmair * remove unneeded change of confirm url * add mfa reg endpoint (not fully implemented) * implement more provider stuff * simplify calls * make calls more robust * switch to browser based sessions * add todo's * update api version * remove x-session, not needed anymore * remove old urls * remove ui preference - there is no decision anymore * fix login redirect logic * change name to ensure 1p can detect field * add mfa table * fix remove sso provider account action; provider (user) admin stuff is done * reduce templates to the raw basics * fix tests * more exclusions * rewrite url structure * move buildin token test * re-enable registration tests * re-implement registrations * enable registration for now * re-implement password change * adjust tests * fix asserts * align names with allauth * simplify * refactor and rephrasing * fix nesting issue * clean up urls even more * add mfa add and remove screens * add type * revert dep change * fix api version * re-add settings * simplify urls * Add timeout to login wait for * fix url assertation * remove unneded mfa_enabled * add setting for configuring types * bump api version * fix password reset flow * change settings order * save auth context * rename var to remove confusion * make login/register seperate paths * make info text better * adjust urls * add error message * disable buttons if no email is set * add custom adapters for MFA and headless authentication to use upstreamed features * move auth settings to status * respect more settings * update settings * bump api version * remove depreceated docs part * remove dj_rest_auth stuff * fix api_version bump * remove temp fix * fix provider login * remove unsupported option * remove hash requirement for now * simplify customisation * implement email-verification * remove auth from api docs * fix override of get_frontend_url details in https://codeberg.org/allauth/django-allauth/pulls/4248 * bump api again * fix req * Revert "remove hash requirement for now" This reverts commit 00bb6c5274ee673948280ec084831edfa40ec3de. * remove usage of git repo * fix doc string * extend schema generation to just patch in allauth * patch allauth OAI ref names * reduce types * refactor code structure * fix ref patching a bit more * add param cleanup * ensure strings, number, bools are handled correctly in cleanup * move fnc * shorten names * bump allauth * re-add auth doc section * fix doc structure * revert playwrigth change * ckean up browser only path * clean up parameters that we do not use * re-add 2fa required middleware * fix mail sending hook * fix password set texts * Add forced mfa setup * remove type * adjust api_version * Remove debug prints * Add error message for TOTP creation * Handle failed TOTP login * fix reqs * Add error on 409 during login * fix tested url * fix api_version * fix allauth version * minimize req diff * further minimize diff --------- Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.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.