Commit Graph
749 Commits
Author SHA1 Message Date
Oliver Walters 112c417cea Merge commit '4c4c86e180cc9e07ccc440851f401e8fb65529f0' into block-notes 2026-07-21 04:10:02 +00:00
Oliver 4c4c86e180 [feature] Line discount (#12393)
* Add "discount" support to order line items

* Fix total_price annotation for ExtraLineItem

* Add regression tests

* Add frontend support

* Updated documentation

* Added docs

* Bump API version and CHANGELOG

* Remove 'total_price' annotation

- Can be achieved using in-memory python methods

* Apply fix for migration testing

* Revert "Apply fix for migration testing"

This reverts commit 8d9f2dce8c.

* Different approach

* Adjust playwright threshold
2026-07-20 20:42:54 +10:00
Matthias Mair 4289f13c7f fix docs reqs (#12407)
* bump soupsieve

* general deps bump
2026-07-17 07:52:09 +10:00
Oliver 3fd0e9d304 Bulk delete line items (#12391)
* Add bulk-delete mixin for order line items

* Add unit tests

* Enable frontend support

* Add CHANGELOG entry

* Add locking control for TransferOrder

* Fix playwright tests

* Fix playwright tests
2026-07-16 11:55:34 +10:00
Oliver Walters ed70559cdb Merge commit '1dd261e918e35fbfbc4d0797611967a450a5d756' into block-notes 2026-07-15 13:07:33 +00:00
Oliver 61dcc04205 [feature] Unique parameters (#12388)
* Add uniqueness requirement for parameter values

* Add documentation

* Do not copy unique parameters

* Updated playwright tests

* Enhanced validation checks for uniqueness

* Update documentation

* Update CHANGELOG

* Bump API version
2026-07-14 14:34:17 +10:00
Oliver c5e81a7820 [UI] Preview Drawer (#12117)
* Add <GlobalPreviewDrawer> component

* Allow plugins to interact

* provide either pk or instance data

* open preview drawer from calendar views

* Launch preview drawer directly from tables

* Add preview types

* Fix types

* CLear data on close

* Fix transition

* Allow caller to pass preview component

* AttributeGrid

* Use a table component

* Display info items

* Navigate to detail page from drawer

* Updates

* Refactor to use part detail view

* Display parameters

* Fix image caching

* Apply same to StockItem

* Remove old component

* Refactor details grid component

* Preview panel for PurchaseOrder model

* Implement for SalesOrder

* Support ReturnOrder

* SupplierPart and ManufacturerPart

* Support preview in parameteric tables

* support Company and BuildOrder

* Fix numbervalue

* BuildOrder and SalesOrderShipment

* location and category

* add user setting

* Fix typing

* Handle link clicks within preview drawer

* fixes

* Implement onClose callback

* Handle row click when panel preview is disabled

* Support custom detail links

* update playwright tests

* UI tweaks

* Add CHANGELOG entry

* docs

* define default API params per model type

* Split out more docs pages

* Simplify state ref

* Refactoring

* Simplify PreviewDrawer component

* observe user setting in calendar view

* Enable PreviewDrawer from RowViewAction

* Push render functions onto ModelInformation dict

* Fix lib compilation

* Refactor internal uses of RowViewAction

* typescript fixes

* Simplify PreviewDrawer component structure

* remove TODO placeholders
2026-07-12 20:11:27 +10:00
Oliver 4e00e2d0c6 [feature] Break apart assemblies (#12310)
* Implement API endpoint for stock disassembly

* Add basic frontend implementation

* Adjust required user permission

* Add preFormContent

* Read-only if serialized

* Adjust location and status of each subcomponent

* Handle null value

* display installed items in frontend form

* More unit tests

* Traceability

* Add docs

* Exclude virtual / consumable stock

* Additional docs

* Added bundled items docs

* More docs

* more docs tweaks

* Updated part docs

* Add playwright tests

* Robustify test

* suppress certain warnings in schema

* Adjust playwright tests

* bug fix

* Tweak playwright tests
2026-07-12 13:31:10 +10:00
Oliver d4171f2dcf [docs] Admin docs (#12345)
* Enhanced documentation for admin center and django-admin

* Fix links and wording

* remove placeholders

* Fix links

* Fix more links
2026-07-10 00:01:00 +10:00
Oliver 996dbc5aa8 Adjust default behavior of "migrate" command (#12320)
* Adjust default behavior of "migrate" command

- Does not create new migration files automatically

* Add dummy field - ensure detected by CI

* Revert "Add dummy field - ensure detected by CI"

This reverts commit e7a101fe87.

* Fix typo

* Adjust contributing docs

* Add CHANGELOG entry
2026-07-09 20:41:56 +10:00
Oliver 8e555f6b37 [UI] Add form submission shortcut (#12328)
- Ctrl + enter submits the form
2026-07-08 21:14:13 +10:00
Oliver Walters c447f89f15 Merge commit 'e6a12564f3c5b5de8f2c6ac11911348102ff016d' into block-notes 2026-07-06 11:27:42 +00:00
OliverandMatthias Mair e6a12564f3 [feature] Consumable part (#12295)
* Add "consumable" field to the Part model

* Add frontend integration

* Add badge

* Add docs

* Updated docs

* Add API filtering for new field

* Adjust API filters

* Update backend logic

* Adjust frontend

* Additional unit tests

* Update API version

* update test

* Add consumable icon

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-06 21:12:24 +10:00
Oliver Walters 50fa444be5 Fix docs 2026-07-06 10:33:19 +00:00
Oliver Walters 60a8b101b5 Add screenshot 2026-07-05 09:30:53 +00:00
Oliver Walters 102091c429 Merge commit 'f656ac72635b16eb8140680b9260f8b6b0e012d1' into block-notes 2026-07-03 14:07:49 +00:00
Oliver f656ac7263 [docs] Report helper docs (#12300)
* [docs] Report helper docs

* Split out docs for assets and snippets

* Updates
2026-07-03 21:40:28 +10:00
Oliver Walters 1c4f865b9f Merge commit '4895fbc9fed2c7df28729e3b38929fc26f767ae9' into block-notes 2026-07-03 10:51:02 +00:00
Oliver 4cb29f37c6 [UI] Snippet editor (#12299)
* Implement admin editor for report snippets

* Report asset management

* Add playwright test for report snippets

* Add playwright test for "Report Assets" panel

* Updated docs
2026-07-03 19:04:50 +10:00
Oliver Walters 6f7c3ff75d docs for rendering notes in reports 2026-07-01 14:17:04 +00:00
Oliver Walters 856aa36dfd add docs 2026-07-01 14:06:10 +00:00
Oliver Walters f4963432f0 Merge commit '12825aa1f4f6b47fabc47dda980d74df50d7dad4' into block-notes 2026-06-29 12:57:29 +00:00
Matthias Mair 2d1d5403d8 chore(backend): Remove devops (#12265)
* update sponsored ressources

* remove az devops
2026-06-27 11:30:28 +10:00
Oliver Walters e6b86fbae1 asfd 2026-06-25 02:22:03 +00:00
Neil BeukesandMatthias Mair 4cfefc18c1 Allow stock transfer to merge into existing stock (optional) #6951 (#12022)
* working on merge transfer

* fix history when merging

* update messaging, add 'added' line in history

* reworked history logic

* removed old transfer logic

* remove formatting changes from vite file

* Bumped API version, added entry in docs for new global setting

* removed the tracking item overwrite, Use existing tracking event from transfer

* run pre-commit checks

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-25 00:24:33 +10:00
Oliver 44e42f34e4 Merge branch 'master' into block-notes 2026-06-24 22:13:08 +10:00
Matthias Mair de736ee5de !feat(backend): bump minimum python version (#12223)
* bump ci versions

* bump installer version

* bump tooling version ref

* bump doc refs

* bump / refactor code refs

* bump debug ref

* remove now unneeded deps

* bump release version

* remove distutils

* fix finder call

* remove old compat code

* add changelog entry

* lower cov target for now
2026-06-24 17:42:35 +10:00
Matthias Mair f21bc2d06f extend barcode scans API (#12233)
* extend barcode scans with user perm check

* fix import

* fix call

* align error message

* add missing permissions to test

* remove erronous assign

* ensure permission erros knock through
2026-06-24 10:45:26 +10:00
Oliver Walters a42217f17e Merge commit 'ec845c61cda2d9fd458906aef7e2871f7a09a188' into block-notes 2026-06-22 05:42:03 +00:00
Oliver ca16e6ec0a Report locale updates (#12208)
* Optional 'locale' arg to format_money

- Allows override of system locale when generating reports

* Updated documentation

* Add unit tests

* Handle invalid locale

* Handle invalid locale

* Add new global setting to control currency locale in reports

* Use setting in reports

* Add CHANGELOG entry

* Further unit tests

* Add unit tests for new setting

* Update docs

* More docs

* Refactoring:

- Change REPORT_CURRENCY_LOCALE to REPORT_LOCALE

* Extend unit testing

* Refactor format_number

* Add unit tests for explicit format strings

* Update examples for format_date

* Updated unit  tests

* Cleanup unit tests

* Fix more tests

* Adjust wording

* Remove global setting - simplify code

* Simplify unit tests

* Revert 'min_digits' to 'leading'

* Fix docs

* Refactor the render_currency function

- Move all functionality into report.py

* Cleanup duplicate code

* Updated docs

* Allow user to specify date_format

* Add support for 'leading' digits in render_currency

* Bug fix

* Fix unit test

* Add tests for "include_symbol"
2026-06-20 11:00:12 +10:00
dependabot[bot]andMatthias Mair 8a092b4d1d chore(deps): bump the dependencies group across 1 directory with 12 updates (#12210)
* chore(deps): bump the dependencies group across 1 directory with 12 updates

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

| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3) | `1.43.23` | `1.43.28` |
| [botocore](https://github.com/boto/botocore) | `1.43.23` | `1.43.28` |
| [django-js-asset](https://github.com/feincms/django-js-asset) | `3.1.2` | `4.0.1` |
| [django-money](https://github.com/django-money/django-money) | `3.6.0` | `3.6.1` |
| [grpcio](https://github.com/grpc/grpc) | `1.81.0` | `1.81.1` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.6` | `7.35.1` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.61.1` | `2.62.0` |
| [structlog](https://github.com/hynek/structlog) | `25.5.0` | `26.1.0` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.68.1` | `4.68.2` |
| [wcwidth](https://github.com/jquast/wcwidth) | `0.7.0` | `0.8.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.2.1` |
| [zopfli](https://github.com/fonttools/py-zopfli) | `0.4.2` | `0.4.3` |



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

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

Updates `django-js-asset` from 3.1.2 to 4.0.1
- [Changelog](https://github.com/feincms/django-js-asset/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/feincms/django-js-asset/compare/3.1.2...4.0.1)

Updates `django-money` from 3.6.0 to 3.6.1
- [Release notes](https://github.com/django-money/django-money/releases)
- [Changelog](https://github.com/django-money/django-money/blob/main/docs/changes.rst)
- [Commits](https://github.com/django-money/django-money/compare/3.6.0...3.6.1)

Updates `grpcio` from 1.81.0 to 1.81.1
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.81.0...v1.81.1)

Updates `protobuf` from 6.33.6 to 7.35.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

Updates `sentry-sdk` from 2.61.1 to 2.62.0
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.61.1...2.62.0)

Updates `structlog` from 25.5.0 to 26.1.0
- [Release notes](https://github.com/hynek/structlog/releases)
- [Changelog](https://github.com/hynek/structlog/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hynek/structlog/compare/25.5.0...26.1.0)

Updates `tqdm` from 4.68.1 to 4.68.2
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.68.1...v4.68.2)

Updates `wcwidth` from 0.7.0 to 0.8.1
- [Release notes](https://github.com/jquast/wcwidth/releases)
- [Commits](https://github.com/jquast/wcwidth/compare/0.7.0...0.8.1)

Updates `wrapt` from 1.17.3 to 2.2.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.2.1)

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

---
updated-dependencies:
- dependency-name: boto3
  dependency-version: 1.43.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-js-asset
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: django-money
  dependency-version: 3.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: grpcio
  dependency-version: 1.81.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: protobuf
  dependency-version: 7.35.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.62.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: structlog
  dependency-version: 26.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: tqdm
  dependency-version: 4.68.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: wcwidth
  dependency-version: 0.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: zopfli
  dependency-version: 0.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

* general bump

* bump dev tools

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-20 09:50:45 +10:00
Oliver Walters ad8fbcf91b Merge commit '01fb74af254d29c5f58ee10e352c7e2bb13b23dc' into block-notes 2026-06-19 05:41:24 +00:00
Oliver 01fb74af25 [UI] Tree improvements (#12204)
* Hide expand icon for items without children

* Add searching to CategoryTree API

* Add "level" filter

* Automatically include parent tree when searching

* Include tree_id field

* Add search input to NavigationTree

* Add more API filters

* Load child nodes iteratively

* Fix dynamic loading of nodes

* Highlight selected item

* Include pathstring

* Fix insertion order

* Auto-expand to the selected ID

* Add "no results" message

* Refactor into generic components

* Expand to multi level

* Use async node loading functionality

* Add hovercard

* Implement same functionality for StockLocationTree API endpoint

* Adjust spacing

* Add connecting lines

* Add playwright test

* Bump API version

* Add CHANGELOG entry

* Update docs

* Update screenshot
2026-06-19 15:33:12 +10:00
Oliver Walters 54da8ea81e Merge commit '0b5db2f16a9dee9a6127c9757cc7f843dbe45f57' into block-notes 2026-06-14 11:27:47 +00: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 Walters 2ee1016e84 Merge commit '457fe16f9c31d08fbb6f3493f17105aac2638e86' into block-notes 2026-06-13 10:01:38 +00:00
dependabot[bot]andMatthias Mair 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
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
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
Oliver Walters 3c7a65e364 Merge commit '6c13d9f2a2db210b8318420b7783f402b3522054' into block-notes 2026-06-07 01:51:28 +00:00
Matthias Mair 6c13d9f2a2 remove docs remainder https://github.com/inventree/InvenTree/issues/12067 (#12105) 2026-06-07 09:59:04 +10:00
Oliver Walters 9f0191056c Merge commit '4c4e0eb202059b83f208065e7f48660f97148956' into block-notes 2026-06-06 09:18:22 +00: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
dependabot[bot]andMatthias Mair 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 002a0b32bc Merge branch 'master' into block-notes 2026-06-06 09:10:15 +10:00
XhivoandOliver 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 Walters b33e229c17 Merge commit '3393ef4e65267f4f8c5a5a87798553dbe0160a39' into block-notes 2026-06-05 12:57:45 +00:00