Commit Graph

18023 Commits

Author SHA1 Message Date
Oliver Walters 54da8ea81e Merge commit '0b5db2f16a9dee9a6127c9757cc7f843dbe45f57' into block-notes 2026-06-14 11:27:47 +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 dff26b92a7 Fix button-within-button 2026-06-14 00:49:49 +00:00
Oliver Walters cc36bfb8e4 Render Note instance in forms 2026-06-14 00:48:05 +00:00
Oliver Walters b06f47815d Fix for NotesEditor 2026-06-14 00:35:08 +00:00
Oliver Walters 9a386428ba Frontend updates 2026-06-13 13:11:17 +00:00
Oliver Walters e31a242238 Adjust migrations 2026-06-13 11:37:06 +00:00
Oliver Walters cf43ff37a9 Add "template" field to Note model 2026-06-13 11:26:13 +00:00
Oliver Walters f5ca46e61b Fix double-save 2026-06-13 11:08:49 +00:00
Oliver Walters fdef49c25e Make save method atomic 2026-06-13 11:08:13 +00:00
Oliver Walters 5b18401684 Fix note duplication 2026-06-13 11:04:11 +00:00
Oliver Walters f0cb694685 Fix content mixin 2026-06-13 11:03:12 +00:00
Oliver Walters 94ae7839b3 Fix delete call 2026-06-13 11:01:36 +00:00
Oliver Walters 2ee1016e84 Merge commit '457fe16f9c31d08fbb6f3493f17105aac2638e86' into block-notes 2026-06-13 10:01:38 +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
Matthias Mair 10479e82b8
switch from n to nvm as that is an offical channel (#12140) 2026-06-13 15:16:16 +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 Walters d98a57fbe9 Merge commit '3309032b261e891944db5270a305a3ecf9f926ce' into block-notes 2026-06-11 06:33:52 +00: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 0e54fe0e63
Merge branch 'master' into block-notes 2026-06-10 11:44:41 +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 Walters 1205bc5536 Merge commit 'ca6f73e91922c8faed1f495e7ecac2ad1101f65d' into block-notes 2026-06-09 06:44:55 +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
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](0057852bfa...27d5ce7f10)

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

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](3194d9a39c...9d332c4d90)

---
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 Walters f927635df6 Fix migrations 2026-06-08 10:42:23 +00:00
Oliver fb621c3bb8
Merge branch 'master' into block-notes 2026-06-08 18:49:03 +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 ab3372db9d
Merge branch 'master' into block-notes 2026-06-08 00:01:04 +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 Walters 6d3259eb0c Merge commit '7f1f2dbad24c6f1fe2b034fbb64c950f24318d50' into block-notes 2026-06-07 03:10:18 +00: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