* Refactor InvenTreeTree model structure
- Allow for tree with null items
* Refactor pathstring
* Factor pathstring out into a separate mixin
- Keep tree operations separate (in InvenTreeTree)
- Pathstring operations are now in PathStringMixin
* throw error
- Ensure that this func gets removed in future commit
* Fix node delete code
* Migrate "Build" model to new structure
* Add unit tests for Build tree structure
* Refactor StockLocationTreeTest
* Implement tree rebuild test for StockItem model
* Add unit test for stock item serialization
* Refactor "Part" model to use mixin
* Add unit tests for part variant tree
* Add test for node deletion
* Adjust unit tests
* Ensure items are not created with null tree_id
* Further unit tests and updates
* Fix unit tests
* Remove duplicate check
* Adjust build fixture
* Remove rebuild call
* Fixing more tests
* Remove calls to rebuild part tree
* Add test for tree fixtures
* Report tree rebuild errors to sentry
* Remove helper func
* Updates for splitStock
* Cleaner inheritance
* Simpilfy test
- tree_id is somewhat ephemeral
* Handle null parent
* Enforce partial rebuild if parent changes
* Fix
* Remove hard-coded "parent" references
* Fix order of delete operations
* Fix unit test
* Unit test tweaks
* Improved handling for deleting a root node
* Only set tree_id if not already specified
* Only rebuild valid tree_id values
* Cast to list
* Adjust unit test
- Test values were wrong, due to bad data in fixtures
* Do not bulk delete
- mysql no likey
* Enhanced rebuild logic
* Fix for unit test
* Improve logic for _create_serial_numbers
* Unit test fix
* Remove unused function
* use better email check
* add error code for missing email settings
* Add note when not registration is enabled
* fix wrong call
* fix tests - might be worth checking if the blank check for testing is a good idea
* capture issues and print to find out what the duck is going on
* exend log
* fix context check
* Better handling of URLs when loading plugin source
- Handle complex URLs more cleanly
- Support loading from actual external host
- Support loading with specified port
* Fix URL rendering - handle "local" and "remote" components
* Use default host if not provided
* Simplify code
* Add "category" filter for BomItem API endpoint
* Filter BOM table by part category
* Tweak filter label
* Bump API version
* Schema annotation
* Fix playwright test
* Add setting to show location path as plain text in tables
* Use the Location Path setting also for Default Location in the PartTable
* Add setting to show PartCategoty as plain text
* Set DefaultLocationColumn defaultVisible to false
* Fix typo
* Simplify settings keys
* Simplify the name attribute
* Fix typo
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Add "serialize" form to build output table
* Fix dependencies for useGenerator hook
* Improve serializing of stock
- Copy test results
- Ensure fields get copied across
* Fix rendering for StockItemTestResultTable
* Enhanced playwright test
* Fix code
* Fix for unit test
* 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
* Logic fix for LOCK_SETTING
- Because the setting is to "allow editing", it is really an UNLOCK setting
- This setting had to be DISABLED (false) to allow editing of completed orders
* Updated logic
* Tweak unit tests
* Filter incomplete outputs by location
* Filter build allocated stock by location
* Filter sales order allocations by location
* Bump API version
* Fix API version
* Fix annotations
* Refactor stock actions into a hook
* Cleanup hooks
* Allow transfer of "incomplete" outputs
* Simplify even further
* Enable transfer of stock allocated to build order
* Remove StockItemBriefSerializer entirely
* stock actions for items allocated to sales order
* Refactor <PartDetail> page
* Refactor <StockDetail>
* Refactor <LocationDetail>
* Bump API version
* Control serializer arguments
* Refactor stock actions into a hook
* Cleanup hooks
* Allow transfer of "incomplete" outputs
* Simplify even further
* Enable transfer of stock allocated to build order
* Remove StockItemBriefSerializer entirely
* stock actions for items allocated to sales order
* Refactor <PartDetail> page
* Refactor <StockDetail>
* Refactor <LocationDetail>
* Bump API version
* SO button text
- Observe the "SALESORDER_SHIP_COMPLETE" value
* Fix palywright tests
* Adjust UI wording
- Separation between "items" and "stock"
* Add info panel if build order has no required items
* Fixes for playwright testing
- Ensure cookies are completely cleaned between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000
* Remove gunicorn option
* Fix unit test
* Readjust base URL
* Simplify doCachedLogin
* Adjust text
* Ensure translations are extracted
- Otherwise, playwright will not find the right strings...
* Make admin test more reliable
* Remove asynciness
* Fix <AttachmentLink>
- Allow null "attachment" value
* Better implementation
* Cleanup