Commit Graph
1435 Commits
Author SHA1 Message Date
OliverandGitHub 431a6e49a0 fix concurrent update issues (#12380)
- Ensure database values are used for delta updates
- Regression tests
2026-07-13 18:53:18 +10:00
OliverandGitHub dd05611ea4 Hardening build outputs (#12376)
- ensure outputs cannot be double completed
2026-07-13 18:53:07 +10:00
OliverandGitHub 31f97934d0 [bug] Child fix (#12374)
* Remove outdated helper

* Fix children prop and add regression test
2026-07-13 18:48:49 +10:00
OliverandGitHub 766a8b41db [refactor] Remove MPTT mixin from StockItem model (#12360)
* Remove MPTT from StockItem model

* cleanup stock fixture file

* Remove tree rebuild code for StockItem

* Adjust API

* Update CHANGELOG  and API version

* remove tree references

* Additional checks

* Remove unused tests

* Add data migration test

* fix fk fields

* Cleanup

* Tweak unit test

* Revert bulk-create in unit test

* Don't rebuild StockItem models

* Add bulk_create_and_fetch helper model

- Overcome limitations of mysql

* Add unit test for new bulk-create helper

* Apply new helper to codebase

* Adjust unit test

* bug fix

* Adjust query limits

* Remove assert
2026-07-13 15:09:27 +10:00
OliverandGitHub 85e13b26ec Prevent duplicate receive operation on ReturnOrder (#12368) 2026-07-13 14:53:01 +10:00
OliverandGitHub a19771dec9 Progressive falloff for delay (#12369) 2026-07-13 14:52:40 +10:00
OliverandGitHub 0b3ba6c4eb [bug] Transfer order fixes (#12367)
* Handle failed transfer order transaction

* Prevent duplicate completion of transfer order
2026-07-13 14:35:07 +10:00
OliverandGitHub 32ca78f65c [bug] prevent double-complete of shipments (#12366) 2026-07-13 14:34:08 +10:00
OliverandGitHub c5e81a7820 [UI] Preview Drawer (#12117)
* Add <GlobalPreviewDrawer> component

* Allow plugins to interact

* provide either pk or instance data

* open preview drawer from calendar views

* Launch preview drawer directly from tables

* Add preview types

* Fix types

* CLear data on close

* Fix transition

* Allow caller to pass preview component

* AttributeGrid

* Use a table component

* Display info items

* Navigate to detail page from drawer

* Updates

* Refactor to use part detail view

* Display parameters

* Fix image caching

* Apply same to StockItem

* Remove old component

* Refactor details grid component

* Preview panel for PurchaseOrder model

* Implement for SalesOrder

* Support ReturnOrder

* SupplierPart and ManufacturerPart

* Support preview in parameteric tables

* support Company and BuildOrder

* Fix numbervalue

* BuildOrder and SalesOrderShipment

* location and category

* add user setting

* Fix typing

* Handle link clicks within preview drawer

* fixes

* Implement onClose callback

* Handle row click when panel preview is disabled

* Support custom detail links

* update playwright tests

* UI tweaks

* Add CHANGELOG entry

* docs

* define default API params per model type

* Split out more docs pages

* Simplify state ref

* Refactoring

* Simplify PreviewDrawer component

* observe user setting in calendar view

* Enable PreviewDrawer from RowViewAction

* Push render functions onto ModelInformation dict

* Fix lib compilation

* Refactor internal uses of RowViewAction

* typescript fixes

* Simplify PreviewDrawer component structure

* remove TODO placeholders
2026-07-12 20:11:27 +10:00
OliverandGitHub b42521f205 [refactor] Bulk actions (#12359)
* Add helper to bulk offload task

* bulk offload events

* Add unit test for bulk_offload_task

* Add context wrapper for bulk event creation inside looped funcs

* Add batching for stock tracking events

* Context wrapper for capturing offloaded tasks

* apply batching to other stock adjustment endpoints

* Add benchmarking tests for other API endpoints

* Benchmark test for serialize stock

* Reduce commet verbosity

* Apply benchmark to PO receive

* Refactor benchmarking

* PrefetchedPrimaryKeyRelatedField

- Provides O(1) lookup for serializer validation
- Significant improvements for large datasets

* Adjust unit test code

* Check for correct order of tracking operations
2026-07-12 15:58:09 +10:00
OliverandGitHub 4e00e2d0c6 [feature] Break apart assemblies (#12310)
* Implement API endpoint for stock disassembly

* Add basic frontend implementation

* Adjust required user permission

* Add preFormContent

* Read-only if serialized

* Adjust location and status of each subcomponent

* Handle null value

* display installed items in frontend form

* More unit tests

* Traceability

* Add docs

* Exclude virtual / consumable stock

* Additional docs

* Added bundled items docs

* More docs

* more docs tweaks

* Updated part docs

* Add playwright tests

* Robustify test

* suppress certain warnings in schema

* Adjust playwright tests

* bug fix

* Tweak playwright tests
2026-07-12 13:31:10 +10:00
OliverandGitHub 35eb839f08 [refactor] Refactor StockItem methods (#12358)
* Refactor StockItem methods

- Refactor out common functionality
- Code cleanup

* Cleanup

* Prevent override of existing deltas
2026-07-11 18:48:37 +10:00
OliverandGitHub 4bff83108f Remove dead pricing code on Part model (#12357) 2026-07-11 17:49:28 +10:00
OliverandGitHub 89d11e9e37 Fix data import bug (#12355)
- Fixes bug where imported data headers get out of sync
- Additional unit tests
2026-07-11 12:05:14 +10:00
OliverandGitHub 29fa66a75f Improved error context (#12350)
- More useful error messaging if a task fails
2026-07-10 20:32:35 +10:00
OliverandGitHub a1787c659c Bug fixes for PO receive (#12349)
* Bug fixes for PO receive

- Fix shadowed variable
- Notify listeners for all received items

* Cache part subs
2026-07-10 20:31:57 +10:00
OliverandGitHub 83508f4b12 [UI] Page Load Improvements (#12334)
* Parallel initial requests

* Remove debouncing

* Refactor lazy loading of desktop / mobile view

* Reduce initial waiting for loadable components

* Fix duplication of API calls

* Further reduce duplicate calls

* Combine user roles into /user/me/ endpoint

* lazy load global import drawer

* lazy load table in plugin context

* Patch ScanButton

* Added playwright tests for login

* Adjust thresholds
2026-07-10 18:08:25 +10:00
OliverandGitHub ae12fa342a Currency options fix (#12343)
- Ensure currency options are loaded dynamically
2026-07-10 00:21:01 +10:00
OliverandGitHub aec215ca2f [UI] Docs links (#12342)
* Simplify navigation links

* simplify version.py

* Simplify docs links

* Consolidate
2026-07-10 00:00:34 +10:00
OliverandGitHub c9d98cb545 Import internal price (#12341)
* Enable download from frontend panels

* Enable data import for part internal pricing

* Bump API version

* Update CHANGELOG
2026-07-09 23:17:41 +10:00
OliverandGitHub d041e251d2 [bug] Plugin load fix (#12329)
* Update plugin name

* Backup accessor for plugin name

* Add null check for plg_db
2026-07-09 10:37:07 +10:00
a616e7826c Fix notes on part creation (#12332)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-07-09 08:00:32 +10:00
OliverandGitHub 6cc356220f Fix currency choices for PartPricing model (#12336)
* Fix currency choices for PartPricing model

- Remove dynamic choices from model definition
- Move validation step to the serializer
- Add validator to ensure only valid currencies can be used

* Add regression test

* Bump API version
2026-07-09 06:37:24 +10:00
OliverandGitHub b63d829891 Fix for stocktake exporter (#12324) 2026-07-08 09:06:03 +10:00
OliverandGitHub 69ae28d0df [bug] Barcode bug fix (#12319)
* [bug] Check for null line_item when receiving items

* Additional unit testing

* Additional context

* Fix tests
2026-07-07 13:47:46 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
77ddc49b3a New Crowdin translations by GitHub Action (#12284)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-07 10:52:00 +10:00
OliverandGitHub ed62b5d9dd Pricing bugs (#12305)
* bug fix for get_price method

- Remove unused argument moq
- Allow case where 'multiples' = False

* Error handling for convert_to

* Error handling for PartPricing.save

* Remove unused function

* Revert function definition

* coverage ignore
2026-07-06 22:09:12 +10:00
e6a12564f3 [feature] Consumable part (#12295)
* Add "consumable" field to the Part model

* Add frontend integration

* Add badge

* Add docs

* Updated docs

* Add API filtering for new field

* Adjust API filters

* Update backend logic

* Adjust frontend

* Additional unit tests

* Update API version

* update test

* Add consumable icon

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-06 21:12:24 +10:00
5df2adae6d Fix OpenAPI multipart file fields to use binary format (#12298)
* Fix OpenAPI multipart file fields to use binary format

Fixes #11246

* Update API version

* fix api version

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-04 07:58:53 +10:00
OliverandGitHub f93c813bb4 [db] Fix for UUID fields (#12301) 2026-07-04 07:57:55 +10:00
OliverandGitHub 15c64d6695 [API] Refactor API for duplicating objects (#12294)
* Implement generic serializer for custom model duplication

* Apply pattern to BuildOrder

* Add more generic options

* Bump API version

* Adjust default option

* Refactor existing implementations

* Dynamic class typing

* Add duplicate field to more model types

- Company
- ManufacturerPart
- SupplierPart
- SalesOrderShipment

* Implement parameter duplication for more models:

- Company
- ManufacturerPart
- SupplierPart

* Simplify code

* Refactor
2026-07-03 18:04:59 +10:00
Matthias MairandGitHub 5595a0a52b fix test assumption (#12296) 2026-07-03 16:46:06 +10:00
OliverandGitHub 609e5ee105 Check build complete (#12289)
* Display non-field errors in table field

* Refactor validation for build output completion

- Run validation BEFORE trying to complete (serializer validation)
- Refactor and simplify common code

* Adjust unit tests

* Fix typing

* Remove debug
2026-07-01 16:47:33 +10:00
OliverandGitHub 09f85aeae9 [UI] Tree select in form fields (#12217)
* Add TreeField component

* Add chevrons in dropdown menu

* Custom node rendering

* Add childIdentifier

* Ensure full value gets displayed

* Fix for search results

* Refactor old renderers

* Override field types

* use definition filters

* Better location validation messages

* Tweaks

* Fix unit test

* Include icon

* Fix playwright test

* Fix call to onValueChange

* Updated playwright tests

* Use pathstring in selectedLabel (if available)

* Mark structural nodes

* Retain selected value when dropdown open

* Add better placeholder values

* Simplify field selection
2026-06-30 22:59:04 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
7a81aa216f New Crowdin translations by GitHub Action (#12251)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-30 22:27:02 +10:00
OliverandGitHub fb280d80e7 Fix for STOCK_COUNT event (#12281)
* Fix for STOCK_COUNT event

- Prevent double emission of event type string

* adjust unit test
2026-06-30 18:54:35 +10:00
OliverandGitHub 414aac0224 Fix stocktake bug for counting serialized items (#12280)
* Fix stocktake bug for counting serialized items

* Add unit test
2026-06-30 15:39:05 +10:00
Matthias MairandGitHub 56679e4b31 chore(backend): dep bump (#12258)
* general deps bump

* cleanup other dep files
2026-06-26 09:56:01 +10:00
Matthias MairandGitHub 8f73d9291b chore(backend): typing fixes (#12247)
* bump ty

* various fixes

* fix settings

* bump stubs

* update pre-commit setup

* update ignore

* fix various issues

* fix style

* fix ignores

* fix wrong ty warnings

* ignore __class__ type checking errors
see https://github.com/astral-sh/ty/issues/3122

* fix exception logging

* update ignoring

* bump ty further

* add cleanup cmd

* Merge branch 'master' of https://github.com/inventree/InvenTree into typechecking-remove-ignore

* bump ty

* remove now unused class ignores
2026-06-26 08:04:36 +10:00
OliverandGitHub e847d96a88 Bug fix for exception handler (#12257) 2026-06-26 08:02:38 +10:00
OliverandGitHub 39b74c7e87 Skip "many" fields in DataExport (#12255)
- Exporting multi-dimensional datasets requires a custom exporter
2026-06-25 22:44:32 +10:00
OliverandGitHub e5fa67ca9f Project code active (#12250)
* Add 'active' field to the ProjectCode model

- Allows retiring of old project codes without deleting

* Update UI table

* Refactor ProjectCodeField

* Add unit test

* Bump API version and CHANGELOG
2026-06-25 14:26:53 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
d1f91e8b4e New Crowdin translations by GitHub Action (#12238)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-25 10:51:57 +10:00
4cfefc18c1 Allow stock transfer to merge into existing stock (optional) #6951 (#12022)
* working on merge transfer

* fix history when merging

* update messaging, add 'added' line in history

* reworked history logic

* removed old transfer logic

* remove formatting changes from vite file

* Bumped API version, added entry in docs for new global setting

* removed the tracking item overwrite, Use existing tracking event from transfer

* run pre-commit checks

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-25 00:24:33 +10:00
Matthias MairandGitHub de736ee5de !feat(backend): bump minimum python version (#12223)
* bump ci versions

* bump installer version

* bump tooling version ref

* bump doc refs

* bump / refactor code refs

* bump debug ref

* remove now unneeded deps

* bump release version

* remove distutils

* fix finder call

* remove old compat code

* add changelog entry

* lower cov target for now
2026-06-24 17:42:35 +10:00
OliverandGitHub 09f11a27d9 [report] Tweak datamatrix helper (#12240)
* [report] Tweak datamatrix helper

- Add support for "rectangular" display
- Support different image output formats

* Fix unit tests
2026-06-24 17:42:32 +10:00
OliverandGitHub 7e59c92422 1.5.0 (#12239)
* Add release entry for 1.4.0

* Add blank entry for 1.5.0

* Bump version to 1.5.0 dev
2026-06-24 13:53:58 +10:00
OliverandGitHub 74dc21b81c [bug] Allocated query fix (#12234)
* Fix BuildLineFilter.filter_allocated

- Required for mysql backend

* Spoecify output field
2026-06-24 12:49:43 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
6a2094e2a0 New Crowdin translations by GitHub Action (#12192)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-24 11:44:51 +10:00
Matthias MairandGitHub f21bc2d06f extend barcode scans API (#12233)
* extend barcode scans with user perm check

* fix import

* fix call

* align error message

* add missing permissions to test

* remove erronous assign

* ensure permission erros knock through
2026-06-24 10:45:26 +10:00