Oliver
c821fa0f43
Notification fix ( #12744 )
...
* Fill out stock location based on part default
* [UI] Bug fix for notifications
- Closes https://github.com/inventree/InvenTree/issues/12706
2026-08-30 15:53:16 +10:00
Oliver
871147d936
Stock location fix ( #12742 )
...
* Fill out stock location based on part default
* Add playwright tests
2026-08-30 11:44:07 +10:00
Oliver and Copilot Autofix powered by AI
a205717171
SSO e2e testing ( #12739 )
...
* Extend SSO auth workflows
* SSO e2e testing workflow
* Remove orphaned code
* Add unit tests for SSO
* improved error messaging
* Add test for SSO registration disabled
* Fix gating on LOGIN_ENABLE_SSO
* Adjust UI state management
* Add playwright test for SSO disabled
* Add backend unit tests
* Adjust API version
* Additional playwright tests
* Retain desired page state on login failure
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Adjust test code
* Stricter matcher checking
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-30 10:32:54 +10:00
Bhumin Paladiya
69afe7723f
Enhance search and autocomplete fields across all InvenTree admin models ( #12722 )
...
* Fix PurchaseOrderExtraLine admin search and add search fields across admin classes
* Add search fields and autocomplete fields across common admin models
* Add search and autocomplete fields to importer admin models
* Add search fields to MachineConfigAdmin
* Add search fields to LocationTypeAdmin
* Remove search_fields from DataImportRowAdmin per review feedback
2026-08-29 20:24:49 +10:00
dependabot[bot] and Matthias Mair
02fc34083a
chore(deps): bump the dependencies group across 2 directories with 16 updates ( #12735 )
...
* 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 |
| --- | --- | --- |
| [gunicorn](https://github.com/benoitc/gunicorn ) | `26.0.0` | `26.1.0` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer ) | `3.5.0` | `3.5.1` |
| [idna](https://github.com/kjd/idna ) | `3.18` | `3.19` |
| [prek](https://github.com/j178/prek ) | `0.4.13` | `0.4.14` |
| [pygments](https://github.com/pygments/pygments ) | `2.20.0` | `2.21.0` |
| [types-pyyaml](https://github.com/python/typeshed ) | `6.0.12.20260724` | `6.0.12.20260815` |
| [boto3](https://github.com/boto/boto3 ) | `1.43.71` | `1.43.77` |
| [botocore](https://github.com/boto/botocore ) | `1.43.71` | `1.43.77` |
| [django-js-asset](https://github.com/feincms/django-js-asset ) | `4.0.1` | `4.0.2` |
| [django-oauth-toolkit](https://github.com/django-oauth/django-oauth-toolkit ) | `3.4.0` | `3.4.1` |
| [icalendar](https://github.com/collective/icalendar ) | `7.2.2` | `7.3.0` |
| [lxml](https://github.com/lxml/lxml ) | `6.1.1` | `6.1.2` |
| [protobuf](https://github.com/protocolbuffers/protobuf ) | `7.35.1` | `7.36.0` |
| [python-dotenv](https://github.com/theskumar/python-dotenv ) | `1.2.2` | `1.2.3` |
| [webencodings](https://github.com/CourtBouillon/webencodings ) | `0.5.1` | `0.6.1` |
Updates `mkdocs-git-revision-date-localized-plugin` from 1.5.3 to 1.5.4
- [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.3...v1.5.4 )
Updates `gunicorn` from 26.0.0 to 26.1.0
- [Release notes](https://github.com/benoitc/gunicorn/releases )
- [Commits](https://github.com/benoitc/gunicorn/compare/26.0.0...26.1.0 )
Updates `charset-normalizer` from 3.5.0 to 3.5.1
- [Release notes](https://github.com/jawah/charset_normalizer/releases )
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.5.0...3.5.1 )
Updates `idna` from 3.18 to 3.19
- [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.18...v3.19 )
Updates `prek` from 0.4.13 to 0.4.14
- [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.13...v0.4.14 )
Updates `pygments` from 2.20.0 to 2.21.0
- [Release notes](https://github.com/pygments/pygments/releases )
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES )
- [Commits](https://github.com/pygments/pygments/compare/2.20.0...2.21.0 )
Updates `types-pyyaml` from 6.0.12.20260724 to 6.0.12.20260815
- [Commits](https://github.com/python/typeshed/commits )
Updates `boto3` from 1.43.71 to 1.43.77
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.71...1.43.77 )
Updates `botocore` from 1.43.71 to 1.43.77
- [Commits](https://github.com/boto/botocore/compare/1.43.71...1.43.77 )
Updates `django-js-asset` from 4.0.1 to 4.0.2
- [Changelog](https://github.com/feincms/django-js-asset/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/feincms/django-js-asset/compare/4.0.1...4.0.2 )
Updates `django-oauth-toolkit` from 3.4.0 to 3.4.1
- [Release notes](https://github.com/django-oauth/django-oauth-toolkit/releases )
- [Changelog](https://github.com/django-oauth/django-oauth-toolkit/blob/master/CHANGELOG.md )
- [Commits](https://github.com/django-oauth/django-oauth-toolkit/compare/3.4.0...3.4.1 )
Updates `icalendar` from 7.2.2 to 7.3.0
- [Release notes](https://github.com/collective/icalendar/releases )
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst )
- [Commits](https://github.com/collective/icalendar/compare/v7.2.2...v7.3.0 )
Updates `lxml` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/lxml/lxml/releases )
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt )
- [Commits](https://github.com/lxml/lxml/compare/lxml-6.1.1...lxml-6.1.2 )
Updates `protobuf` from 7.35.1 to 7.36.0
- [Release notes](https://github.com/protocolbuffers/protobuf/releases )
- [Commits](https://github.com/protocolbuffers/protobuf/commits )
Updates `python-dotenv` from 1.2.2 to 1.2.3
- [Release notes](https://github.com/theskumar/python-dotenv/releases )
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md )
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.2.2...v1.2.3 )
Updates `webencodings` from 0.5.1 to 0.6.1
- [Release notes](https://github.com/CourtBouillon/webencodings/releases )
- [Changelog](https://github.com/CourtBouillon/webencodings/blob/main/docs/changelog.rst )
- [Commits](https://github.com/CourtBouillon/webencodings/compare/v0.5.1...v0.6.1 )
---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
dependency-version: 1.5.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: gunicorn
dependency-version: 26.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: charset-normalizer
dependency-version: 3.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: idna
dependency-version: '3.19'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.4.14
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pygments
dependency-version: 2.21.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: types-pyyaml
dependency-version: 6.0.12.20260815
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: boto3
dependency-version: 1.43.77
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.77
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-js-asset
dependency-version: 4.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-oauth-toolkit
dependency-version: 3.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: icalendar
dependency-version: 7.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: lxml
dependency-version: 6.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: protobuf
dependency-version: 7.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: python-dotenv
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: webencodings
dependency-version: 0.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
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-08-29 11:17:18 +10:00
Oliver
fcbcef5aae
Tracing fix ( #12728 )
...
* Bug fix for tracing setup
* Support forking against multiple PIDs
* Updated documentation
2026-08-29 08:05:16 +10:00
Matthias Mair
5244b8a4f2
[FR] add well-known mixin to let plugins define well-known urls ( #12698 )
...
* [FR] add well-known mixin to let plugins define well-known data entry points
Fixes #11741
* add built-in plugin for apis
* add test
* add decorator
* ignore default
* fix tests
* remove erronius decorator
* all well-known paths to security exception paths
* update test setup
* ignore escape paths
* add docs
* add more on security considerations
* add to nav
2026-08-28 16:43:20 +10:00
Oliver
0ee2ee9ec2
Update sentry.io integration ( #12729 )
2026-08-28 16:36:28 +10:00
Bhumin Paladiya
494fc58e7c
Fix PurchaseOrderExtraLine admin search and add search fields across admin classes ( #12721 )
2026-08-28 09:01:05 +10:00
Alonso Lopez-Valdez and Oliver
af4c4220f5
update auto allocation button tooltip and visibility logic ( #12720 )
...
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-28 08:59:23 +10:00
github-actions[bot]
ccf34e4b16
New Crowdin translations by GitHub Action ( #12701 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-27 16:06:15 +10:00
Oliver
2dca27f78b
Fix race condition for take_stock method ( #12718 )
2026-08-27 15:01:20 +10:00
Oliver
39f2d724aa
[UI] PO Receive bug ( #12709 )
...
* [UI] Fix for receiving items
* Add playwright regression test
2026-08-25 14:34:33 +10:00
Oliver
a6687a6b10
Bug fix for APISearchView ( #12707 )
...
The global search endpoint dispatches to viewset-based result types using a bare HttpRequest() with an empty META, so pagination's build_absolute_uri() crashes on the missing SERVER_NAME.
2026-08-25 11:57:00 +10:00
dependabot[bot]
51a01149f8
chore(deps): bump the dependencies group across 1 directory with 3 updates ( #12699 )
...
Bumps the dependencies group with 3 updates in the /src/frontend directory: [@codemirror/view](https://github.com/codemirror/view ), [dayjs](https://github.com/iamkun/dayjs ) and [styled-components](https://github.com/styled-components/styled-components ).
Updates `@codemirror/view` from 6.43.8 to 6.43.9
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md )
- [Commits](https://github.com/codemirror/view/commits )
Updates `dayjs` from 1.11.21 to 1.11.23
- [Release notes](https://github.com/iamkun/dayjs/releases )
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.23/CHANGELOG.md )
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.21...v1.11.23 )
Updates `styled-components` from 6.5.1 to 6.5.3
- [Release notes](https://github.com/styled-components/styled-components/releases )
- [Commits](https://github.com/styled-components/styled-components/compare/styled-components@6.5.1...styled-components@6.5.3 )
---
updated-dependencies:
- dependency-name: "@codemirror/view"
dependency-version: 6.43.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: dayjs
dependency-version: 1.11.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: styled-components
dependency-version: 6.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-25 10:40:14 +10:00
James Todd
0ff2f7f3cb
PluginDrawer now fetches plugin details itself. ( #12703 )
2026-08-25 09:00:39 +10:00
Oliver
176ef1af81
Fix table migration ( #12697 )
...
- Prevent error on MYSQL migration
2026-08-25 08:57:50 +10:00
github-actions[bot]
08b0bb8088
New Crowdin translations by GitHub Action ( #12688 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-24 23:40:25 +10:00
Oliver
33586f6ea9
[bug] Fix broken build complete transition ( #12696 )
...
* Add regression test for build complete failure
* Handle offloading of complete_build
* Allow generic offloading of transitions to the background worker
* Refactor cancel_build method
* additional unit test
2026-08-24 23:40:07 +10:00
Oliver
e12bdcfb69
[UI] Data import for order lines ( #12692 )
...
* [UI] Data import for order lines
* Adjust playwright tests
2026-08-24 22:20:18 +10:00
Oliver
528bb085d7
User permissions check for Attachment API ( #12689 )
2026-08-23 18:53:33 +10:00
Oliver
f16fb36b08
Strip potentially dangerous tags from SVG files ( #12687 )
2026-08-23 18:50:13 +10:00
Oliver
bc98e4bab6
Auto-extract StatusCode values for docs ( #12686 )
...
* Auto-extract StatusCode values for docs
* Extract user roles from code
* Fix links
* Remove extraneous source code in docs
2026-08-23 18:48:05 +10:00
github-actions[bot]
f063a6c67f
New Crowdin translations by GitHub Action ( #12679 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-23 11:26:32 +10:00
ebd1b6e936
chore(deps): bump the dependencies group across 1 directory with 16 updates ( #12680 )
...
* chore(deps): bump the dependencies group across 1 directory with 16 updates
Bumps the dependencies group with 16 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [setuptools](https://github.com/pypa/setuptools ) | `83.0.0` | `84.0.0` |
| [wheel](https://github.com/pypa/wheel ) | `0.47.0` | `0.48.0` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer ) | `3.4.9` | `3.5.0` |
| [django-silk](https://github.com/jazzband/django-silk ) | `5.5.0` | `5.5.2` |
| [django-stubs](https://github.com/typeddjango/django-stubs ) | `6.0.9` | `6.1.0` |
| [django-stubs-ext](https://github.com/typeddjango/django-stubs ) | `6.0.9` | `6.1.0` |
| [pip-tools](https://github.com/jazzband/pip-tools ) | `7.6.0` | `7.6.1` |
| [prek](https://github.com/j178/prek ) | `0.4.12` | `0.4.13` |
| [pytest-django](https://github.com/pytest-dev/pytest-django ) | `4.13.0` | `4.14.0` |
| [boto3](https://github.com/boto/boto3 ) | `1.43.66` | `1.43.71` |
| [botocore](https://github.com/boto/botocore ) | `1.43.66` | `1.43.71` |
| [django-q2](https://github.com/GDay/django-q2 ) | `1.10.0` | `1.11.0` |
| [platformdirs](https://github.com/tox-dev/platformdirs ) | `4.11.0` | `4.11.3` |
| [pypdf](https://github.com/py-pdf/pypdf ) | `6.15.0` | `6.16.1` |
| [pyphen](https://github.com/Kozea/Pyphen ) | `0.17.2` | `0.18.1` |
| [sentry-sdk](https://github.com/getsentry/sentry-python ) | `2.66.1` | `2.68.0` |
Updates `setuptools` from 83.0.0 to 84.0.0
- [Release notes](https://github.com/pypa/setuptools/releases )
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/setuptools/compare/v83.0.0...v84.0.0 )
Updates `wheel` from 0.47.0 to 0.48.0
- [Release notes](https://github.com/pypa/wheel/releases )
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst )
- [Commits](https://github.com/pypa/wheel/compare/0.47.0...0.48.0 )
Updates `charset-normalizer` from 3.4.9 to 3.5.0
- [Release notes](https://github.com/jawah/charset_normalizer/releases )
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.9...3.5.0 )
Updates `django-silk` from 5.5.0 to 5.5.2
- [Release notes](https://github.com/jazzband/django-silk/releases )
- [Changelog](https://github.com/jazzband/django-silk/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jazzband/django-silk/compare/5.5.0...5.5.2 )
Updates `django-stubs` from 6.0.9 to 6.1.0
- [Release notes](https://github.com/typeddjango/django-stubs/releases )
- [Commits](https://github.com/typeddjango/django-stubs/compare/6.0.9...6.1.0 )
Updates `django-stubs-ext` from 6.0.9 to 6.1.0
- [Release notes](https://github.com/typeddjango/django-stubs/releases )
- [Commits](https://github.com/typeddjango/django-stubs/compare/6.0.9...6.1.0 )
Updates `pip-tools` from 7.6.0 to 7.6.1
- [Release notes](https://github.com/jazzband/pip-tools/releases )
- [Changelog](https://github.com/jazzband/pip-tools/blob/main/CHANGELOG.md )
- [Commits](https://github.com/jazzband/pip-tools/compare/v7.6.0...v7.6.1 )
Updates `prek` from 0.4.12 to 0.4.13
- [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.12...v0.4.13 )
Updates `pytest-django` from 4.13.0 to 4.14.0
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.13.0...v4.14.0 )
Updates `boto3` from 1.43.66 to 1.43.71
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.66...1.43.71 )
Updates `botocore` from 1.43.66 to 1.43.71
- [Commits](https://github.com/boto/botocore/compare/1.43.66...1.43.71 )
Updates `django-q2` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/GDay/django-q2/releases )
- [Changelog](https://github.com/django-q2/django-q2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/GDay/django-q2/compare/v1.10.0...v1.11.0 )
Updates `platformdirs` from 4.11.0 to 4.11.3
- [Release notes](https://github.com/tox-dev/platformdirs/releases )
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst )
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.11.0...4.11.3 )
Updates `pypdf` from 6.15.0 to 6.16.1
- [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.15.0...6.16.1 )
Updates `pyphen` from 0.17.2 to 0.18.1
- [Release notes](https://github.com/Kozea/Pyphen/releases )
- [Changelog](https://github.com/Kozea/Pyphen/blob/main/docs/changelog.rst )
- [Commits](https://github.com/Kozea/Pyphen/compare/0.17.2...0.18.1 )
Updates `sentry-sdk` from 2.66.1 to 2.68.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.66.1...2.68.0 )
---
updated-dependencies:
- dependency-name: setuptools
dependency-version: 84.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: wheel
dependency-version: 0.48.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: charset-normalizer
dependency-version: 3.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: django-silk
dependency-version: 5.5.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-stubs
dependency-version: 6.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: django-stubs-ext
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pip-tools
dependency-version: 7.6.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.4.13
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pytest-django
dependency-version: 4.14.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: boto3
dependency-version: 1.43.71
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.71
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-q2
dependency-version: 1.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: platformdirs
dependency-version: 4.11.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pypdf
dependency-version: 6.16.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pyphen
dependency-version: 0.18.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: sentry-sdk
dependency-version: 2.68.0
dependency-type: direct:production
update-type: version-update:semver-minor
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 >
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-23 00:47:30 +10:00
Matthias Mair and Oliver
9d19b32b16
feat(backend): rename filter ( #12672 )
...
* feat(backend): rename filter
* fix filter name
* fix parameter used in test
* remove temporary fix added in https://github.com/inventree/InvenTree/pull/12668
* remove unneeded filter redef
* add changelog
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-22 07:46:26 +10:00
Oliver
a435738507
Fix 500 errors for transitions ( #12678 )
2026-08-22 00:51:51 +10:00
github-actions[bot]
6ca7160723
New Crowdin translations by GitHub Action ( #12654 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-21 23:55:29 +10:00
Oliver
dc059398b5
Additional API timeout for bulk operations ( #12676 )
2026-08-21 15:06:19 +10:00
Oliver
7fc36ac7bc
Drop legacy user session tables ( #12675 )
2026-08-21 15:05:45 +10:00
Matthias Mair and Oliver
71787d4546
feat(frontend): Add filter navigation remove button ( #12668 )
...
* feat(frontend): Add filter navigation remove button
* extend docs
* extract and extend labels
* add spacer
* fix test
* small fix
* remove unneeded labels
* add mechanism for not triggering on viewsets
* reduce diff for now
* fix test
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-21 09:34:11 +10:00
be9faff766
fix: trigger pricing recalculation when SupplierPart pack_quantity changes ( #12421 )
...
* fix: trigger pricing recalculation when SupplierPart is saved or deleted
When a SupplierPart's pack_quantity is updated after price breaks have
already been created, the Part's pricing (and BOM cost rollups for any
assemblies using that part) was not recalculated. This is because there
was no post_save or post_delete signal handler for the SupplierPart model
to trigger schedule_pricing_update on the linked Part.
Added post_save and post_delete signal handlers for SupplierPart that
mirror the existing SupplierPriceBreak signal handlers. The pricing
cascade (via update_assemblies) ensures BOM line costs in parent
assemblies are also updated.
Fixes #12285
* style: fix ruff format issues
* style: apply ruff format with --preview flag (matching project config)
* fix: resolve PartPricing.DoesNotExist in pack_quantity test
The test captured self.part.pricing before any PartPricing row existed,
yielding an unsaved instance; the later refresh_from_db() then raised
DoesNotExist. Re-fetch self.part.pricing after the price break creates
the row, matching the pattern in test_supplier_part_pricing.
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
Co-authored-by: Aman Jain <jainamn@amazon.com >
2026-08-21 08:44:09 +10:00
Matthias Mair
a48ba58ee9
refactor PurchaseOrder APIs to viewset ( #12317 )
...
* refactor PurchaseOrder APIs to viewser
* reduce diff/api change
* replicate legacy api return codes
* fix serializer
* fix return code
* fix viewsets
* clean up docstrings
* ensure stuff is cleaned correctly
* distribute CleanMixin better down MRO
* move for mro reasons
* add prefetching
* update APISearchView to support viewsets
* fix apiserch for modelviewsets
* fix names
* Apply suggestions from code review
Co-authored-by: Matthias Mair <code@mjmair.com >
* add test for hold
2026-08-20 19:54:46 +10:00
Bhumin Paladiya and Oliver
501efdcb6e
Fix admin search fields and misc code quality issues ( #12525 )
...
* Fix admin search for StockItemTracking and StockItemTestResult
Add search_fields to StockTrackingAdmin and StockItemTestResultAdmin
- item__part__name: search tracking by part name
- item__serial: search tracking by serial number
- notes: search tracking notes
- stock_item__part__name: search test results by part name
- stock_item__serial: search test results by serial number
- template__test_name: search test results by test template name
- value: search test results by output value
- notes: search test result notes
Also adds a unit test to verify search_fields configuration.
* Fix admin search for PartPricing, PartStocktake, PartRelated, and PartTestTemplate
Add search_fields to PartPricingAdmin, PartStocktakeAdmin, PartRelatedAdmin,
and PartTestTemplateAdmin.
- part__name, part__IPN, part__description: search PartPricing
- part__name, part__IPN: search PartStocktake
- part_1__name, part_2__name: search PartRelated
- part__name, test_name, description: search PartTestTemplate
Also adds unit test assertions to verify search_fields configuration.
* Fix admin search for SalesOrderAllocation and ReturnOrderLineItem
Add search_fields to SalesOrderAllocationAdmin and ReturnOrderLineItemAdmin.
SalesOrderAllocationAdmin:
- line__order__reference: search by Sales Order reference
- line__part__name: search by ordered Part name
- item__part__name: search by allocated Stock Item part name
- item__part__IPN: search by allocated Stock Item IPN
- item__serial: search by Stock Item serial number
ReturnOrderLineItemAdmin:
- order__reference: search by Return Order reference
- order__customer__name: search by Customer name
- item__part__name: search by returned Item part name
- item__serial: search by returned Item serial number
- reference: search by line item reference
Also adds list_display improvements and unit tests to verify
search_fields configuration.
* Fix incorrect identity comparison for status validation
Use '!=' (value comparison) instead of 'is not' (identity comparison)
when comparing custom_status.logical_key with self.instance.status.
Python only caches small integers (-5 to 256). For status codes > 256,
'is not' can return True even when values are equal, causing valid
custom status keys to be incorrectly rejected.
Per PEP 8: always use '==' or '!=' for value comparisons.
* Fix wrong super() method call in DataImportColumnMapAdmin
The formfield_for_dbfield method was incorrectly calling
super().formfield_for_choice_field() instead of super().formfield_for_dbfield().
These are different Django admin methods with different expectations.
formfield_for_choice_field expects choice-type fields, but the 'column'
field is a plain CharField. This could cause incorrect form rendering
or errors when viewing DataImportSession detail in Django Admin.
Fix: call the correct parent method formfield_for_dbfield().
* Fix broken delete() method signature on EmailMessage model
The delete() method used '*kwargs' which collects positional arguments
into a tuple named 'kwargs'. This breaks Django's Model.delete()
contract which expects keyword arguments (using=None, keep_parents=False).
When super().delete(*kwargs) was called, keyword arguments passed by
Django internals would be unpacked incorrectly as positional args.
Fix: use standard '*args, **kwargs' signature and pass both to super().
* Fix bare except clause in order status validation
Replace bare 'except:' with 'except Exception:' in
validate_status_custom_key method.
Bare except catches all BaseException subclasses including SystemExit,
KeyboardInterrupt, and MemoryError which should never be silenced.
The get_logical_value() function performs a database .get() call that
can raise ObjectDoesNotExist or MultipleObjectsReturned, both of which
are subclasses of Exception.
This follows PEP 8 (E722: do not use bare except).
* Fix bare except clauses in machine registry and barcode mixins
Replace bare 'except:' with 'except Exception:' in two locations:
- machine/registry.py: hash computation catches AttributeError or
DoesNotExist when a machine config no longer exists
- plugin/base/barcodes/mixins.py: has_barcode_generation property
catches any error from calling generate(None) on a plugin
Bare except catches all BaseException subclasses including SystemExit
and KeyboardInterrupt which should never be silenced.
This follows PEP 8 (E722: do not use bare except).
* Fix readonly_fields typos and add search_fields in admin classes
* Remove redundant admin field test assertions per review feedback
* Fix file formatting and end-of-file newlines per prek style check
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-20 19:52:08 +10:00
Matthias Mair
36d21fe640
feat(frontend): add user setting to control navigation behaviour ( #12669 )
...
follow up to https://github.com/inventree/InvenTree/pull/12585
2026-08-20 11:23:12 +10:00
16ca6c245f
feat(frontend): Add persistant filtered detail navigation in the url ( #12585 )
...
* Add filtered detail navigation
* Satisfy navigation lint checks
* Fix missing Fragment import in PageDetail
* Address detail navigation review feedback
* Move detail navigation into breadcrumb bar
* Address URL and layout review feedback
* Address detail navigation review feedback
* fix doclinks
* test: update stock return validation assertion
* fix: keep detail navigation actions stable
* style: apply biome formatting
* fix: use ActionIcon disabled state
* test: use ActionIcon disabled state
* fix: isolate detail navigation query params
---------
Co-authored-by: Matthias Mair <code@mjmair.com >
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-19 17:01:51 +10:00
dependabot[bot] and Matthias Mair
dc9a277478
chore(deps): bump sqlparse from 0.5.5 to 0.6.0 in /src/backend ( #12653 )
...
* chore(deps): bump sqlparse from 0.5.5 to 0.6.0 in /src/backend
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse ) from 0.5.5 to 0.6.0.
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG )
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.5.5...0.6.0 )
---
updated-dependencies:
- dependency-name: sqlparse
dependency-version: 0.6.0
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-08-19 09:05:35 +10:00
Alonso Lopez-Valdez
170359d810
Fix issue 10769 ( #12286 )
...
* fix: Show badges for flagged stock items
* Updated badge logic to only display on build order and sales order
* refactor: Remove unused modelRenderer for RenderStockItem in BuildForms and SalesOrderForms
2026-08-18 17:54:58 +10:00
dependabot[bot] and Matthias Mair
34732f0afa
chore(deps): bump the dependencies group across 1 directory with 14 updates ( #12642 )
...
* chore(deps): bump the dependencies group across 1 directory with 14 updates
Bumps the dependencies group with 14 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [cffi](https://github.com/python-cffi/cffi ) | `2.1.0` | `2.1.1` |
| [coverage](https://github.com/coveragepy/coveragepy ) | `7.15.2` | `7.15.4` |
| [django-stubs](https://github.com/typeddjango/django-stubs ) | `6.0.7` | `6.0.9` |
| [django-stubs-ext](https://github.com/typeddjango/django-stubs ) | `6.0.6` | `6.0.9` |
| [django-test-migrations](https://github.com/wemake-services/django-test-migrations ) | `1.5.0` | `1.6.0` |
| [packaging](https://github.com/pypa/packaging ) | `26.2` | `26.3` |
| [pip](https://github.com/pypa/pip ) | `26.2` | `26.2.1` |
| [prek](https://github.com/j178/prek ) | `0.4.11` | `0.4.12` |
| [pytest-django](https://github.com/pytest-dev/pytest-django ) | `4.12.0` | `4.13.0` |
| [blessed](https://github.com/jquast/blessed ) | `1.47.0` | `1.48.0` |
| [boto3](https://github.com/boto/boto3 ) | `1.43.61` | `1.43.66` |
| [botocore](https://github.com/boto/botocore ) | `1.43.61` | `1.43.66` |
| [djangorestframework](https://github.com/encode/django-rest-framework ) | `3.17.1` | `3.18.0` |
| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python ) | `1.75.0` | `1.75.1` |
Updates `cffi` from 2.1.0 to 2.1.1
- [Release notes](https://github.com/python-cffi/cffi/releases )
- [Commits](https://github.com/python-cffi/cffi/compare/v2.1.0...v2.1.1 )
Updates `coverage` from 7.15.2 to 7.15.4
- [Release notes](https://github.com/coveragepy/coveragepy/releases )
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst )
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.15.2...7.15.4 )
Updates `django-stubs` from 6.0.7 to 6.0.9
- [Release notes](https://github.com/typeddjango/django-stubs/releases )
- [Commits](https://github.com/typeddjango/django-stubs/compare/6.0.7...6.0.9 )
Updates `django-stubs-ext` from 6.0.6 to 6.0.9
- [Release notes](https://github.com/typeddjango/django-stubs/releases )
- [Commits](https://github.com/typeddjango/django-stubs/compare/6.0.6...6.0.9 )
Updates `django-test-migrations` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/wemake-services/django-test-migrations/releases )
- [Changelog](https://github.com/wemake-services/django-test-migrations/blob/master/CHANGELOG.md )
- [Commits](https://github.com/wemake-services/django-test-migrations/compare/1.5.0...1.6.0 )
Updates `packaging` from 26.2 to 26.3
- [Release notes](https://github.com/pypa/packaging/releases )
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pypa/packaging/compare/26.2...26.3 )
Updates `pip` from 26.2 to 26.2.1
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/pip/compare/26.2...26.2.1 )
Updates `prek` from 0.4.11 to 0.4.12
- [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.11...v0.4.12 )
Updates `pytest-django` from 4.12.0 to 4.13.0
- [Release notes](https://github.com/pytest-dev/pytest-django/releases )
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.12.0...v4.13.0 )
Updates `blessed` from 1.47.0 to 1.48.0
- [Release notes](https://github.com/jquast/blessed/releases )
- [Changelog](https://github.com/jquast/blessed/blob/master/docs/history.rst )
- [Commits](https://github.com/jquast/blessed/commits/1.48 )
Updates `boto3` from 1.43.61 to 1.43.66
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.61...1.43.66 )
Updates `botocore` from 1.43.61 to 1.43.66
- [Commits](https://github.com/boto/botocore/compare/1.43.61...1.43.66 )
Updates `djangorestframework` from 3.17.1 to 3.18.0
- [Release notes](https://github.com/encode/django-rest-framework/releases )
- [Commits](https://github.com/encode/django-rest-framework/compare/3.17.1...3.18.0 )
Updates `googleapis-common-protos` from 1.75.0 to 1.75.1
- [Release notes](https://github.com/googleapis/google-cloud-python/releases )
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md )
- [Commits](https://github.com/googleapis/google-cloud-python/compare/googleapis-common-protos-v1.75.0...googleapis-common-protos-v1.75.1 )
---
updated-dependencies:
- dependency-name: cffi
dependency-version: 2.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: coverage
dependency-version: 7.15.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-stubs
dependency-version: 6.0.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-stubs-ext
dependency-version: 6.0.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-test-migrations
dependency-version: 1.6.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: packaging
dependency-version: '26.3'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pip
dependency-version: 26.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.4.12
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pytest-django
dependency-version: 4.13.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: blessed
dependency-version: 1.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: boto3
dependency-version: 1.43.66
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.66
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: djangorestframework
dependency-version: 3.18.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: googleapis-common-protos
dependency-version: 1.75.1
dependency-type: direct:production
update-type: version-update:semver-patch
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-08-18 08:50:58 +10:00
dependabot[bot]
5196c48cfb
chore(deps): bump the dependencies group across 1 directory with 6 updates ( #12651 )
...
Bumps the dependencies group with 6 updates in the /src/frontend directory:
| Package | From | To |
| --- | --- | --- |
| [@codemirror/view](https://github.com/codemirror/view ) | `6.43.7` | `6.43.8` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.69.0` | `10.70.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form ) | `7.84.0` | `7.85.0` |
| [styled-components](https://github.com/styled-components/styled-components ) | `6.4.4` | `6.5.1` |
| [@flakiness/playwright](https://github.com/flakiness/playwright ) | `2.0.1` | `2.0.2` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `26.1.2` | `26.2.0` |
Updates `@codemirror/view` from 6.43.7 to 6.43.8
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md )
- [Commits](https://github.com/codemirror/view/commits )
Updates `@sentry/react` from 10.69.0 to 10.70.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/10.70.0/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.69.0...10.70.0 )
Updates `react-hook-form` from 7.84.0 to 7.85.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases )
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md )
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.84.0...v7.85.0 )
Updates `styled-components` from 6.4.4 to 6.5.1
- [Release notes](https://github.com/styled-components/styled-components/releases )
- [Commits](https://github.com/styled-components/styled-components/compare/styled-components@6.4.4...styled-components@6.5.1 )
Updates `@flakiness/playwright` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/flakiness/playwright/releases )
- [Commits](https://github.com/flakiness/playwright/compare/v2.0.1...v2.0.2 )
Updates `@types/node` from 26.1.2 to 26.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@codemirror/view"
dependency-version: 6.43.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@sentry/react"
dependency-version: 10.70.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: react-hook-form
dependency-version: 7.85.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: styled-components
dependency-version: 6.5.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@flakiness/playwright"
dependency-version: 2.0.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 08:49:50 +10:00
github-actions[bot]
90b72c194b
New Crowdin translations by GitHub Action ( #12625 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-16 23:02:10 +10:00
Oliver
af74f1abf6
Improve error handling for unit registry ( #12643 )
2026-08-16 11:46:40 +10:00
amanjain57-gif and Aman Jain
ee4ad7fd10
feat: add piece_count and piece_size fields to BomItem for cut-to-length parts ( #12422 )
...
* feat: add piece_count and piece_size fields to BomItem for cut-to-length parts
Manufacturing BOMs frequently require multiple pieces of a specific size
cut from continuous stock (cables, tubing, structural profiles). Currently
the only way to express "10 pieces of 250mm cable" is to enter the total
length (2.5m) as quantity, which loses the piece-count information that
purchasing and production need.
This adds two optional fields to BomItem:
- piece_count: number of discrete pieces required (default: 1)
- piece_size: size/length of each piece (e.g. "250 mm")
When piece_size is specified, the total quantity is auto-calculated as
piece_count × piece_size, maintaining full backward compatibility (existing
items effectively have piece_count=1 and empty piece_size).
Changes:
- Backend: new model fields, migration, updated recalculate_quantity()
logic, hash_fields for BOM validation
- API: serializer exposes piece_count and piece_size
- Frontend: BOM form includes the new fields, BOM table shows them as
optional columns
Addresses #10274
* refactor: simplify to single piece_count field per reviewer feedback
Remove the piece_size field entirely. The existing quantity field already
represents the per-piece size/length, so piece_count multiplied by
quantity gives the total material requirement.
Example: quantity=200mm, piece_count=10 → total 2m of wire in 10 pieces.
Changes:
- Remove piece_size model field, serializer field, and frontend column/form
- Update migration to only add piece_count
- Update get_required_quantity() to multiply by piece_count
- Restore original recalculate_quantity() without piece_size logic
* test/docs: add unit tests and documentation for piece_count field
* style: replace ambiguous × with x to fix RUF002 lint error
* Address review feedback: api_version bump, changelog, style fix
- Bump INVENTREE_API_VERSION to 531 with entry for piece_count field
- Add CHANGELOG.md entry under Unreleased > Added
- Fix RUF001: replace ambiguous × with x in serializers.py help_text
* fix: align piece_count migration help_text with model (RUF001)
The 0153 AddField recorded help_text with a Unicode multiplication sign
(×), while the model field uses plain 'x' after the RUF001 fix. This
mismatch made makemigrations --check flag an unstaged
0154_alter_bomitem_piece_count migration, failing the DB test CI jobs.
Update the original migration's help_text (and docstring) to plain 'x'
so the field definition matches the model, keeping a single clean
migration instead of add-then-alter.
* fix: use set_quantity() in piece_count tests
BomItem.quantity is a derived field, recalculated from raw_amount on
every save() via recalculate_quantity(). Setting item.quantity directly
was overwritten back to the fixture value on save, so the tests computed
against quantity=3 and failed. Use set_quantity() (which sets raw_amount)
to match how quantity is meant to be updated.
* ci: re-trigger CI to confirm Firefox E2E failures are transient
---------
Co-authored-by: Aman Jain <jainamn@amazon.com >
2026-08-16 09:43:42 +10:00
Matthias Mair
e4b23b4665
try fixing this flaky test on firefox ( #12640 )
2026-08-14 17:03:50 +10:00
Oliver
4767edfe1b
[bug] Fix broken user setting ( #12638 )
...
- Closes https://github.com/inventree/InvenTree/issues/12637
2026-08-14 08:25:09 +10:00
Oliver
9844a4805e
Allow bulk-edit for ReturnOrderLineItem ( #12635 )
...
* Allow bulk-edit for ReturnOrderLineItem
- Allow bulk change of line item outcome
* Update API version documentation with pull request links
2026-08-13 20:10:10 +10:00
Oliver
695b9c1dc2
[bug] Fix ReturnOrder event registration ( #12633 )
2026-08-13 16:43:22 +10:00
ribsey and Oliver
f5c4bbc6a8
reset errors on update ( #12550 )
...
* reset errors on update
* add empty line
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-12 16:38:46 +10:00
Oliver
2b3283d5d2
[bug] OptionalField race condition ( #12627 )
...
* [bug] OptionalField race condition
Fixes subtle bug where OptionalField entries can be silenty dropped from an API request due to concurrent requests / race conditions
* Additional unit tests
* Additional guard in metadata.py
* include extra kwargs
* Adjust import/exporting options
* Fix attribute sharing across class instances
2026-08-12 16:38:04 +10:00
FurinaDog and FurinaDog
55a193e5d7
fix: support UUID notification references ( #12616 )
...
* fix: support UUID notification references
* test: update notification uid expectation
---------
Co-authored-by: FurinaDog <FurinaDog@users.noreply.github.com >
2026-08-12 07:47:25 +10:00