* Add setting for "mandatory" plugins
* Add 'is_active' method to PluginConfig model
* Check against plugin config object by priority
* Prevent plugin from reporting its own 'active' status
* Refactor get_plugin_class for LabelPrint endpoint
* Fix typo
* Mark internal plugin methods as "final"
- Prevent plugins from overriding them
* Enhanced checks for bad actor plugins
* Enhanced unit test for plugin install via API
* Playwright tests for plugin errors
* Test that builtin mandatory plugins are always activated
* Force mandatory plugins to be marked as active on load
* API unit tests
* Unit testing for plugin filtering
* Updated playwright tests
- Force one extra plugin to be mandatory in configuration
* Adjust unit tests
* Updated docs
* Tweak unit test
* Another unit test fix
* Fix with_mixin
- Checking active status first is expensive...
* Make with_mixin call much more efficient
- Pre-load the PluginConfig objects
- Additional unit tests
- Ensure fixed query count
* Fix the 'is_package' method for PluginConfig
* Tweak unit test
* Make api_info endpoint more efficient
- with_mixin is now very quick
* Run just single test
* Disable CI test
* Revert changes to CI pipeline
* Fix typo
* Debug for test
* Style fix
* Additional checks
* Ensure reload
* Ensure plugin registry is ready before running unit tests
* Fix typo
* Add debug statements
* Additional debug output
* Debug logging for MySQL
* Ensure config objects are created?
* Ensure plugin registry is reloaded before running tests
* Remove intentional failure
* Reset debug level
* Fix CI pipeline
* Fix
* Fix test mixins
* Fix test class
* Further updates
* Adjust info view
* Test refactoring
* Fix recursion issue in machine registry
* Force cache behavior
* Reduce API query limits in testing
* Handle potential error case in with_mixin
* remove custom query time code
* Prevent override of is_mandatory()
* Prevent unnecessary reloads
* Tweak unit tests
* Tweak mandatory active save
* Tweak unit test
* Enhanced unit testing
* Exclude lines from coverage
* (final)? cleanup
* Prevent recursive reloads
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Logic fix for plugins
- Prevent tasks being run for disabled plugins
* Adjust default value for "get_plugin" method
* Fix return type
* Update typing
* Tweak unit test
* Update unit tests
* More test updates
* move version tests
* factor out read_license_file
* add testing for license file
* ignore special case when we create the schema
* extent no found api tests
* extend info view tests
* try fixing test?
* fix?
* test user create api
* measure impact of removing bom import
* remove dead code
* Revert "measure impact of removing bom import"
This reverts commit bb31db05e3.
* remove dead code
* remove plugin tags that were made for CUI
* add testing for filters
* add test for config delete
* add more api tests
* adjust tests
* fix test
* use superuser
* adapt error code
* Add test for https://github.com/inventree/InvenTree/pull/9077
* add mixin_available mixin
* make check_reload more observable
* test check_reload too
* test clean_barcode
* reset after testing
* extend datamatrix testing
* debug print
* fix assertation