Oliver Walters
669ca7ef82
Simplify code
2026-07-02 12:43:31 +00:00
Oliver Walters
2c94854253
Add duplicate field to more model types
...
- Company
- ManufacturerPart
- SupplierPart
- SalesOrderShipment
2026-07-02 12:27:22 +00:00
Oliver Walters
5061e6b935
Dynamic class typing
2026-07-02 12:20:36 +00:00
Oliver Walters
0943733328
Refactor existing implementations
2026-07-02 11:13:35 +00:00
Oliver Walters
0d16a17fe3
Adjust default option
2026-07-02 11:12:26 +00:00
Oliver Walters
8c8b76d222
Bump API version
2026-07-02 11:10:54 +00:00
Oliver Walters
3497ea7957
Add more generic options
2026-07-02 11:08:31 +00:00
Oliver Walters
855c463528
Apply pattern to BuildOrder
2026-07-02 11:00:57 +00:00
Oliver Walters
32fa0fc85a
Implement generic serializer for custom model duplication
2026-07-02 11:00:15 +00:00
Oliver
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
Oliver
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]
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
Oliver
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
Oliver
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 Mair
56679e4b31
chore(backend): dep bump ( #12258 )
...
* general deps bump
* cleanup other dep files
2026-06-26 09:56:01 +10:00
Matthias Mair
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
Oliver
e847d96a88
Bug fix for exception handler ( #12257 )
2026-06-26 08:02:38 +10:00
Oliver
39b74c7e87
Skip "many" fields in DataExport ( #12255 )
...
- Exporting multi-dimensional datasets requires a custom exporter
2026-06-25 22:44:32 +10:00
Oliver
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]
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
Neil Beukes
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 Mair
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
Oliver
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
Oliver
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
Oliver
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]
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 Mair
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
Matthias Mair
ec845c61cd
Bump ty ( #12211 )
...
* 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
2026-06-22 08:26:31 +10:00
Oliver
50577da65a
Add meaningful message on CSRF failure ( #12216 )
...
* Add meaningful message on CSRF failure
* Add link to CSRF_FAILURE_VIEW
* Add unit test for new CSRF feedback
2026-06-20 23:49:36 +10:00
Oliver
5eaac37303
Fix signup warning ( #12213 )
...
- Should only fire on an actual signup attempt
2026-06-20 20:13:14 +10:00
Oliver
ca16e6ec0a
Report locale updates ( #12208 )
...
* Optional 'locale' arg to format_money
- Allows override of system locale when generating reports
* Updated documentation
* Add unit tests
* Handle invalid locale
* Handle invalid locale
* Add new global setting to control currency locale in reports
* Use setting in reports
* Add CHANGELOG entry
* Further unit tests
* Add unit tests for new setting
* Update docs
* More docs
* Refactoring:
- Change REPORT_CURRENCY_LOCALE to REPORT_LOCALE
* Extend unit testing
* Refactor format_number
* Add unit tests for explicit format strings
* Update examples for format_date
* Updated unit tests
* Cleanup unit tests
* Fix more tests
* Adjust wording
* Remove global setting - simplify code
* Simplify unit tests
* Revert 'min_digits' to 'leading'
* Fix docs
* Refactor the render_currency function
- Move all functionality into report.py
* Cleanup duplicate code
* Updated docs
* Allow user to specify date_format
* Add support for 'leading' digits in render_currency
* Bug fix
* Fix unit test
* Add tests for "include_symbol"
2026-06-20 11:00:12 +10:00
dependabot[bot]
8a092b4d1d
chore(deps): bump the dependencies group across 1 directory with 12 updates ( #12210 )
...
* chore(deps): bump the dependencies group across 1 directory with 12 updates
Bumps the dependencies group with 12 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3 ) | `1.43.23` | `1.43.28` |
| [botocore](https://github.com/boto/botocore ) | `1.43.23` | `1.43.28` |
| [django-js-asset](https://github.com/feincms/django-js-asset ) | `3.1.2` | `4.0.1` |
| [django-money](https://github.com/django-money/django-money ) | `3.6.0` | `3.6.1` |
| [grpcio](https://github.com/grpc/grpc ) | `1.81.0` | `1.81.1` |
| [protobuf](https://github.com/protocolbuffers/protobuf ) | `6.33.6` | `7.35.1` |
| [sentry-sdk](https://github.com/getsentry/sentry-python ) | `2.61.1` | `2.62.0` |
| [structlog](https://github.com/hynek/structlog ) | `25.5.0` | `26.1.0` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.68.1` | `4.68.2` |
| [wcwidth](https://github.com/jquast/wcwidth ) | `0.7.0` | `0.8.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `1.17.3` | `2.2.1` |
| [zopfli](https://github.com/fonttools/py-zopfli ) | `0.4.2` | `0.4.3` |
Updates `boto3` from 1.43.23 to 1.43.28
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.23...1.43.28 )
Updates `botocore` from 1.43.23 to 1.43.28
- [Commits](https://github.com/boto/botocore/compare/1.43.23...1.43.28 )
Updates `django-js-asset` from 3.1.2 to 4.0.1
- [Changelog](https://github.com/feincms/django-js-asset/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/feincms/django-js-asset/compare/3.1.2...4.0.1 )
Updates `django-money` from 3.6.0 to 3.6.1
- [Release notes](https://github.com/django-money/django-money/releases )
- [Changelog](https://github.com/django-money/django-money/blob/main/docs/changes.rst )
- [Commits](https://github.com/django-money/django-money/compare/3.6.0...3.6.1 )
Updates `grpcio` from 1.81.0 to 1.81.1
- [Release notes](https://github.com/grpc/grpc/releases )
- [Commits](https://github.com/grpc/grpc/compare/v1.81.0...v1.81.1 )
Updates `protobuf` from 6.33.6 to 7.35.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases )
- [Commits](https://github.com/protocolbuffers/protobuf/commits )
Updates `sentry-sdk` from 2.61.1 to 2.62.0
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/2.61.1...2.62.0 )
Updates `structlog` from 25.5.0 to 26.1.0
- [Release notes](https://github.com/hynek/structlog/releases )
- [Changelog](https://github.com/hynek/structlog/blob/main/CHANGELOG.md )
- [Commits](https://github.com/hynek/structlog/compare/25.5.0...26.1.0 )
Updates `tqdm` from 4.68.1 to 4.68.2
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.68.1...v4.68.2 )
Updates `wcwidth` from 0.7.0 to 0.8.1
- [Release notes](https://github.com/jquast/wcwidth/releases )
- [Commits](https://github.com/jquast/wcwidth/compare/0.7.0...0.8.1 )
Updates `wrapt` from 1.17.3 to 2.2.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases )
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst )
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.2.1 )
Updates `zopfli` from 0.4.2 to 0.4.3
- [Release notes](https://github.com/fonttools/py-zopfli/releases )
- [Commits](https://github.com/fonttools/py-zopfli/compare/v0.4.2...v0.4.3 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-js-asset
dependency-version: 4.0.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: django-money
dependency-version: 3.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: grpcio
dependency-version: 1.81.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: protobuf
dependency-version: 7.35.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: sentry-sdk
dependency-version: 2.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: structlog
dependency-version: 26.1.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.68.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: wcwidth
dependency-version: 0.8.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: wrapt
dependency-version: 2.2.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: zopfli
dependency-version: 0.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
* general bump
* bump dev tools
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-20 09:50:45 +10:00
Oliver
01fb74af25
[UI] Tree improvements ( #12204 )
...
* Hide expand icon for items without children
* Add searching to CategoryTree API
* Add "level" filter
* Automatically include parent tree when searching
* Include tree_id field
* Add search input to NavigationTree
* Add more API filters
* Load child nodes iteratively
* Fix dynamic loading of nodes
* Highlight selected item
* Include pathstring
* Fix insertion order
* Auto-expand to the selected ID
* Add "no results" message
* Refactor into generic components
* Expand to multi level
* Use async node loading functionality
* Add hovercard
* Implement same functionality for StockLocationTree API endpoint
* Adjust spacing
* Add connecting lines
* Add playwright test
* Bump API version
* Add CHANGELOG entry
* Update docs
* Update screenshot
2026-06-19 15:33:12 +10:00
dependabot[bot]
6285a11a65
chore(deps): bump pypdf from 6.13.0 to 6.13.3 in /src/backend ( #12201 )
...
* chore(deps): bump pypdf from 6.13.0 to 6.13.3 in /src/backend
Bumps [pypdf](https://github.com/py-pdf/pypdf ) from 6.13.0 to 6.13.3.
- [Release notes](https://github.com/py-pdf/pypdf/releases )
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/py-pdf/pypdf/compare/6.13.0...6.13.3 )
---
updated-dependencies:
- dependency-name: pypdf
dependency-version: 6.13.3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-19 13:47:50 +10:00
Oliver
29b8ed91d2
[API] Adjust permissions for machine restart ( #12197 )
...
* [API] Adjust permissions for machine restart
Can only be actioned by a staff user
* Fix import
* Wrong class
* Extend unit test
* Bump API version
* Update CHANGELOG
2026-06-18 22:18:14 +10:00
Oliver
5b97acb79f
[bug] Fix double save ( #12194 )
...
* Prevent double-save when creating an order
* Prevent double-save for BuildOrder
* More fixes
* Additional unit tests
* Revert code, remove create method against StockTrackingList
* Fix mixins
2026-06-18 20:18:46 +10:00
Oliver
2ca86808bb
Fix order event name ( #12196 )
2026-06-18 20:00:18 +10:00
Oliver
fc15f30f8f
Report Generation Updates ( #12187 )
...
* Fix for TemplateEditor
- Allow dragging of split section
* Cleaner report template code
* Pass correct error message through
* Prevent multiple retries if running in worker thread
* Handle report merge error
* Add playwright tests for broken report printing
* Reduce scope for exception messages
* Reduce comment deltas
* Adjust unit test
* Raise ValidaitonError
* Handle message parsing
* Additional comment
* Fix unit tests
2026-06-18 13:41:44 +10:00
Oliver
4b29032c6e
System Health Checks ( #12193 )
...
* Add worker health check invoke task
* Increase frequency of heartbeat task
* Adjust default threshold for worker health check
* Add server_health invoke func
2026-06-18 12:46:46 +10:00
github-actions[bot]
c126e2b0af
New Crowdin translations by GitHub Action ( #12167 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-18 11:47:28 +10:00
Matthias Mair
f602714dc9
fix(backend): import session metadata ( #12184 )
...
* add storage for historic import metadata for reporting and display purposes
fixes breakage fromhttps://github.com/inventree/InvenTree/pull/12169
* add api bump
* re-enable test
* fix migration
* ensure session is not overwritten
* fix statusrender without custom key
2026-06-18 08:10:32 +10:00
John Luetke
83a6729755
Change order custom status via api ( #11982 )
...
* Set custom_status_key via API
Refactor `custom_status_key` to be writable via the API and validate that the proposed value is valid for the current order status
* Refactor status_text serializer to consider custom status label
* Update api_version.py
* Additional unit testagainst N + 1
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2026-06-17 17:59:37 +10:00
Oliver
38008d8204
Mysql filter fix ( #12185 )
...
* Improve "available" filter for BuildLine API endpoint
* Fix typo
* Additional unit tests
* Additional playwright tests
2026-06-17 14:50:17 +10:00
Oliver
a670eabd10
[import] specify fk lookup field ( #12180 )
...
* Raise error on multiple matches
* add new field to handle lookup_field selection
* Add unit tests
* Update frontend
* Bump API version
* Ensure string-iness of lookup field
2026-06-17 11:03:26 +10:00
Matthias Mair
91a4b2a1a5
fix(frontend): adress broken UI tests ( #12183 )
...
* try different matching mechanism
* fix for changes in #12168
* disable broken test from https://github.com/inventree/InvenTree/pull/12169
* revert observability perm change
2026-06-17 09:39:00 +10:00
dependabot[bot]
7da65c8e50
chore(deps): bump cryptography from 48.0.0 to 48.0.1 in /src/backend ( #12176 )
...
* chore(deps): bump cryptography from 48.0.0 to 48.0.1 in /src/backend
Bumps [cryptography](https://github.com/pyca/cryptography ) from 48.0.0 to 48.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/48.0.0...48.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 48.0.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-16 20:47:42 +02:00
Oliver
a8e5c83a94
Stocktake exporter updates ( #12179 )
...
* Optionally exclude zero-stock entries
* Add more columns to exported dataset
* Adjust unit test
* More test fixes
2026-06-16 14:14:51 +10:00
Oliver
6c18e64020
Permissions fix ( #12168 )
...
* Tighten API permissions
- Require authenticated user for NotFoundView
- Hide 'active_plugins' behind is_authenticated
* Patch permissions hole in GlobalSettingsPermissions
* Additional API unit tests
* Require auth for observability endpoint
* Add explicit permission for PluginAdminDetail
* Bump API version
* Update unit tests
* Revert changes
2026-06-15 22:06:49 +10:00
Oliver
3c17367e3c
Data import permissions ( #12169 )
...
* Update data importer child permissions
- Row data
- Column data
* Add unit tests
* Cleanup session data after import is completed
* Further scope narrowing
2026-06-15 21:03:44 +10:00
Oliver
d951638e75
Part category parameters ( #12165 )
...
* Add parameter support for PartCategory
* Update frontend
* Bump API version
* Update CHANGELOG
2026-06-15 18:49:01 +10:00