2
0
mirror of https://github.com/inventree/InvenTree.git synced 2026-06-11 19:27:02 +00:00
Commit Graph

17888 Commits

Author SHA1 Message Date
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
Matthias Mair 9ee189a16b bump container deps (#12136)
* bump container deps

* specific n version

* switch to nvm as n is not officially supported

* fix bash script

* fix corepack

* move yarn config inline

* revert nvm usage
2026-06-10 09:39:41 +10: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
dependabot[bot] 4fb4ba7b2e chore(deps): bump the dependencies group with 3 updates (#12125)
Bumps the dependencies group with 3 updates: [actions/cache](https://github.com/actions/cache), [oasdiff/oasdiff-action](https://github.com/oasdiff/oasdiff-action) and [CodSpeedHQ/action](https://github.com/codspeedhq/action).


Updates `actions/cache` from 4.3.0 to 5.0.5
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/0057852bfaa89a56745cba8c7296529d2fc39830...27d5ce7f107fe9357f9df03efb73ab90386fccae)

Updates `oasdiff/oasdiff-action` from 0.0.48 to 0.0.51
- [Release notes](https://github.com/oasdiff/oasdiff-action/releases)
- [Commits](https://github.com/oasdiff/oasdiff-action/compare/50e6a3413e5aa9c3ae4d8393c34745be44288b46...f30668f65075c93440bd59ce2de73ce9e78751f4)

Updates `CodSpeedHQ/action` from 4.15.1 to 4.17.0
- [Release notes](https://github.com/codspeedhq/action/releases)
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codspeedhq/action/compare/3194d9a39c4d46684cb44bf7207fc56626aad8fd...9d332c4d90b43981c3e55ae8e38e68709996240f)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: oasdiff/oasdiff-action
  dependency-version: 0.0.51
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: CodSpeedHQ/action
  dependency-version: 4.17.0
  dependency-type: direct:production
  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-06-09 10:01:33 +10: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
Oliver a86e94c63d Bug fix for SalesOrderStatusGroups (#12107)
* Bug fix for SalesOrderStatusGroups

- Closes https://github.com/inventree/InvenTree/issues/12087

* Update CHANGELOG

* Adjust API unit test

* More adjustments
2026-06-07 12:23:34 +10:00
Matthias Mair 6c13d9f2a2 remove docs remainder https://github.com/inventree/InvenTree/issues/12067 (#12105) 2026-06-07 09:59:04 +10:00
getpwnam 245ead26bc fix(tasks): bypass Invoke PTY for interactive superuser/flush commands (#12078)
* fix(tasks): bypass Invoke PTY for interactive superuser/flush commands

Docker TTY sessions could drop the first keypress and stall at the username prompt when using invoke superuser (and interactive flush).

Run these interactive management commands via direct subprocess stdio instead of Invoke PTY mediation.

Refs #11751.

* chore: remove changelog entry per review
2026-06-07 08:41:42 +10:00
Oliver 4c4e0eb202 Locked plugin settings (#12093)
* Framework for overriding plugin settings

* Update serializer

* Prevent writing of plugin setting values

* Unit tests

* Update API version and CHANGELOG

* Update docs
2026-06-06 11:39:21 +10:00
Oliver 37b409e991 [UI] Month scroll (#12092)
* Vertical scrolling calendar view

* Add new setting to control calendar horizon

* Keep refetching data as user scrolss

* Adjust view based on configured setting

* Reduce padding

* Simplify calendar layout

* Docs tweak

* Split out display settings

* Adjust playwright test

* Reduce reliance on transient dialogs
2026-06-06 11:05:33 +10:00
Oliver b9c063fe31 Fix for empty boolean fields (#12100) 2026-06-06 09:34:22 +10:00
dependabot[bot] 6419c4ac5d chore(deps): bump the dependencies group across 1 directory with 21 updates (#12095)
* chore(deps): bump the dependencies group across 1 directory with 21 updates

Bumps the dependencies group with 21 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.14.0` | `7.14.1` |
| [django-stubs](https://github.com/typeddjango/django-stubs) | `6.0.4` | `6.0.5` |
| [django-stubs-ext](https://github.com/typeddjango/django-stubs) | `6.0.4` | `6.0.5` |
| [idna](https://github.com/kjd/idna) | `3.16` | `3.17` |
| [prek](https://github.com/j178/prek) | `0.4.1` | `0.4.3` |
| [bleach](https://github.com/mozilla/bleach) | `4.1.0` | `6.3.0` |
| [blessed](https://github.com/jquast/blessed) | `1.42.0` | `1.44.0` |
| [boto3](https://github.com/boto/boto3) | `1.43.14` | `1.43.17` |
| [botocore](https://github.com/boto/botocore) | `1.43.14` | `1.43.17` |
| [django-markdownify](https://github.com/erwinmatijsen/django-markdownify) | `0.9.1` | `0.9.7` |
| [django-oauth-toolkit](https://github.com/django-oauth/django-oauth-toolkit) | `3.2.0` | `3.3.0` |
| [docutils](https://github.com/rtfd/recommonmark) | `0.22.4` | `0.23` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.6` | `4.10.0` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.6` | `7.35.0` |
| [pypdf](https://github.com/py-pdf/pypdf) | `6.12.1` | `6.12.2` |
| [redis](https://github.com/redis/redis-py) | `7.4.0` | `8.0.0` |
| [rpds-py](https://github.com/crate-py/rpds) | `0.30.0` | `2026.5.1` |
| [s3transfer](https://github.com/boto/s3transfer) | `0.17.0` | `0.18.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.60.0` | `2.61.0` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.2.1` |
| [zopfli](https://github.com/fonttools/py-zopfli) | `0.4.1` | `0.4.2` |



Updates `coverage` from 7.14.0 to 7.14.1
- [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.14.0...7.14.1)

Updates `django-stubs` from 6.0.4 to 6.0.5
- [Release notes](https://github.com/typeddjango/django-stubs/releases)
- [Commits](https://github.com/typeddjango/django-stubs/compare/6.0.4...6.0.5)

Updates `django-stubs-ext` from 6.0.4 to 6.0.5
- [Release notes](https://github.com/typeddjango/django-stubs/releases)
- [Commits](https://github.com/typeddjango/django-stubs/compare/6.0.4...6.0.5)

Updates `idna` from 3.16 to 3.17
- [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.16...v3.17)

Updates `prek` from 0.4.1 to 0.4.3
- [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.1...v0.4.3)

Updates `bleach` from 4.1.0 to 6.3.0
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v4.1.0...v6.3.0)

Updates `blessed` from 1.42.0 to 1.44.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)

Updates `boto3` from 1.43.14 to 1.43.17
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.43.14...1.43.17)

Updates `botocore` from 1.43.14 to 1.43.17
- [Commits](https://github.com/boto/botocore/compare/1.43.14...1.43.17)

Updates `django-markdownify` from 0.9.1 to 0.9.7
- [Commits](https://github.com/erwinmatijsen/django-markdownify/compare/0.9.1...0.9.7)

Updates `django-oauth-toolkit` from 3.2.0 to 3.3.0
- [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.2.0...3.3.0)

Updates `docutils` from 0.22.4 to 0.23
- [Changelog](https://github.com/readthedocs/recommonmark/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rtfd/recommonmark/commits)

Updates `platformdirs` from 4.9.6 to 4.10.0
- [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.9.6...4.10.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.1 to 6.12.2
- [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.1...6.12.2)

Updates `redis` from 7.4.0 to 8.0.0
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v7.4.0...v8.0.0)

Updates `rpds-py` from 0.30.0 to 2026.5.1
- [Release notes](https://github.com/crate-py/rpds/releases)
- [Changelog](https://github.com/crate-py/rpds/blob/main/release.toml)
- [Commits](https://github.com/crate-py/rpds/compare/v0.30.0...v2026.5.1)

Updates `s3transfer` from 0.17.0 to 0.18.0
- [Changelog](https://github.com/boto/s3transfer/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/boto/s3transfer/compare/0.17.0...0.18.0)

Updates `sentry-sdk` from 2.60.0 to 2.61.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.60.0...2.61.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)

Updates `zopfli` from 0.4.1 to 0.4.2
- [Release notes](https://github.com/fonttools/py-zopfli/releases)
- [Commits](https://github.com/fonttools/py-zopfli/compare/v0.4.1...v0.4.2)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.14.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-stubs
  dependency-version: 6.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-stubs-ext
  dependency-version: 6.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: idna
  dependency-version: '3.17'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.4.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: bleach
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-markdownify
  dependency-version: 0.9.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-oauth-toolkit
  dependency-version: 3.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: docutils
  dependency-version: '0.23'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.10.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.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: redis
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: rpds-py
  dependency-version: 2026.5.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: s3transfer
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.61.0
  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.2
  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-06-06 09:11:56 +10:00
Oliver d4d5a4942c Codecov tweaks (#12099)
* Add missing backend dirs

* Adjust frontend coverage paths

* Run frontend workflow on master
2026-06-06 08:45:02 +10:00
Matthias Mair bd3098028b bump django (#12097) 2026-06-06 07:58:39 +10:00
Oliver 88524ac6d5 fix(forntend): generate UI coverage again (#12066)
* Attempt to fix UI coverage

* Update CI workflows:

- use test sharding
- Only upload coverage on master

* Restore line

* Simplify test

* Simplify test matrix

* Fix env vars

* Adjust matrix

* Adjust output names

* Fix paths

* Simplify qc_checks

* Revert missing line

* Simplify coverage calls

* Run firefox test against port 8000

* Fix VITE_COVERAGE env var

* Capture browser name in report output

* Increase timeout again

* Enhanced feedback from playwright startup

* Split UI checks into separate file

* Fix workflow deps

* Shard chromium build

* Adjust reporter type

* Reduce uncessesary build steps

* Tweak paths filter

* Reduce retries

* Also generate HTML reports

* Tweak reporter output

* Fix custom splash URLs

* Fix envs for customization tests

* Shard the firefox runner too

* Ignore customization tests for firefox too

* Don't upload if tests fail

* Fix triggers

* Remove merged test coverage

* Pin download action

* Error if no artifact files found

* Update ignore dirs

* Adjust baseFixtures

* Fix for teardown in baseFixtures.ts

* Fix path for coverage files

* include hidden files
2026-06-06 07:55:49 +10:00
Xhivo 2e4bf3739f Add HMR and React Fast Refresh support (#12060)
* Add HMR and React Fast Refresh support

* Run pre-commit hooks

* Fix 'hmrSetModule' module loading

The incoming module needs to include the URL from which it was loaded,
so that it's possible to enforce only loading modules imported from the same
pathname as the current module.

* Add error handling and improvements

- Add error handling to `useRemotePlugin` and simplify `RemoteComponent`
- Improve HMR to use a registry instead of a single global callback.
  This should now handle two legacy plugin entry points being used at
  the same time via RemoteComponent.

* Update docs

* Update CHANGELOG

* Remove use of LanguageContext from RemoteComponent

LanguageContext should not be necessary here, as it's provided in
ThemeContext, which is used in InvenTree's frontend entry.

* Fix incorrect import.meta.hot access

* Update Playwright test to match UI text changes

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-06-05 23:21:12 +10:00
Oliver 3393ef4e65 [UI] Table adjuments (#12090)
- Set stale time for build table queries
- Fixes for table ordering
2026-06-05 18:08:27 +10:00
Oliver 969539426d [UI] Calendar refresh (#12091)
* [UI] Add "refresh" button to Calendar view

* Extend filter drawer width
2026-06-05 17:13:12 +10:00
Oliver 8d2b765013 [UI] Adjust text (#12085)
* Adjust text

* Fix playwright  test
2026-06-05 17:06:36 +10:00
Oliver 2d8f735ac5 Adjust label for Build Order (#12089)
- Bring into line with other order types
2026-06-05 14:33:56 +10:00
Oliver 1b8217e8b3 [UI] Table filter set (#12079)
* Save and load custom filter sets

* Tweak UI logic

* Adjust icons

* More refactoring

* Update UI docs

* Playwright tests

* Add docs image

* Fix image name

* Update docs/docs/concepts/user_interface.md

Co-authored-by: Matthias Mair <code@mjmair.com>

* Add CHANGELOG entry

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-04 22:19:28 +10:00
Oliver 3dfd03fa89 [Bug] Fix for build forms (#12081)
* Bug fix for build forms

- Memoize outputs to prevent re-rendering reset issues

* Add playwright test
2026-06-04 22:12:29 +10:00
Oliver dae97f4795 [UI] Adjust calendar view color (#12080)
- Match custom status colors
2026-06-04 20:32:24 +10:00
Oliver 75a08a1e06 [feature] tags support (#12077)
* Add Tag API endpoints

* Enable filtering by model type

* Remove old tags filters against Part endpoint

* Add generic tags filter for filtering against tagged items

* Add API unit tests for the tags API endpoints

* Create generic mixin class for adding tags support

* Update existing tagged models

* Add tags to more model types

* Enable new tags API filtering for multiple models

* Add support for tag filtering in part table

* Update transfer table filters

* Add tags filter to more places

* Allow multiple values to be selected as filters

* Add a new 'tags' type form field

* Display tags on part page

* tags support for orders

* Add support for SalesOrderShipment

* build order

* Company support

* SupplierPart and ManufacturerPart

* support StockItem

* Enable tag filtering for attachments

* Make tagslist readonly

* docs

* Mark props as read only

* Update API version

* Update CHANGELOG

* force tags to be case insensitive

* Add playwright test for build order tags

* more playwright testing

* Fix docs link
2026-06-04 19:38:22 +10:00
dependabot[bot] a0b2452ba5 chore(deps): bump the dependencies group with 10 updates (#12074)
Bumps the dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `4.0.0` | `4.1.0` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.0.0` | `4.1.0` |
| [docker/login-action](https://github.com/docker/login-action) | `4.1.0` | `4.2.0` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `6.0.0` | `6.1.0` |
| [depot/build-push-action](https://github.com/depot/build-push-action) | `1.17.0` | `1.18.0` |
| [oasdiff/oasdiff-action](https://github.com/oasdiff/oasdiff-action) | `0.0.47` | `0.0.48` |
| [actions/cache](https://github.com/actions/cache) | `4.3.0` | `5.0.5` |
| [ad-m/github-push-action](https://github.com/ad-m/github-push-action) | `1.1.0` | `1.3.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.35.5` | `4.36.0` |
| [actions/stale](https://github.com/actions/stale) | `10.2.0` | `10.3.0` |


Updates `docker/setup-qemu-action` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/ce360397dd3f832beb865e1373c09c0e9f86d70a...06116385d9baf250c9f4dcb4858b16962ea869c3)

Updates `docker/setup-buildx-action` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd...d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5)

Updates `docker/login-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/4907a6ddec9925e35a0a9e82d7399ccc52663121...650006c6eb7dba73a995cc03b0b2d7f5ca915bee)

Updates `docker/metadata-action` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/030e881283bb7a6894de51c315a6bfe6a94e05cf...80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9)

Updates `depot/build-push-action` from 1.17.0 to 1.18.0
- [Release notes](https://github.com/depot/build-push-action/releases)
- [Commits](https://github.com/depot/build-push-action/compare/5f3b3c2e5a00f0093de47f657aeaefcedff27d18...98e78adca7817480b8185f474a400b451d74e287)

Updates `oasdiff/oasdiff-action` from 0.0.47 to 0.0.48
- [Release notes](https://github.com/oasdiff/oasdiff-action/releases)
- [Commits](https://github.com/oasdiff/oasdiff-action/compare/6147a58e5d1249a12f42fc864ab791d571a30015...50e6a3413e5aa9c3ae4d8393c34745be44288b46)

Updates `actions/cache` from 4.3.0 to 5.0.5
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/0057852bfaa89a56745cba8c7296529d2fc39830...27d5ce7f107fe9357f9df03efb73ab90386fccae)

Updates `ad-m/github-push-action` from 1.1.0 to 1.3.0
- [Release notes](https://github.com/ad-m/github-push-action/releases)
- [Commits](https://github.com/ad-m/github-push-action/compare/4cc74773234f74829a8c21bc4d69dd4be9cfa599...881a6320fdb16eb5318c5054f31c218aec2b324c)

Updates `github/codeql-action` from 4.35.5 to 4.36.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9e0d7b8d25671d64c341c19c0152d693099fb5ba...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)

Updates `actions/stale` from 10.2.0 to 10.3.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/b5d41d4e1d5dceea10e7104786b73624c18a190f...eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: docker/login-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: docker/metadata-action
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: depot/build-push-action
  dependency-version: 1.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: oasdiff/oasdiff-action
  dependency-version: 0.0.48
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: actions/cache
  dependency-version: 5.0.5
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: ad-m/github-push-action
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: github/codeql-action
  dependency-version: 4.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: actions/stale
  dependency-version: 10.3.0
  dependency-type: direct:production
  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-06-04 09:39:11 +10:00
Oliver 8453f7afa2 Small docs changes (formatting) (#12073) 2026-06-03 12:01:43 +10:00
Oliver 47c6906a74 Remove "review_needed" field (#12071)
* Remove "review_needed" field

* Update CHANGELOG
2026-06-02 17:23:35 +10:00
Oliver 75e3f522d4 Fix for "can convert" logic (#12070)
- Fetch full part detail
2026-06-02 16:43:08 +10:00
Oliver 0f717e2749 Specify R as ohms (#12065)
* Specify R as ohms

* Adjust comments
2026-06-02 16:16:19 +10:00
Oliver d3be030486 Update dashboard widgets (#12068)
- Display loading overlay
- Fix bottom of chart to zero
2026-06-02 14:55:27 +10:00
github-actions[bot] 1af301173d New Crowdin translations by GitHub Action (#12045)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-02 10:16:05 +10:00
Oliver d38af61ba2 [UI] Order history dashboard widgets (#12061)
* Add order history dashboard widgets

* Support icons for dashboard widgets

* Change StylishText size from 'lg' to 'md'
2026-06-01 21:44:25 +10:00
Oliver 7f86384a03 Fix for RenderInstance (#12058)
* Fix for RenderInstance

- Do not call useNavigate within RenderInstance
- This breaks any plugins which try to use RenderInstance
- Pass navigate func through to <RenderInstance />

* Add playwright test for hover in forms

* Add translated plugin test

* Improve playwright tests

* Further unit test fixes

* Update docstring
2026-06-01 21:44:02 +10:00
Oliver f912ba501d [bug] Various fixes (#12057)
* [bug] Various fixes

- Add get_api_url to EmailThread model
- Prevent setting creation during import
- Tweak BarcodeScanHistoryTable

* Tweak barcode history table tests

* Bump API version
2026-06-01 14:30:23 +10:00
Aditya Kumar Mishra 956468eb84 Fix: Apply default location correctly in Return Stock form (#11568) (#12059)
* Fix: Apply default location correctly in Return Stock form (#11568)

* Fix: Apply prek import ordering
2026-06-01 12:08:13 +10:00
Idea-Junkie 4b415cb8ae Update to /api/barcode/po-recieve/ error messages (#11369)
* Update Dockerfile

* Update Dockerfile

* Added More Info In Barcode API Scans

Added DebugResponse
Added Suppliers Tested
Added Suppliers Errors

* Add NotFound to base Response

* Added Simple Plugin Debug

Changed "NotFound" to 'No_Match'
different style for Debug response

* Added finishing touches for API Error

* clean up + comments

* Added No Supplier Plugin error

* fix style

* Formatting and fixing comments

Added more variables
updated formatting
Added more in depth explanation block for Debug response

* duplicate code fix

* fixed some variable names

* Small move of variables

* Updated To Nested Debug Dictionary

fixed some issues with comments made in original PR
added more comments and small adjustments
got rid of "line item" in debug response

* Added notes to documentation

* Update docs/docs/app/barcode.md

adding matmirs comments

Co-authored-by: Matthias Mair <code@mjmair.com>

* Updated JSON plugin debug name

also added 'plugin_slug' variable

* fix style

* DNE style fix

* Style fix(again)

* Add unit tests

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-05-31 18:45:23 +10:00
Oliver b2b476b570 [API] Fix 1 + N query for custom status fields (#12055)
* Add CustomStatusSerializerMixin

- Caches custom status values

* Add unit test for PurchaseOrder model

* Implement changes for StockItemSerializer

* Implement changes for BuildOrder

* Fix unit test

* Bump API version

* Add serializer field type hint
2026-05-31 13:38:18 +10:00