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
6111aace1f
[UI] Table field refactor ( #12274 )
...
* Use callback funcs
* Don't use idx to identify rows
* Add debug function for finding why a component re-rendered
* Do not pass 'control' through to each row
* Prevent unnecessary re-rendering of table rows
* Adjust order of operations for hooks
* Keep props hidden
* Use lightweight NumberInput
* Use NumberInput elsewhere
* Add comment
* use rowId instead of idx
* Generic row memos
* Compare errors too
* Fix for BomItemSubstituteRow
* Adjust more forms
* memoize quantity
* Memoize build lines
* Fix re-rendering issues for build allocation
* Fix for useConsumeBuildLinesForm
* Fix for transfer order table
* Fix useReceiveLineItems
* Remove memoized pattern
* Fix row keys
* Cleanup
* Create useStockItems hook for memoizing items
* Refactoring
* More refactoring
* Remove obj reference
- preventing shallow comparison from working
* Add error message to useWhyDidYouUpdate
* Cleanup
* Cleanup dead code
* Adjust modal width
* Change attr name
* Remove autoFillFilters prop
* Adjustments for serialized stock
* Fix typing
* Bump frontend version
* Adjustments for playwright testing
* Fix ref issue
* Remove debug entry
* Update CHANGELOG.md
* Reintroduce index to table header
* Refactor common component
2026-06-30 18:10:40 +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
Oliver
635ea8179e
[UI] Fix 'available' display ( #12279 )
...
- Hide entirely for items not "in_stock"
2026-06-30 09:53:40 +10:00
Oliver
f7e267cca8
Fix dashboard issue ( #12275 )
2026-06-30 00:44:25 +10:00
Oliver
9e2383de39
Merge branch 'master' into preview-panel
2026-06-30 00:37:08 +10:00
suzunn
0470dc34b7
fix: preserve supplier import stock workflow ( #12215 )
...
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-06-30 00:24:00 +10:00
Oliver
0ef5b98c26
Merge branch 'master' into preview-panel
2026-06-29 22:53:54 +10:00
Oliver
12825aa1f4
[UI] Fix stock dates ( #12272 )
...
* [UI] Fix stock dates
- Display creation date
- Display stocktake date
* Switch to date type
2026-06-29 16:01:33 +10:00
Oliver
5b1a7db07f
[UI] Table tweaks ( #12271 )
...
* [UI] Make part cell text copyable
* Reduce text size
* Reduce text size
2026-06-29 16:01:15 +10:00
Oliver
1da71ca3b9
[UI] Stock column fix ( #12268 )
...
* [UI] Fix StockColumn component
* stock table rendering tweaks
2026-06-27 11:29:40 +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
b99b80957f
[UI] Improve revision selector ( #12254 )
...
- Display upstream revisions too
2026-06-26 00:02:50 +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
Matthias Mair
496b20e08f
fix js-yaml, esbuild vulns ( #12190 )
...
* fix js-yaml, esbuild vulns
* update bump
* upgrade vite
2026-06-25 16:06:02 +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
Oliver
4f2da22d34
Merge branch 'master' into preview-panel
2026-06-24 22:13:09 +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
Oliver
75b27bd10a
[UI] Tweak "order parts" wizard ( #12236 )
...
- Order supplier parts by "primary" value
- Attempt to auto-fill primary supplier part
2026-06-24 12:49:30 +10:00
Oliver
184ec37975
[UI] Tweak today color ( #12235 )
...
- Make "today" more obvious in calendar views
2026-06-24 12:49:19 +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
Phil
3bf410c313
color scheme: Use the users prefered mode by default ( #12227 )
...
* color scheme: Use the users prefered colour scheme if one isn't defined in the store
* fix style
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-23 16:26:06 +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
dependabot[bot]
204cff2f88
chore(deps): bump undici from 6.26.0 to 8.5.0 in /src/frontend ( #12214 )
...
Bumps [undici](https://github.com/nodejs/undici ) from 6.26.0 to 8.5.0.
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v6.26.0...v8.5.0 )
---
updated-dependencies:
- dependency-name: undici
dependency-version: 8.5.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-20 13:14:34 +02:00
Oliver
5eaac37303
Fix signup warning ( #12213 )
...
- Should only fire on an actual signup attempt
2026-06-20 20:13:14 +10:00
dependabot[bot]
c4d67b65d7
chore(deps): bump undici from 8.4.1 to 8.5.0 in /src/frontend ( #12200 )
...
Bumps [undici](https://github.com/nodejs/undici ) from 8.4.1 to 8.5.0.
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v8.4.1...v8.5.0 )
---
updated-dependencies:
- dependency-name: undici
dependency-version: 8.5.0
dependency-type: direct:production
...
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 12:02:19 +02: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
6657000d89
[UI] Fix NewsWidget ( #12205 )
2026-06-19 17:18:59 +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
Oliver Walters
531ee7f444
Merge commit '6285a11a6538d9a4ff86e68b8d4f0af614f607bf' into preview-panel
2026-06-19 03:59:27 +00: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
f70d3e68d8
[UI] Fix status renderer functions ( #12202 )
...
Broken in recent refactor
2026-06-19 10:45:11 +10:00
dependabot[bot]
5ddccf8913
chore(deps): bump dompurify from 3.4.9 to 3.4.11 in /src/frontend ( #12199 )
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.4.9 to 3.4.11.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.9...3.4.11 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.4.11
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 09:29: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
dependabot[bot]
c2f213a6c0
chore(deps): bump form-data from 4.0.5 to 4.0.6 in /src/frontend ( #12175 )
...
Bumps [form-data](https://github.com/form-data/form-data ) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases )
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.6
dependency-type: indirect
...
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-18 18:36:16 +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
dependabot[bot]
dbda5a783a
chore(deps): bump dompurify from 3.4.8 to 3.4.9 in /src/frontend ( #12174 )
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.4.8 to 3.4.9.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.8...3.4.9 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.4.9
dependency-type: direct:production
...
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-18 09:57:52 +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
ea9ba3a4f9
Merge branch 'master' into preview-panel
2026-06-17 16:06:57 +10:00
Oliver
546958a1cb
[UI] Additional table filters ( #12186 )
2026-06-17 15:02:07 +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
7266da595e
Merge branch 'master' into preview-panel
2026-06-17 11:04:04 +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
Matthias Mair
92419b3bdf
bump frontend ( #12137 )
...
* bump react-router
* upgrade to remove uuid
* upgrade
* bump a bit more
* lower mantine
2026-06-16 08:35:17 +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
aece90512c
[UI] Edit cat param ( #12166 )
...
* Refactor form hook components
* Reset values when opening form
* Rebuild form field
2026-06-15 20:07:40 +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
Oliver Walters
f6ce00ab7d
Merge commit '0b5db2f16a9dee9a6127c9757cc7f843dbe45f57' into preview-panel
2026-06-14 11:28:03 +00:00
Oliver
0b5db2f16a
Suppress dulwich warnings ( #12163 )
...
- Prevent erroneous dulwich warning messages
2026-06-14 18:20:57 +10:00
Khairil
9706bc672a
fix: support non-integer PKs in NotificationMessage (fixes UUID overflow) ( #12162 )
...
NotificationMessage.target_object_id and source_object_id were typed as
PositiveIntegerField, which overflows when the referenced model uses a
UUID primary key (e.g. MachineConfig). Django's GenericForeignKey stores
the PK as a string in the database, so the field type should be
CharField to accommodate any PK type (int, UUID, slug, etc.).
Changes:
- common/models.py: change target_object_id and source_object_id from
PositiveIntegerField to CharField(max_length=255) on NotificationMessage
- common/migrations/0044: AlterField migration for both columns
- order/tests.py: update assertion from integer 1 to str(1) since
CharField will now store the PK as a string
Fixes #12131
Signed-off-by: kaizeenn <khairil0153@gmail.com>
2026-06-14 18:20:16 +10:00
github-actions[bot]
43396284fa
New Crowdin translations by GitHub Action ( #12156 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-14 17:29:15 +10:00
Oliver
6638dba0b9
SelectionList Updates ( #12139 )
...
* Adjust panel layout
* edit list on click
* Optionally fetch selection list items
* Display in DetailDrawer
* Fix component locations
* Refactor entry table
* Add new entry
* Disable if locked
* Only validate choices if provided via API
* Mark "choices" as read-only
* Prevent delete of locked items
* Add more API unit tests
* Bump API version
* Adjust unit tests
* Default include choices
* Updated playwright test
* Improve test robustness
2026-06-14 12:12:15 +10:00
Oliver
2b4f303770
Improve security posture of PDF reporting ( #12160 )
...
* Add custom URL fetcher for PDF rendering
* Fix for report helper functions
* Use new fetcher
* Additional unit tests
* Add new setting to control remote URL fetching
* validate URLs against SSRF
* Add global setting to disable URL fetching entirely
* Update docs
* Fix capitalization
* Fix logging backend
* Update CHANGELOG
2026-06-14 10:55:51 +10:00
Oliver
b294bba66b
[UI] Calendar Updates ( #12161 )
...
* Adjust delay values
* Add extra info to tooltip
* Additional padding
* Adjust padding for scrollbar
* Adjust month title as calendar scrolls
2026-06-14 10:52:22 +10:00
Oliver Walters
c7eb7b4f2d
Merge commit '457fe16f9c31d08fbb6f3493f17105aac2638e86' into preview-panel
2026-06-13 23:51:18 +00:00
Matthias Mair
457fe16f9c
feat(frontend): add more general hotkeys ( #12138 )
...
* add admin button hotkey
* add duplicate hotkey
* generalised hotkeys for actions
* move to fnc
* fix type checking
* more hotkeys!
* add the first primary action to the hotkeys
* small fixes
* use capital hotkeys
* add keys for navigation
* add panel navigation hotkeys
* remove admin hotkey - navigating to attachments is imo more helpful
* address conflict on macos
2026-06-13 19:57:57 +10:00
Oliver
e4178b1fb8
[UI] Calendar month colors ( #12157 )
...
Discriminate months which slightly different colors
2026-06-13 19:56:40 +10:00
Sanidhya
3bce9c0a15
Remember last used label template and printer plugin per model type ( #12146 )
...
* Remember last used label template and printer plugin per model type
* Added playwright test for printing preference persistence and format code
* Used waitFor for react-select assertions for test case fixing and persist plugin key correctly
* Updated the problem resolution code and the tests
* Fixed printing test assertion to avoid word boundary failure with concatenated text
2026-06-13 13:30:42 +10:00
dependabot[bot]
d8ae8723ff
chore(deps): bump the dependencies group across 2 directories with 16 updates ( #12159 )
...
* chore(deps): bump the dependencies group across 2 directories with 16 updates
Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin ).
Bumps the dependencies group with 15 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [idna](https://github.com/kjd/idna ) | `3.17` | `3.18` |
| [pip](https://github.com/pypa/pip ) | `26.1.1` | `26.1.2` |
| [prek](https://github.com/j178/prek ) | `0.4.3` | `0.4.4` |
| [boto3](https://github.com/boto/boto3 ) | `1.43.17` | `1.43.23` |
| [botocore](https://github.com/boto/botocore ) | `1.43.17` | `1.43.23` |
| [django-redis](https://github.com/jazzband/django-redis ) | `6.0.0` | `7.0.0` |
| [django-structlog](https://github.com/jrobichaud/django-structlog ) | `10.0.0` | `10.1.0` |
| [dulwich](https://github.com/dulwich/dulwich ) | `1.2.5` | `1.2.6` |
| [grpcio](https://github.com/grpc/grpc ) | `1.80.0` | `1.81.0` |
| [protobuf](https://github.com/protocolbuffers/protobuf ) | `6.33.6` | `7.35.0` |
| [pypdf](https://github.com/py-pdf/pypdf ) | `6.12.2` | `6.13.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python ) | `2.61.0` | `2.61.1` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.67.3` | `4.68.1` |
| [weasyprint](https://github.com/Kozea/WeasyPrint ) | `68.1` | `69.0` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `1.17.3` | `2.2.1` |
Updates `mkdocs-git-revision-date-localized-plugin` from 1.5.2 to 1.5.3
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases )
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.5.2...v1.5.3 )
Updates `idna` from 3.17 to 3.18
- [Release notes](https://github.com/kjd/idna/releases )
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md )
- [Commits](https://github.com/kjd/idna/compare/v3.17...v3.18 )
Updates `pip` from 26.1.1 to 26.1.2
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/pip/compare/26.1.1...26.1.2 )
Updates `prek` from 0.4.3 to 0.4.4
- [Release notes](https://github.com/j178/prek/releases )
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md )
- [Commits](https://github.com/j178/prek/compare/v0.4.3...v0.4.4 )
Updates `boto3` from 1.43.17 to 1.43.23
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.17...1.43.23 )
Updates `botocore` from 1.43.17 to 1.43.23
- [Commits](https://github.com/boto/botocore/compare/1.43.17...1.43.23 )
Updates `django-redis` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/jazzband/django-redis/releases )
- [Changelog](https://github.com/jazzband/django-redis/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jazzband/django-redis/compare/6.0.0...7.0.0 )
Updates `django-structlog` from 10.0.0 to 10.1.0
- [Changelog](https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst )
- [Commits](https://github.com/jrobichaud/django-structlog/compare/10.0.0...10.1.0 )
Updates `dulwich` from 1.2.5 to 1.2.6
- [Release notes](https://github.com/dulwich/dulwich/releases )
- [Changelog](https://github.com/jelmer/dulwich/blob/main/NEWS )
- [Commits](https://github.com/dulwich/dulwich/compare/dulwich-1.2.5...dulwich-1.2.6 )
Updates `grpcio` from 1.80.0 to 1.81.0
- [Release notes](https://github.com/grpc/grpc/releases )
- [Commits](https://github.com/grpc/grpc/compare/v1.80.0...v1.81.0 )
Updates `protobuf` from 6.33.6 to 7.35.0
- [Release notes](https://github.com/protocolbuffers/protobuf/releases )
- [Commits](https://github.com/protocolbuffers/protobuf/commits )
Updates `pypdf` from 6.12.2 to 6.13.0
- [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.12.2...6.13.0 )
Updates `sentry-sdk` from 2.61.0 to 2.61.1
- [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.0...2.61.1 )
Updates `tqdm` from 4.67.3 to 4.68.1
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.67.3...v4.68.1 )
Updates `weasyprint` from 68.1 to 69.0
- [Release notes](https://github.com/Kozea/WeasyPrint/releases )
- [Changelog](https://github.com/Kozea/WeasyPrint/blob/main/docs/changelog.rst )
- [Commits](https://github.com/Kozea/WeasyPrint/compare/v68.1...v69.0 )
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 )
---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
dependency-version: 1.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: idna
dependency-version: '3.18'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pip
dependency-version: 26.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.4.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: boto3
dependency-version: 1.43.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-redis
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: django-structlog
dependency-version: 10.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: dulwich
dependency-version: 1.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: grpcio
dependency-version: 1.81.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: protobuf
dependency-version: 7.35.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: pypdf
dependency-version: 6.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: sentry-sdk
dependency-version: 2.61.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.68.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: weasyprint
dependency-version: '69.0'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: wrapt
dependency-version: 2.2.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
...
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-13 13:28:50 +10:00
Matthias Mair
1947db06e7
feat(ci): add flakeiness ( #12148 )
...
* add-flakeiness
* Update flakiness project in Playwright config
2026-06-12 02:02:42 +02:00
Oliver
3309032b26
Machine fixes ( #12154 )
...
* Handle missing machine location
- e.g. if location PK is invalid or has been deleted
* Add spotlight action for machine management panel
* Add unit test for code change
2026-06-11 16:32:14 +10:00
Oliver
39cc399a67
Improvements for template tables ( #12155 )
...
* Enable in-column filtering for model type
* Enable sorting by label size
* Enable backend ordering
* Improve filtering for report template table
* Update API version
2026-06-11 15:54:40 +10:00
github-actions[bot]
741f0e56c8
New Crowdin translations by GitHub Action ( #12069 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-11 13:38:01 +10:00
Christopher Johnson
7cca9cb326
Make plugin registry hash independent of plugin discovery order ( #12151 )
...
* Make plugin registry hash independent of plugin discovery order
calculate_plugin_hash() iterates self.plugins.items() in insertion
order, which is the plugin discovery order of the local process. Two
processes can hold the same registry state (same plugins, versions,
active flags) in a different order and compute different hashes,
ping-ponging the _PLUGIN_REGISTRY_HASH setting and triggering endless
registry reloads in check_reload().
Sort by slug before hashing so the hash represents the registry state
rather than the iteration order of any particular process. Add a
regression test that reverses the plugin dict and asserts the hash is
unchanged.
* Address review comments: explicit sort key, guard against vacuous test
---------
Co-authored-by: Nasawa <christopher@anigeek.com>
2026-06-11 10:26:26 +10:00
Oliver
73bfa53a35
[report] Printing fixes ( #12142 )
...
* Check model permissions for printing
* Add unit tests
* Prevent printing of disabled reports
* Updated unit test
* Adjust unit test for printing
* Update API and CHANGELOG
2026-06-10 16:59:39 +10:00
Oliver
a0d0dff237
[UI] User Filters ( #12143 )
...
* Enforce min width for drop-down filters
* Pass active filter to owner column
* Fix filter name
* Add active filter to UserFilter by default
2026-06-10 15:06:58 +10:00
Oliver
316335a0ea
[UI] Update parametric data table hover ( #12145 )
...
- Display last update date
- Display updating user
- Improved formatting
2026-06-10 15:06:45 +10:00
Oliver
245a002428
[UI] User management spotlight ( #12144 )
...
Add spotlight action to quickly jump to user management panel
2026-06-10 14:06:03 +10:00
Oliver Walters
70065bba1c
Merge commit 'ca6f73e91922c8faed1f495e7ecac2ad1101f65d' into preview-panel
2026-06-09 06:44:35 +00:00
Oliver
ca6f73e919
Remove reference to lead_time field ( #12133 )
...
Ref: https://github.com/inventree/InvenTree/discussions/8371#discussioncomment-17225032
2026-06-09 16:13:44 +10:00
Matthias Mair
3d527eb392
feat(frontend): add hotkey registration function and hotkey helper modal ( #12128 )
...
* add new hotkey registration interface and hotkey modal
* fix import
* add printing hotkey
* add todo
* add hotkey for barcode scanning
* register spotlight shortcut key
* sort keys
* render nicer overview
* fix props
* expose for plugins
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-06-09 13:05:52 +10:00
Oliver Walters
9269b6b9da
open preview drawer from calendar views
2026-06-08 08:45:45 +00:00
Oliver Walters
108aae37ba
provide either pk or instance data
2026-06-08 04:55:41 +00:00
Oliver Walters
c7299e2ad8
Allow plugins to interact
2026-06-08 04:50:52 +00:00
Oliver Walters
8b7b00b7cb
Add <GlobalPreviewDrawer> component
2026-06-08 04:36:16 +00:00
Oliver
345fe1d67e
Calendar tweaks ( #12115 )
...
* Support initial filters for UseCalendar
* [UI] Calendar updates
- Allow calendars to display completed / cancelled items also
2026-06-08 13:51:21 +10:00
Oliver
e08280d9ac
Remove built-in dashboard history widgets ( #12114 )
2026-06-08 13:50:04 +10:00
NerosKi
a63ca93c3c
plugin-validation-purchase-orders ( #12094 )
...
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-08 09:06:24 +10:00
Aditya Kumar Mishra
c2c8e72f37
UX: Disable standard allocation for trackable parts ( #11811 ) ( #11967 )
...
* UX: Disable standard allocation for trackable parts and add tooltip (#11811 )
* Test: Update Playwright tests for disabled trackable allocation
* Fix: Align trackable allocation logic and tests based on review
* Test: Fix incorrect assumption of trackable Red Widget in pui_build.spec.ts
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-08 07:49:32 +10:00
Oliver
20309146aa
[plugin] HMR lib hooks ( #12108 )
...
* Expose HMR plugin
* Expose function for localizing a plugin component
* Update npm version
* better docs
* Plugin provides i18n instance
* Expose HMR plugin on different path
* Bump version (again)
* Ensure HMR plugin is properly built
* Bump (again)
* Specify callback function
* Bump package version
* Improved docstrings
* Stricter type hinting
2026-06-07 23:56:26 +10:00
Oliver
7f1f2dbad2
[UI] Table column filters ( #12103 )
...
* Expose properties for column based filtering
* Adjust renderers
* Hide filter if name does not match
* Allow multiple filters on same column
* Better formatting
* Add filtering support for multiple tables
* Revert yarn.lock changes
* Fix date input props
* Updated column
* Add filter to PartTable
* Add playwright tests for new column filters
* Update CHANGELOG
* Updated docs
* Reduce padding
* Update more table filters
* More filter columns
* Adjust playwright test
* Simplify playwright test
* Robustify playwright tests
* Add some delay
* Add some buffer time
2026-06-07 12:59:33 +10:00