Commit Graph

2453 Commits

Author SHA1 Message Date
github-actions[bot] 7033e36fc3
New Crowdin translations by GitHub Action (#10286)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-17 07:37:06 +10:00
Oliver 5727999d4d
Fix user defined radius (#10327)
- Observe correct radius values
- Closes https://github.com/inventree/InvenTree/issues/10322
2025-09-16 10:20:23 +10:00
Oliver bb40b92896
Update software version to 1.1.0 dev (#10318)
* Update software version to 1.1.0 dev

Bump master branch to 1.1.0 dev version

* Update MAX_VERSION to '2.0.0' in version.py

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-09-16 09:35:36 +10:00
Matthias Mair 9679e58212
feat(frontend): Add samples for dashboard (#10306)
* feat(forntend): Add sampels to dashboard
Closes #9990

* add sessions storage to disable sample dash once cleared/removed
2025-09-14 20:47:15 +10:00
Oliver f3ec708a28
Fix link rendering for RenderInlineModel (#10311) 2025-09-12 09:33:30 +10:00
dependabot[bot] 03c403c61d
chore(deps): bump axios from 1.11.0 to 1.12.0 in /src/frontend (#10308)
Bumps [axios](https://github.com/axios/axios) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 09:24:11 +10:00
dependabot[bot] ccfd1c4bf8
chore(deps): bump django from 4.2.23 to 4.2.24 in /src/backend (#10300)
* chore(deps): bump django from 4.2.23 to 4.2.24 in /src/backend

Bumps [django](https://github.com/django/django) from 4.2.23 to 4.2.24.
- [Commits](https://github.com/django/django/compare/4.2.23...4.2.24)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.24
  dependency-type: direct:production
...

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

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-09-12 08:48:49 +10:00
Reza 8adfa234bb
Refactor (backend): Improve BuildItemList API filters (#10279)
* refactor(stock): improve StockList api filters

* update PR numver in api_version

* Update src/backend/InvenTree/InvenTree/api_version.py

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

* Fix MySQL test failure caused by self-referential FK constraint in StockItem

* Data import fix (#10298)

* Data import fix

- Improved error handling

* Tweak frontend display of errors

* chore(deps-dev): bump vite from 6.3.5 to 6.3.6 in /src/frontend (#10297)

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 6.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 08:25:30 +10:00
dependabot[bot] 5099494180
chore(deps-dev): bump vite from 6.3.5 to 6.3.6 in /src/frontend (#10297)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.5 to 6.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-10 10:57:46 +10:00
Oliver 9df896cf7a
Data import fix (#10298)
* Data import fix

- Improved error handling

* Tweak frontend display of errors
2025-09-10 10:56:59 +10:00
Matthias Mair 2c22686520
fix(backend): re-add active plugins to anon status (#10282)
* this was disabled due to wrong feedback by me, common debug tools do not work because of this

* patch tests

* make mfa test more robust
2025-09-09 07:39:25 +10:00
Oliver b65a3f985d
[UI] Fixes for part stock history (#10293)
- Correct default data ordering
- Fix rendering for date labels
2025-09-09 07:39:15 +10:00
Oliver 2ac381b4dc
Improved formatting (#10284)
- Use decimal formatting functions for more places in the UI
2025-09-09 06:32:17 +10:00
github-actions[bot] a47a022747
New Crowdin translations by GitHub Action (#10248)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-08 23:19:45 +10:00
Oliver e8b56e58ac
Fix "Installed Items" table (#10280)
* Fix for "Installed Items" table

- Fix broken part column

* Format quantity column
2025-09-08 11:31:39 +10:00
Oliver fe8aa187c4
Fix for PartParameterTable (#10278)
- Redraw cell after updating value
2025-09-06 14:58:19 +10:00
Oliver 755a02f4a2
Improve part parameter table (#10272)
- Handle empty filter values
2025-09-05 16:48:45 +10:00
Oliver 335d87ef16
Auth session info (#10271)
* https://github.com/inventree/InvenTree/pull/6293

* refactor to a shared component

* refactoring container stuff to a wrapper

* move title to wrapper

* move logoff and loader to wrapper

* mvoe functions to general auth

* seperate login and register into seperate pages

* unify auth styling

* rename component

* adapt to new look

* check if registration is enabled

* feat(frontend):add authentication debug window

* clear state on logout

* add reload button

* reduce diff

* export helper

* move hover out

* only show to superusers

* fix state args

* fix merge

* fix merge

* clean up diff

* reduce diff

* re-diff

* fix shallow loading

* fix test

* fix umport

* Move session info to user settings panel

* Restrict to superuser accounts

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-09-05 16:07:32 +10:00
Oliver 9dadc2b475
Fix breadcrumb URL (#10270)
- Missing leading slash
2025-09-05 10:59:23 +10:00
Matthias Mair ed04a37838
chore(backend): improve coverage (#10226)
* remove unneeded helper

* remove unnecessary coverage

* ignore catch-all pervisions in app setup

* remove unused function

* this was replaced by get_model_permission_string
2025-09-05 10:00:50 +10:00
Oliver a3f4cc9b88
Ensure stock check task runs in the background worker (#10266) 2025-09-04 14:39:11 +10:00
Oliver c6f46c587d
[UI] breadcrumb fix (#10264)
* Allow middle-click on breadcrumbs

* Fix playwright test
2025-09-04 12:06:15 +10:00
Oliver fa45bb1bef
Fix z-index for sticky header (#10265) 2025-09-04 11:16:41 +10:00
Oliver 1eb4e4fb3d
[UI] Details Table Fixes (#10263)
* Remove "copy" button from link

* Handle empty details group

* Tweak text

* Fix link in details field
2025-09-04 10:42:00 +10:00
dependabot[bot] bfdc49c591
chore(deps): bump the dependencies group across 1 directory with 22 updates (#10262)
Bumps the dependencies group with 22 updates in the /src/frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/autocomplete](https://github.com/codemirror/autocomplete) | `6.18.6` | `6.18.7` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.38.1` | `6.38.2` |
| [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `7.0.0` | `7.0.1` |
| [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `7.0.0` | `7.0.1` |
| [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `7.0.0` | `7.0.1` |
| [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) | `3.0.1` | `3.0.2` |
| [@mantine/carousel](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/carousel) | `8.2.7` | `8.2.8` |
| [@mantine/charts](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/charts) | `8.2.7` | `8.2.8` |
| [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core) | `8.2.7` | `8.2.8` |
| [@mantine/dates](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dates) | `8.2.7` | `8.2.8` |
| [@mantine/dropzone](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dropzone) | `8.2.7` | `8.2.8` |
| [@mantine/form](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/form) | `8.2.7` | `8.2.8` |
| [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks) | `8.2.7` | `8.2.8` |
| [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals) | `8.2.7` | `8.2.8` |
| [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications) | `8.2.7` | `8.2.8` |
| [@mantine/spotlight](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/spotlight) | `8.2.7` | `8.2.8` |
| [@mantine/vanilla-extract](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/vanilla-extract) | `8.2.7` | `8.2.8` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript) | `10.7.0` | `10.9.0` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.85.5` | `5.85.9` |
| [dayjs](https://github.com/iamkun/dayjs) | `1.11.15` | `1.11.18` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.1.8` | `19.1.9` |
| [rollup](https://github.com/rollup/rollup) | `4.49.0` | `4.50.0` |



Updates `@codemirror/autocomplete` from 6.18.6 to 6.18.7
- [Changelog](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/autocomplete/compare/6.18.6...6.18.7)

Updates `@codemirror/view` from 6.38.1 to 6.38.2
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.38.1...6.38.2)

Updates `@fortawesome/fontawesome-svg-core` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/7.0.0...7.0.1)

Updates `@fortawesome/free-regular-svg-icons` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/7.0.0...7.0.1)

Updates `@fortawesome/free-solid-svg-icons` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/7.0.0...7.0.1)

Updates `@fortawesome/react-fontawesome` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/main/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/v3.0.1...v3.0.2)

Updates `@mantine/carousel` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/carousel)

Updates `@mantine/charts` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/charts)

Updates `@mantine/core` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/core)

Updates `@mantine/dates` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/dates)

Updates `@mantine/dropzone` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/dropzone)

Updates `@mantine/form` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/form)

Updates `@mantine/hooks` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/hooks)

Updates `@mantine/modals` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/modals)

Updates `@mantine/notifications` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/notifications)

Updates `@mantine/spotlight` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/spotlight)

Updates `@mantine/vanilla-extract` from 8.2.7 to 8.2.8
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.8/packages/@mantine/vanilla-extract)

Updates `@sentry/react` from 10.7.0 to 10.9.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/10.9.0/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.7.0...10.9.0)

Updates `@tanstack/react-query` from 5.85.5 to 5.85.9
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.85.9/packages/react-query)

Updates `dayjs` from 1.11.15 to 1.11.18
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.18/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.15...v1.11.18)

Updates `@types/react-dom` from 19.1.8 to 19.1.9
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `rollup` from 4.49.0 to 4.50.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.49.0...v4.50.0)

---
updated-dependencies:
- dependency-name: "@codemirror/autocomplete"
  dependency-version: 6.18.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/view"
  dependency-version: 6.38.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fortawesome/free-regular-svg-icons"
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/carousel"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/charts"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/core"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/dates"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/dropzone"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/form"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/hooks"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/modals"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/notifications"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/spotlight"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/vanilla-extract"
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@sentry/react"
  dependency-version: 10.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@tanstack/react-query"
  dependency-version: 5.85.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dayjs
  dependency-version: 1.11.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: rollup
  dependency-version: 4.50.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 09:02:50 +10:00
Oliver 7969d2d9ce
Virtual parts enhancements (#10257)
* Prevent virtual parts from being linked in a BuildOrder

* Hide "stock" tab for virtual parts

* Filter out virtual parts when creating a new stock item

* Support virtual parts in sales orders

* Add 'virtual' filter for BomItem

* Hide stock badges for virtual parts

* Tweak PartDetail page

* docs

* Adjust completion logic for SalesOrder

* Fix backend filter

* Remove restriction

* Adjust table

* Fix for "pending_line_items"

* Hide more panels for "Virtual" part

* Add badge for "virtual" part

* Bump API version

* Fix docs link
2025-09-03 15:13:08 +10:00
Oliver 41cc0850c6
Fix for allocation of tracked outputs (#10256) 2025-09-03 13:37:22 +10:00
Oliver eb27fdc9a8
Bump frontnend version (#10255)
- Update due to mantine version bump
- Required for plugin creation
- Ref: https://github.com/inventree/InvenTree/pull/10254
2025-09-03 12:22:38 +10:00
Oliver a7cad63850
Mantine update (#10254)
* chore(deps): bump the dependencies group across 1 directory with 67 updates

Bumps the dependencies group with 67 updates in the /src/frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/autocomplete](https://github.com/codemirror/autocomplete) | `6.18.4` | `6.18.6` |
| [@codemirror/lang-liquid](https://github.com/codemirror/lang-liquid) | `6.2.2` | `6.3.0` |
| [@codemirror/language](https://github.com/codemirror/language) | `6.10.8` | `6.11.3` |
| [@codemirror/lint](https://github.com/codemirror/lint) | `6.8.4` | `6.8.5` |
| [@codemirror/search](https://github.com/codemirror/search) | `6.5.8` | `6.5.11` |
| [@codemirror/state](https://github.com/codemirror/state) | `6.5.1` | `6.5.2` |
| [@codemirror/theme-one-dark](https://github.com/codemirror/theme-one-dark) | `6.1.2` | `6.1.3` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.36.2` | `6.38.1` |
| [@emotion/react](https://github.com/emotion-js/emotion) | `11.13.3` | `11.14.0` |
| [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `7.0.0` |
| [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `7.0.0` |
| [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `7.0.0` |
| [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) | `0.2.2` | `3.0.1` |
| [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core) | `6.1.15` | `6.1.19` |
| [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/daygrid) | `6.1.15` | `6.1.19` |
| [@fullcalendar/interaction](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/interaction) | `6.1.15` | `6.1.19` |
| [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar-react) | `6.1.15` | `6.1.19` |
| [@lingui/core](https://github.com/lingui/js-lingui/tree/HEAD/packages/core) | `5.3.3` | `5.4.1` |
| [@lingui/react](https://github.com/lingui/js-lingui/tree/HEAD/packages/react) | `5.3.3` | `5.4.1` |
| [@mantine/carousel](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/carousel) | `7.16.0` | `8.2.7` |
| [@mantine/charts](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/charts) | `7.16.0` | `8.2.7` |
| [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core) | `7.16.0` | `8.2.7` |
| [@mantine/dates](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dates) | `7.16.0` | `8.2.7` |
| [@mantine/dropzone](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dropzone) | `7.16.0` | `8.2.7` |
| [@mantine/form](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/form) | `7.16.0` | `8.2.7` |
| [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks) | `7.16.0` | `8.2.7` |
| [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals) | `7.16.0` | `8.2.7` |
| [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications) | `7.16.0` | `8.2.7` |
| [@mantine/spotlight](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/spotlight) | `7.16.0` | `8.2.7` |
| [@mantine/vanilla-extract](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/vanilla-extract) | `7.16.0` | `8.2.7` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript) | `8.43.0` | `10.7.0` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.56.2` | `5.85.5` |
| [@uiw/codemirror-theme-vscode](https://github.com/uiwjs/react-codemirror) | `4.23.7` | `4.25.1` |
| [@uiw/react-codemirror](https://github.com/uiwjs/react-codemirror) | `4.23.7` | `4.25.1` |
| [@vanilla-extract/css](https://github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css) | `1.17.1` | `1.17.4` |
| [axios](https://github.com/axios/axios) | `1.8.4` | `1.11.0` |
| [codemirror](https://github.com/codemirror/basic-setup) | `6.0.1` | `6.0.2` |
| [dayjs](https://github.com/iamkun/dayjs) | `1.11.13` | `1.11.15` |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.2.4` | `3.2.6` |
| [easymde](https://github.com/Ionaru/easy-markdown-editor) | `2.18.0` | `2.20.0` |
| [embla-carousel-react](https://github.com/davidjerleke/embla-carousel) | `8.5.2` | `8.6.0` |
| [fuse.js](https://github.com/krisk/Fuse) | `7.0.0` | `7.1.0` |
| [mantine-contextmenu](https://github.com/icflorescu/mantine-contextmenu) | `7.15.3` | `8.2.0` |
| [mantine-datatable](https://github.com/icflorescu/mantine-datatable) | `7.17.1` | `8.2.0` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `6.26.2` | `6.30.1` |
| [react-select](https://github.com/JedWatson/react-select) | `5.9.0` | `5.10.2` |
| [recharts](https://github.com/recharts/recharts) | `2.15.4` | `3.1.2` |
| [styled-components](https://github.com/styled-components/styled-components) | `6.1.14` | `6.1.19` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.26.10` | `7.28.3` |
| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.26.3` | `7.27.1` |
| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) | `7.27.0` | `7.27.1` |
| [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) | `7.27.0` | `7.28.3` |
| @codecov/vite-plugin | `1.9.0` | `1.9.1` |
| [@lingui/babel-plugin-lingui-macro](https://github.com/lingui/js-lingui/tree/HEAD/packages/babel-plugin-lingui-macro) | `5.3.3` | `5.4.1` |
| [@lingui/cli](https://github.com/lingui/js-lingui/tree/HEAD/packages/cli) | `5.3.1` | `5.4.1` |
| [@lingui/macro](https://github.com/lingui/js-lingui/tree/HEAD/packages/macro) | `5.3.3` | `5.4.1` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.52.0` | `1.55.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.13.14` | `24.3.0` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.1.10` | `19.1.12` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.1.7` | `19.1.8` |
| [@vanilla-extract/vite-plugin](https://github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin) | `5.0.1` | `5.1.1` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `4.7.0` | `5.0.2` |
| [rollup](https://github.com/rollup/rollup) | `4.40.0` | `4.49.0` |
| [rollup-plugin-license](https://github.com/mjeanroy/rollup-plugin-license) | `3.5.3` | `3.6.0` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.8.2` | `5.9.2` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.3.4` | `7.1.3` |
| [vite-plugin-dts](https://github.com/qmhc/vite-plugin-dts) | `4.5.3` | `4.5.4` |



Updates `@codemirror/autocomplete` from 6.18.4 to 6.18.6
- [Changelog](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/autocomplete/compare/6.18.4...6.18.6)

Updates `@codemirror/lang-liquid` from 6.2.2 to 6.3.0
- [Changelog](https://github.com/codemirror/lang-liquid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-liquid/compare/6.2.2...6.3.0)

Updates `@codemirror/language` from 6.10.8 to 6.11.3
- [Changelog](https://github.com/codemirror/language/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/language/compare/6.10.8...6.11.3)

Updates `@codemirror/lint` from 6.8.4 to 6.8.5
- [Changelog](https://github.com/codemirror/lint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lint/compare/6.8.4...6.8.5)

Updates `@codemirror/search` from 6.5.8 to 6.5.11
- [Changelog](https://github.com/codemirror/search/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/search/compare/6.5.8...6.5.11)

Updates `@codemirror/state` from 6.5.1 to 6.5.2
- [Changelog](https://github.com/codemirror/state/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/state/compare/6.5.1...6.5.2)

Updates `@codemirror/theme-one-dark` from 6.1.2 to 6.1.3
- [Changelog](https://github.com/codemirror/theme-one-dark/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/theme-one-dark/compare/6.1.2...6.1.3)

Updates `@codemirror/view` from 6.36.2 to 6.38.1
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.36.2...6.38.1)

Updates `@emotion/react` from 11.13.3 to 11.14.0
- [Release notes](https://github.com/emotion-js/emotion/releases)
- [Changelog](https://github.com/emotion-js/emotion/blob/main/CHANGELOG.md)
- [Commits](https://github.com/emotion-js/emotion/compare/@emotion/react@11.13.3...@emotion/react@11.14.0)

Updates `@fortawesome/fontawesome-svg-core` from 6.6.0 to 7.0.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...7.0.0)

Updates `@fortawesome/free-regular-svg-icons` from 6.6.0 to 7.0.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...7.0.0)

Updates `@fortawesome/free-solid-svg-icons` from 6.6.0 to 7.0.0
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/7.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...7.0.0)

Updates `@fortawesome/react-fontawesome` from 0.2.2 to 3.0.1
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/main/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/0.2.2...v3.0.1)

Updates `@fullcalendar/core` from 6.1.15 to 6.1.19
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.19/packages/core)

Updates `@fullcalendar/daygrid` from 6.1.15 to 6.1.19
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.19/packages/daygrid)

Updates `@fullcalendar/interaction` from 6.1.15 to 6.1.19
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.19/packages/interaction)

Updates `@fullcalendar/react` from 6.1.15 to 6.1.19
- [Release notes](https://github.com/fullcalendar/fullcalendar-react/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar-react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar-react/compare/v6.1.15...v6.1.19)

Updates `@lingui/core` from 5.3.3 to 5.4.1
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/packages/core/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/commits/v5.4.1/packages/core)

Updates `@lingui/react` from 5.3.3 to 5.4.1
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/commits/v5.4.1/packages/react)

Updates `@mantine/carousel` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/carousel)

Updates `@mantine/charts` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/charts)

Updates `@mantine/core` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/core)

Updates `@mantine/dates` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/dates)

Updates `@mantine/dropzone` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/dropzone)

Updates `@mantine/form` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/form)

Updates `@mantine/hooks` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/hooks)

Updates `@mantine/modals` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/modals)

Updates `@mantine/notifications` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/notifications)

Updates `@mantine/spotlight` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/spotlight)

Updates `@mantine/vanilla-extract` from 7.16.0 to 8.2.7
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/8.2.7/packages/@mantine/vanilla-extract)

Updates `@sentry/react` from 8.43.0 to 10.7.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/8.43.0...10.7.0)

Updates `@tanstack/react-query` from 5.56.2 to 5.85.5
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.85.5/packages/react-query)

Updates `@uiw/codemirror-theme-vscode` from 4.23.7 to 4.25.1
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.23.7...v4.25.1)

Updates `@uiw/react-codemirror` from 4.23.7 to 4.25.1
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.23.7...v4.25.1)

Updates `@vanilla-extract/css` from 1.17.1 to 1.17.4
- [Release notes](https://github.com/vanilla-extract-css/vanilla-extract/releases)
- [Changelog](https://github.com/vanilla-extract-css/vanilla-extract/blob/master/packages/css/CHANGELOG.md)
- [Commits](https://github.com/vanilla-extract-css/vanilla-extract/commits/@vanilla-extract/css@1.17.4/packages/css)

Updates `axios` from 1.8.4 to 1.11.0
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.8.4...v1.11.0)

Updates `codemirror` from 6.0.1 to 6.0.2
- [Changelog](https://github.com/codemirror/basic-setup/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/basic-setup/compare/6.0.1...6.0.2)

Updates `dayjs` from 1.11.13 to 1.11.15
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.15/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.13...v1.11.15)

Updates `dompurify` from 3.2.4 to 3.2.6
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.4...3.2.6)

Updates `easymde` from 2.18.0 to 2.20.0
- [Changelog](https://github.com/Ionaru/easy-markdown-editor/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Ionaru/easy-markdown-editor/compare/2.18.0...2.20.0)

Updates `embla-carousel-react` from 8.5.2 to 8.6.0
- [Release notes](https://github.com/davidjerleke/embla-carousel/releases)
- [Commits](https://github.com/davidjerleke/embla-carousel/compare/v8.5.2...v8.6.0)

Updates `fuse.js` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/krisk/Fuse/releases)
- [Changelog](https://github.com/krisk/Fuse/blob/main/CHANGELOG.md)
- [Commits](https://github.com/krisk/Fuse/compare/v7.0.0...v7.1.0)

Updates `mantine-contextmenu` from 7.15.3 to 8.2.0
- [Changelog](https://github.com/icflorescu/mantine-contextmenu/blob/main/CHANGELOG.md)
- [Commits](https://github.com/icflorescu/mantine-contextmenu/commits)

Updates `mantine-datatable` from 7.17.1 to 8.2.0
- [Changelog](https://github.com/icflorescu/mantine-datatable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/icflorescu/mantine-datatable/commits)

Updates `react-router-dom` from 6.26.2 to 6.30.1
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.30.1/packages/react-router-dom)

Updates `react-select` from 5.9.0 to 5.10.2
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.9.0...react-select@5.10.2)

Updates `recharts` from 2.15.4 to 3.1.2
- [Release notes](https://github.com/recharts/recharts/releases)
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md)
- [Commits](https://github.com/recharts/recharts/compare/v2.15.4...v3.1.2)

Updates `styled-components` from 6.1.14 to 6.1.19
- [Release notes](https://github.com/styled-components/styled-components/releases)
- [Commits](https://github.com/styled-components/styled-components/compare/styled-components@6.1.14...styled-components@6.1.19)

Updates `@babel/core` from 7.26.10 to 7.28.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.3/packages/babel-core)

Updates `@babel/preset-react` from 7.26.3 to 7.27.1
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-preset-react)

Updates `@babel/preset-typescript` from 7.27.0 to 7.27.1
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-preset-typescript)

Updates `@babel/runtime` from 7.27.0 to 7.28.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.3/packages/babel-runtime)

Updates `@codecov/vite-plugin` from 1.9.0 to 1.9.1

Updates `@lingui/babel-plugin-lingui-macro` from 5.3.3 to 5.4.1
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/packages/babel-plugin-lingui-macro/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/commits/v5.4.1/packages/babel-plugin-lingui-macro)

Updates `@lingui/cli` from 5.3.1 to 5.4.1
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/commits/v5.4.1/packages/cli)

Updates `@lingui/macro` from 5.3.3 to 5.4.1
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/packages/macro/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/commits/v5.4.1/packages/macro)

Updates `@playwright/test` from 1.52.0 to 1.55.0
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.52.0...v1.55.0)

Updates `@types/node` from 22.13.14 to 24.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/react` from 19.1.10 to 19.1.12
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 19.1.7 to 19.1.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@vanilla-extract/vite-plugin` from 5.0.1 to 5.1.1
- [Release notes](https://github.com/vanilla-extract-css/vanilla-extract/releases)
- [Changelog](https://github.com/vanilla-extract-css/vanilla-extract/blob/master/packages/vite-plugin/CHANGELOG.md)
- [Commits](https://github.com/vanilla-extract-css/vanilla-extract/commits/@vanilla-extract/vite-plugin@5.1.1/packages/vite-plugin)

Updates `@vitejs/plugin-react` from 4.7.0 to 5.0.2
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.0.2/packages/plugin-react)

Updates `rollup` from 4.40.0 to 4.49.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.0...v4.49.0)

Updates `rollup-plugin-license` from 3.5.3 to 3.6.0
- [Changelog](https://github.com/mjeanroy/rollup-plugin-license/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mjeanroy/rollup-plugin-license/compare/v3.5.3...v3.6.0)

Updates `typescript` from 5.8.2 to 5.9.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.8.2...v5.9.2)

Updates `vite` from 6.3.4 to 7.1.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.3/packages/vite)

Updates `vite-plugin-dts` from 4.5.3 to 4.5.4
- [Release notes](https://github.com/qmhc/vite-plugin-dts/releases)
- [Changelog](https://github.com/qmhc/unplugin-dts/blob/v4.5.4/CHANGELOG.md)
- [Commits](https://github.com/qmhc/vite-plugin-dts/compare/v4.5.3...v4.5.4)

---
updated-dependencies:
- dependency-name: "@codemirror/autocomplete"
  dependency-version: 6.18.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/lang-liquid"
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@codemirror/language"
  dependency-version: 6.11.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@codemirror/lint"
  dependency-version: 6.8.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/search"
  dependency-version: 6.5.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/state"
  dependency-version: 6.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/theme-one-dark"
  dependency-version: 6.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/view"
  dependency-version: 6.38.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@emotion/react"
  dependency-version: 11.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@fortawesome/free-regular-svg-icons"
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@fullcalendar/core"
  dependency-version: 6.1.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fullcalendar/daygrid"
  dependency-version: 6.1.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fullcalendar/interaction"
  dependency-version: 6.1.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fullcalendar/react"
  dependency-version: 6.1.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@lingui/core"
  dependency-version: 5.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@lingui/react"
  dependency-version: 5.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/carousel"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/charts"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/core"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/dates"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/dropzone"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/form"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/hooks"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/modals"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/notifications"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/spotlight"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/vanilla-extract"
  dependency-version: 8.2.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@sentry/react"
  dependency-version: 10.7.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@tanstack/react-query"
  dependency-version: 5.85.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@uiw/codemirror-theme-vscode"
  dependency-version: 4.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@uiw/react-codemirror"
  dependency-version: 4.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@vanilla-extract/css"
  dependency-version: 1.17.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: axios
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: codemirror
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dayjs
  dependency-version: 1.11.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dompurify
  dependency-version: 3.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: easymde
  dependency-version: 2.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: embla-carousel-react
  dependency-version: 8.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: fuse.js
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: mantine-contextmenu
  dependency-version: 8.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: mantine-datatable
  dependency-version: 8.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-version: 6.30.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-select
  dependency-version: 5.10.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: recharts
  dependency-version: 3.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: styled-components
  dependency-version: 6.1.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@babel/core"
  dependency-version: 7.28.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@babel/preset-react"
  dependency-version: 7.27.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@babel/preset-typescript"
  dependency-version: 7.27.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@babel/runtime"
  dependency-version: 7.28.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@codecov/vite-plugin"
  dependency-version: 1.9.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@lingui/babel-plugin-lingui-macro"
  dependency-version: 5.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@lingui/cli"
  dependency-version: 5.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@lingui/macro"
  dependency-version: 5.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@playwright/test"
  dependency-version: 1.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@types/node"
  dependency-version: 24.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@types/react"
  dependency-version: 19.1.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@vanilla-extract/vite-plugin"
  dependency-version: 5.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 5.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: rollup
  dependency-version: 4.49.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: rollup-plugin-license
  dependency-version: 3.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: typescript
  dependency-version: 5.9.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: vite
  dependency-version: 7.1.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: vite-plugin-dts
  dependency-version: 4.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

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

* Adjust Carousel props

* Further props updates

* adjust vite version

* Fix panel tab alignment

* adjustments for column widths

* Fixes for part parameter table

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 11:49:17 +10:00
Oliver 73af9b18ed
Error tweaks (#10250)
* Refactor sentry checks

* Refresh output from db before printing
2025-09-02 20:15:21 +10:00
github-actions[bot] 35c398dfde
New Crowdin translations by GitHub Action (#10242)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-02 10:19:35 +10:00
dependabot[bot] 0880ce34e3
chore(deps): bump the dependencies group across 2 directories with 6 updates (#10245)
* chore(deps): bump the dependencies group across 2 directories with 6 updates

Bumps the dependencies group with 2 updates in the /docs directory: [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) and [mkdocs-mermaid2-plugin](https://github.com/fralau/mkdocs-mermaid2-plugin).
Bumps the dependencies group with 4 updates in the /src/backend directory: [django-mptt](https://github.com/django-mptt/django-mptt), [python-barcode[images]](https://github.com/WhyNotHugo/python-barcode), [sentry-sdk](https://github.com/getsentry/sentry-python) and [coverage[toml]](https://github.com/nedbat/coveragepy).


Updates `mkdocs-include-markdown-plugin` from 7.1.6 to 7.1.7
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.6...v7.1.7)

Updates `mkdocs-mermaid2-plugin` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/fralau/mkdocs-mermaid2-plugin/releases)
- [Changelog](https://github.com/fralau/mkdocs-mermaid2-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fralau/mkdocs-mermaid2-plugin/compare/v1.2.1...v1.2.2)

Updates `django-mptt` from 0.17.0 to 0.18.0
- [Release notes](https://github.com/django-mptt/django-mptt/releases)
- [Changelog](https://github.com/django-mptt/django-mptt/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/django-mptt/django-mptt/compare/0.17...0.18)

Updates `python-barcode[images]` from 0.15.1 to 0.16.1
- [Release notes](https://github.com/WhyNotHugo/python-barcode/releases)
- [Changelog](https://github.com/WhyNotHugo/python-barcode/blob/main/docs/changelog.rst)
- [Commits](https://github.com/WhyNotHugo/python-barcode/compare/v0.15.1...v0.16.1)

Updates `sentry-sdk` from 2.35.0 to 2.35.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.35.0...2.35.1)

Updates `coverage[toml]` from 7.10.4 to 7.10.6
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.10.4...7.10.6)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-version: 7.1.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-mermaid2-plugin
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-mptt
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: python-barcode[images]
  dependency-version: 0.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.35.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: coverage[toml]
  dependency-version: 7.10.6
  dependency-type: direct:development
  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>
2025-09-01 09:24:13 +10:00
Oliver 2560349fd5
Allow virtual parts for Bom item (#10243)
- Closes https://github.com/inventree/InvenTree/issues/10238
2025-08-29 18:52:17 +10:00
Reza b54122f401
Refactor (backend): Improve BuildItemList API filters (#10214)
* add output filter to BuildItemFilter and optimize queryset retrieval

* add NumberOrNullFilter to handle filtering by numeric values or 'null'; update BuildItemFilter to use new filter and add tests for output filtering

* update api_version

* fix(tests): Add missing stock fixture to build tests

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-08-29 08:54:11 +10:00
github-actions[bot] 69c115c23e
New Crowdin translations by GitHub Action (#10223)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-28 22:08:27 +10:00
Oliver c484b1f134
Table pagination fix (#10236)
* Correct pagination offset calculation

* Add playwright tests

* Enhanced playwright test

* Add comment

* Fix typo
2025-08-28 20:38:11 +10:00
Oliver ae16823d5d
[ui] Settings fix (#10239)
* Enhance playwright test

* Update zustand

* Fix machine settings

* Fix for PluginSettingList

* Fix user plugin settings

* Fix issue in RelatedModelField

* Enforce values when rebuilding a form

* Update react-hook-form

* Enhanced playwright testing
2025-08-28 16:57:02 +10:00
Oliver 394377b028
Bump @inventreedb/ui version (#10234) 2025-08-26 12:47:10 +10:00
Oliver e773d876bd
Update react-window (#10232) 2025-08-26 11:33:09 +10:00
Oliver 82c3edd52a
Display error message in email table (#10231) 2025-08-26 10:53:36 +10:00
Oliver e9b8c264b1
Update dockerfile (#10225)
* Update dockerfile

Updated dockerfile to provide support for new node LTS

* Tweak plugin-react version

* Fix Dockerfile
2025-08-25 22:50:39 +10:00
github-actions[bot] 214e19dd10
New Crowdin translations by GitHub Action (#10205)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-25 18:38:27 +10:00
Oliver f4233981f5
Build source location (#10220)
* Display build source location

* Fix docstring

* Enhance build availability filter

- Take build source location into account
- Improve pre-fetch

* Enhance type annotations
2025-08-25 18:38:22 +10:00
Oliver 564fcc42f2
Bump frontend lib version (#10219)
- Ref: https://github.com/inventree/InvenTree/pull/10202/
2025-08-25 16:02:01 +10:00
Matthias Mair 6c05742a3b
chore(backend):mfa e2e testing (#10206)
* chore(backend):mfa e2e testing

* there are no tokens when only depoying browser-based clients for allauth

* cleanup

* style fixes
2025-08-25 16:01:43 +10:00
Matthias Mair dee26bfa46
chore(frontend): upgrade react to 19 (#10202)
* Initial plan

* Upgrade React from 18.3.1 to 19.1.1 with TypeScript fixes

Co-authored-by: matmair <66015116+matmair@users.noreply.github.com>

* Update Vite React plugin to 5.0.1 for better React 19 support

Co-authored-by: matmair <66015116+matmair@users.noreply.github.com>

* Fix biome style issue in PluginUIFeature.tsx

Co-authored-by: matmair <66015116+matmair@users.noreply.github.com>

* remove biome

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-08-25 15:18:25 +10:00
Oliver d6c7220419
Tweak 'description' column for build table (#10218) 2025-08-25 15:16:08 +10:00
Oliver ea667c1f62
Handle null line items (#10217) 2025-08-25 13:30:40 +10:00
Joe Rogers 303e8b46e7
Disable paging on purchaseOrderReceive API call (#10213)
* Disable paging on purchaseOrderReceive api call

* Bump api version
2025-08-24 12:58:26 +10:00
Reza 8f95e61035
fix(api): enhance SupplierPartMixin queryset to include manufacturer part tags (#10215) 2025-08-24 07:46:06 +10:00
dependabot[bot] 0d7e3fa068
chore(deps): bump the dependencies group across 3 directories with 3 updates (#10212)
* chore(deps): bump the dependencies group across 3 directories with 3 updates

Bumps the dependencies group with 1 update in the /contrib/dev_reqs directory: [requests](https://github.com/psf/requests).
Bumps the dependencies group with 2 updates in the /docs directory: [requests](https://github.com/psf/requests) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 2 updates in the /src/backend directory: [requests](https://github.com/psf/requests) and [coverage[toml]](https://github.com/nedbat/coveragepy).


Updates `requests` from 2.32.4 to 2.32.5
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.32.5)

Updates `requests` from 2.32.4 to 2.32.5
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.32.5)

Updates `mkdocs-material` from 9.6.17 to 9.6.18
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.17...9.6.18)

Updates `requests` from 2.32.4 to 2.32.5
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.32.5)

Updates `coverage[toml]` from 7.10.3 to 7.10.4
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.10.3...7.10.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: requests
  dependency-version: 2.32.5
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-material
  dependency-version: 9.6.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: requests
  dependency-version: 2.32.5
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: coverage[toml]
  dependency-version: 7.10.4
  dependency-type: direct:development
  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>
2025-08-23 08:10:42 +10:00
Matthias Mair e3a1c5fa20
improve error messages (#10207)
* fix remove mfa task

* add test for command

* clean up after schema test

* add assert to esure authenticators are really present/removed

* simplify handler

* improve error message

* make more readable
2025-08-21 09:08:26 +10:00
github-actions[bot] 9dae8724d8
New Crowdin translations by GitHub Action (#10190)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-20 23:00:53 +10:00
Oliver bd9c52eeaf
Machine registry improvements (#10150)
* Add wrapper function for machine registry

* Decorate entrypoint functions

* Docstrings

* Fix for boolean setting

* Add playwright tests

* Use proper entrypoints

* Ensure settings are fetched correctly

* Prevent recursion of machine registry decorator

* Fix machine status display

* Enhanced warning msg

* Add simple machine sample printer

* Adds playwright tests for machine UI

* re-throw exception

* Define 'machine' plugin mixin class

* Adjust machine discovery

* Use plugin mixins for registering machine types and drivers

* Adjust unit test

* Remove plugin static files when deactivating

* Force machine reload when plugin registry changes

* Add plugins specific to testing framework

* Add test for plugin loading sequence

* Add session caching

- Significantly reduce DB hits

* Enhanced unit testing and test plugins

* Refactor unit tests

* Further unit test fixes

* Adjust instance rendering

* Display table of available drivers

* Cleanup

* ADjust unit test

* Tweak unit test

* Add docs on new mixin type

* Tweak machine overview docs

* Tweak playwright tests

* Additional unit test

* Add unit test for calling machine func

* Enhanced playwright tests

* Account for database not being ready
2025-08-20 23:00:39 +10:00
Oliver ed31503d3b
Column min width (#10204)
* Support minimum column width

* Adjust DescriptionColumn and StatusColumn

* Column refactoring

* Refactor PartColumn

* Refactor LineItemsProgerssColumn

* Tweaks
2025-08-20 21:49:27 +10:00
Matthias Mair 76dfd62f84
fix: remove mfa task (#10200)
* fix remove mfa task

* add test for command

* clean up after schema test

* add assert to esure authenticators are really present/removed

* simplify handler
2025-08-20 21:21:03 +10:00
Oliver 885ec81a08
Import update (#10188)
* Add field to "update" existing records

* Ensure the ID is first

* Prevent editing of "ID" field

* Extract db instance

* Bump API version

* Prevent edit of "id" field

* Refactoring

* Enhanced playwright tests for data importing

* Update docs

* Update src/backend/InvenTree/importer/models.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/frontend/src/forms/ImporterForms.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix silly AI mistake

* Fix for table pagination

- Ensure page does not exceed available records

* Bug fix for playwright test

* Add end-to-end API testing

* Fix unit tests

* Adjust table page logic

* Ensure sensible page size

* Simplify playwright test

* Simplify test again

* Tweak unit test

- Importing has invalidated the BOM?

* Adjust playwright tests

* Further playwright fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-20 15:34:49 +10:00
Oliver e44008f528
List filters (#10203)
* Add support for 'list' filtering

* Docs

* Add unit tests
2025-08-20 10:23:20 +10:00
Oliver b939e39ea2
Printing order (#10199)
* Fix printing order for labels

- Order of printing should match order of submission

* Same for reports
2025-08-20 07:14:07 +10:00
Oliver 49cc5fb137
Build order consume (#8191)
* Adds "consumed" field to BuildLine model

* Expose new field to serializer

* Add "consumed" column to BuildLineTable

* Boolean column tweaks

* Increase consumed count when completing allocation

* Add comment

* Update migration

* Add serializer for consuming build items

* Improve build-line sub-table

* Refactor BuildItem.complete_allocation method

- Allow optional quantity to be specified
- Adjust the allocated quantity when consuming

* Perform consumption

* Add "BuildConsume" API endpoint

* Implement frontend form

* Fixes for serializer

* Enhance front-end form

* Fix rendering of BuildLineTable

* Further improve rendering

* Bump API version

* Update API description

* Add option to consume by specifying a list of BuildLine objects

* Add form to consume stock via BuildLine reference

* Fix api_version

* Fix backup colors

* Fix typo

* Fix migrations

* Fix build forms

* Forms fixes

* Fix formatting

* Fixes for BuildLineTable

* Account for consumed stock in requirements calculation

* Reduce API requirements for BuildLineTable

* Docs updates

* Updated playwright testing

* Update src/frontend/src/forms/BuildForms.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/frontend/src/tables/build/BuildLineTable.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add unit test for filters

* Add functional tests

* Tweak query count

* Increase max query time for testing

* adjust unit test again

* Prevent consumption of "tracked" items

* Adjust playwright tests

* Fix table

* Fix rendering

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-19 17:03:19 +10:00
Oliver 57970b53ec
Consolidate rendering of inline items (#10189)
* Consolidate rendering of inline items

* Bug fix for user rendering
2025-08-19 08:01:52 +10:00
Reza b4982fde1d
Fix N+1 Query for primary_address in Company API (#10171)
* Enhance CompanySerializer to use Prefetch for for better performance

* Refactor CompanySerializer to improve address handling and add schema fields

* implement changes suggested by joe

Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>

* Update src/backend/InvenTree/company/serializers.py

Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>

* Update src/backend/InvenTree/company/serializers.py

Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
2025-08-19 07:22:04 +10:00
github-actions[bot] 11f1e27926
New Crowdin translations by GitHub Action (#10185)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-19 00:57:59 +10:00
Oliver 698249ecad
Badges for supplier part (#10187)
* Badges for supplier part

* Robistify playwright test
2025-08-18 14:02:28 +10:00
dependabot[bot] 750a1b7759
chore(deps): bump the dependencies group across 2 directories with 6 updates (#10186)
* chore(deps): bump the dependencies group across 2 directories with 6 updates

Bumps the dependencies group with 2 updates in the /docs directory: [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 4 updates in the /src/backend directory: [pypdf](https://github.com/py-pdf/pypdf), [sentry-sdk](https://github.com/getsentry/sentry-python), [coverage[toml]](https://github.com/nedbat/coveragepy) and [pre-commit](https://github.com/pre-commit/pre-commit).


Updates `mkdocs-macros-plugin` from 1.3.7 to 1.3.9
- [Release notes](https://github.com/fralau/mkdocs_macros_plugin/releases)
- [Changelog](https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fralau/mkdocs_macros_plugin/compare/v1.3.7...v1.3.9)

Updates `mkdocs-material` from 9.6.16 to 9.6.17
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.16...9.6.17)

Updates `pypdf` from 5.9.0 to 6.0.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/5.9.0...6.0.0)

Updates `sentry-sdk` from 2.34.1 to 2.35.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.34.1...2.35.0)

Updates `coverage[toml]` from 7.10.2 to 7.10.3
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.10.2...7.10.3)

Updates `pre-commit` from 4.2.0 to 4.3.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: mkdocs-macros-plugin
  dependency-version: 1.3.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-material
  dependency-version: 9.6.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pypdf
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: coverage[toml]
  dependency-version: 7.10.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pre-commit
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-08-17 23:03:27 +10:00
Matthias Mair 6cb9327a1c
chore(backend): bump deps (#10154)
* bump backend devs

* bump helper-deps
2025-08-17 07:04:44 +10:00
github-actions[bot] bc89af272d
New Crowdin translations by GitHub Action (#10169)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-16 20:02:51 +10:00
Daniil Chudo ebc9213033
feature(BE): add customization for admin.site.site_header (#10179) to
* feature: add customization for admin.site.site_header

* fix: style issue

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-08-16 18:44:07 +10:00
Oliver fa15466ce4
Fix api_url for 'user' type (#10182)
* Fix api_url for 'user' type

* Added regression test
2025-08-16 08:10:02 +10:00
Oliver 0bed5cf511
[refactor] PO receive fix (#10174)
* Enhance 'count_queries' helper

* Add threshold

* Update typing

* Better rendering

* Improve StockItem

- Make model operations more efficient

* improve with_mixin

- Cache config map against the session cache

* Refactor receive_line_item

- Pass multiple line items in simultaneously
- DB query optimization
- Use bulk_create and bulk_update operations

* Remove extraneous save call

* Fix for unit tests

* Fix return type

* Fix serializer return type

* Refactor part pricing updates

* UI tweaks

* Use bulk_create

* Refactor API and endpoints

* Bump API version

* Fix unit tests

* Fix playwright tests

* Remove debug msg

* Fix for table filter hover

* Adjust unit test
2025-08-15 22:01:19 +10:00
Oliver 0f04c31ffb
[UI] Search shortcut (#10181)
* Add search shortcut

- Use '/' to open search drawer

* Add user setting for spotlight

* Hide spotlight if disabled

* Updated playwright tests
2025-08-15 20:41:03 +10:00
Oliver 33a275b69f
Improve instance rendering (#10165)
- Fix visual glitches on narrow viewports
2025-08-13 01:40:05 +10:00
Oliver 216bc0cba5
Hover active filters (#10168)
- Quick view of active filters on table
2025-08-13 01:39:25 +10:00
github-actions[bot] 3e375504cb
New Crowdin translations by GitHub Action (#10160)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-12 14:20:54 +10:00
Oliver ae5716d625
Bom export fix (#10163)
* Bug fix for BOM exporter

- Handle edge case with null manufacturer value

* Mark failed data exports
2025-08-12 12:54:30 +10:00
Oliver 38f713eeac
Run full docker build if full_run specified (#10153)
* Run full docker build if full_run specified

* Debugging

* Update migration test

* Fix migration test

* Fix typo

* Debug logging

* Add log info

* Disable the test in docker

* Remove debug prints

* Revert docker ci test
2025-08-12 07:37:20 +10:00
Matthias Mair b19ca03240
refactor(backend): raise allauth (#10156)
* bump allauth

* bump api version
2025-08-11 22:15:40 +10:00
github-actions[bot] 02b25860ca
New Crowdin translations by GitHub Action (#10077)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-08 11:48:12 +10:00
Joe Rogers 5b55bed82b
Fix annotations for returning serialized StockItems as lists (#9969)
* Fix annotations/pagination on StockApi itemSerialize and BuildApi outputCreate

* Add (to schema) field to specify serial numbers on create for stock item

* Return list on StockItem creation

* Update api version

* Update test to expect list return when creating stock items

* Add note about breaking changes to api version

* Add handling for stockitem list return on creation

* Update api version

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-08-08 11:13:42 +10:00
Oliver adef0b4435
Fix for form auto-fill (#10152)
- Properly set value
- Add playwright test for this
2025-08-08 09:16:33 +10:00
Matthias Mair ed45a4e5bf
Email history enhancement (#10114)
* add warning that the log is useless by default

* Add setting to enhance email log again

* add missing test for #10109

* add test for delete protections

* add error code

* Update email.md

* Update email.md
2025-08-08 08:04:17 +10:00
Oliver 00017400ff
Bulk add test results (#10146)
* Bulk creation of test results

- Add BulkCreateMixin class
- Add frontend support

* Refactor test result serializer

- Allow lookup by template name

* Updated unit test

* Add unit tests

* Add row actions

* Docs

* Fix failing tests

* Bump API version

* Fix playwright tests
2025-08-08 07:19:20 +10:00
Oliver 7df8e06f36
Setting fix (#10148)
* Fix for boolean setting

* Add playwright tests
2025-08-08 00:59:43 +10:00
Oliver 681e1cb669
Further tweaks (#10147)
- Really not sure why the tests are passing in local CI but failing in docker build??
2025-08-08 00:46:07 +10:00
Oliver 7327efbafd
Docker fixes again (#10145)
* Add helper function for debugging query counts

* Adjust counts again

* Add docs to contributing.md
2025-08-07 23:28:13 +10:00
Oliver 61c8a8f703
[UI] Enhance stock item rendering (#10143)
* Enhance stock item rendering

- Show location in forms
- Allow differentiation between items

* Unit test fixes

- Account for longer query time in docker mode

* Cast to string

* Improved rendering
2025-08-07 15:29:57 +10:00
Oliver 1e6ffbde30
Unit test fixes (#10144)
- Account for longer query time in docker mode
2025-08-07 12:04:12 +10:00
Oliver f1b5f2c379
[refactor] Stock return API endpoints (#10132)
* Add "StockReturn" API endpoint

- Provide multiple items
- Provide quantity for each item

* Add frontend form

* update frontend forms

* Refactor frontend

* Allow splitting quantity

* Refactoring backend endpoints

* cleanup

* Update unit test

* unit tests

* Bump API version

* Fix unit test

* Add tests for returning build items to stock

* Playwright tests

* Enhanced unit tests

* Add docs
2025-08-07 10:47:26 +10:00
Oliver c4011d0be3
Bom total quantity (#10142)
* Add 'total quantity' field to BOM exporter

* Extend unit test

* Update docs image
2025-08-07 10:09:51 +10:00
Oliver 0411b8ca58
[api] Settings cast (#10133)
* Fix value type for settings API endpoints

- Cast to 'native' value

* Check for numerical type casting

* Additional unit tests

* Tweak unit tests

* Fix 'to_native_value' funcs

* Refactor native value casting

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-08-06 16:43:11 +10:00
Oliver fcc913e024
Fix 'issued_by' filter on BuildOrder API (#10135)
* Fix 'issued_by' filter on BuildOrder API

* Update API version

* Add unit test
2025-08-06 14:10:02 +10:00
Oliver 236384fee2
Tweak query count values for plugin install (#10134)
- A bit more conservative for unit tests
2025-08-06 11:08:33 +10:00
dependabot[bot] 131ee2172c
chore(deps): bump the dependencies group across 2 directories with 11 updates (#10118)
* chore(deps): bump the dependencies group across 2 directories with 11 updates

Bumps the dependencies group with 2 updates in the /docs directory: [mkdocs-material](https://github.com/squidfunk/mkdocs-material) and [mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings).
Bumps the dependencies group with 9 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [djangorestframework-simplejwt[crypto]](https://github.com/jazzband/djangorestframework-simplejwt) | `5.5.0` | `5.5.1` |
| [docutils](https://github.com/rtfd/recommonmark) | `0.21.2` | `0.22` |
| [dulwich](https://github.com/dulwich/dulwich) | `0.23.2` | `0.24.1` |
| [grpcio](https://github.com/grpc/grpc) | `1.73.1` | `1.74.0` |
| [pypdf](https://github.com/py-pdf/pypdf) | `5.8.0` | `5.9.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.33.0` | `2.34.1` |
| [weasyprint](https://github.com/Kozea/WeasyPrint) | `65.1` | `66.0` |
| [coverage[toml]](https://github.com/nedbat/coveragepy) | `7.9.2` | `7.10.1` |
| [pip-tools](https://github.com/jazzband/pip-tools) | `7.4.1` | `7.5.0` |



Updates `mkdocs-material` from 9.6.15 to 9.6.16
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.15...9.6.16)

Updates `mkdocstrings[python]` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.29.1...0.30.0)

Updates `djangorestframework-simplejwt[crypto]` from 5.5.0 to 5.5.1
- [Release notes](https://github.com/jazzband/djangorestframework-simplejwt/releases)
- [Changelog](https://github.com/jazzband/djangorestframework-simplejwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jazzband/djangorestframework-simplejwt/compare/v5.5.0...v5.5.1)

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

Updates `dulwich` from 0.23.2 to 0.24.1
- [Release notes](https://github.com/dulwich/dulwich/releases)
- [Changelog](https://github.com/jelmer/dulwich/blob/master/NEWS)
- [Commits](https://github.com/dulwich/dulwich/compare/dulwich-0.23.2...dulwich-0.24.1)

Updates `grpcio` from 1.73.1 to 1.74.0
- [Release notes](https://github.com/grpc/grpc/releases)
- [Changelog](https://github.com/grpc/grpc/blob/master/doc/grpc_release_schedule.md)
- [Commits](https://github.com/grpc/grpc/compare/v1.73.1...v1.74.0)

Updates `pypdf` from 5.8.0 to 5.9.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/5.8.0...5.9.0)

Updates `sentry-sdk` from 2.33.0 to 2.34.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.33.0...2.34.1)

Updates `weasyprint` from 65.1 to 66.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/v65.1...v66.0)

Updates `coverage[toml]` from 7.9.2 to 7.10.1
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.9.2...7.10.1)

Updates `pip-tools` from 7.4.1 to 7.5.0
- [Release notes](https://github.com/jazzband/pip-tools/releases)
- [Changelog](https://github.com/jazzband/pip-tools/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jazzband/pip-tools/compare/7.4.1...v7.5.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocstrings[python]
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: djangorestframework-simplejwt[crypto]
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: docutils
  dependency-version: '0.22'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: dulwich
  dependency-version: 0.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: grpcio
  dependency-version: 1.74.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pypdf
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.34.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: weasyprint
  dependency-version: '66.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: coverage[toml]
  dependency-version: 7.10.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pip-tools
  dependency-version: 7.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-08-06 08:47:59 +10:00
Matthias Mair febe5809e7
chore(backend): increase coverage (#10121)
* chore(backend): increase coverage

* add a full api based install / uninstall test

* fix asserted code

* delete unreachable code

* clean up unused code

* add more notification tests

* fix test

* order currencies
2025-08-06 08:47:23 +10:00
Oliver 5574e7cf6b
[refactor] Stocktake -> Stock History (#10124)
* Remove STOCKTAKE ruleset

* Adjust wording of settings

* Cleanup

* Improve text for global settings

* Add BulkDeleteMixin to "stocktake" endpoint

* Frontend updates

* Migrations

- Remove field 'last_stocktake' from Part model
- Remove fields 'user' and 'note' from PartStocktake model
- Remove model PartStocktakeReport

* Frontend cleanup

* Rename global setting

* Rewrite stocktake functionality

* Cleanup

* Adds custom exporter for part stocktake data

* Frontend cleanup

* Bump API version

* Tweaks

* Frontend updates

* Fix unit tests

* Fix helper func

* Add docs

* Fix broken link

* Docs updates

* Adjust playwright tests

* Add unit testing for plugin

* Add unit testing for stock history creation

* Fix unit test
2025-08-06 08:02:56 +10:00
Oliver b31e16eb98
Helper tweaks (#10131)
* Enhance report tags

* Update docs
2025-08-05 14:37:01 +10:00
Oliver fb3b1fe116
Fix error message (#10129) 2025-08-05 12:02:33 +10:00
Oliver 3e74ab5a85
[bug] Incomplete output print (#10130)
* Enable printing actions for build output table

* Add playwright tests
2025-08-05 12:02:22 +10:00
Oliver fbb7707076
Fix issue with <StarredToggleButton /> (#10128)
- Prevent rendering if no instance provided
2025-08-05 11:11:31 +10:00
Oliver 120a7ebdf9
Enhance formatting for item render functions (#10127) 2025-08-05 11:03:06 +10:00
Oliver 619b08444a
Tweak form padding (#10122)
- Allow room to prevent text clipping at bottom of form
2025-08-04 15:42:49 +10:00
Matthias Mair b8f6b04fb9
feat(backend): more error messages (#10119)
* Adds error code for transition handler issues #10088

* Adds error codes for mandatory plugins #10094

* add more links

* Add error code  for global overrides

* disable coverage for a case that can not happen
2025-08-04 10:06:13 +10:00
Oliver bdc8525aec
Fix glitch in <RelatedModelField /> (#10113)
* Fix glitch in <RelatedModelField />

- Prevent search reset until debounced value changes
-

* Robustify playwright tests

* Further playwright tweaks

* Further playwright tweaks
2025-08-03 12:31:02 +10:00
Oliver bc382cd883
Build on order (#10111)
* add DecimalColumn component

* Adds more production information to build lines

* Bump API version

* Improve rendering
2025-08-01 15:34:39 +10:00
Oliver e494aef1ff
Tweak low-stock notification (#10112)
- Prevent notification for inactive parts
2025-08-01 15:34:30 +10:00
Oliver 37c0322365
[build order] Auto select SN (#10110)
* Add build output information

* Auto-allocate tracked items

* Add playwright testing for workflow

* Fix display issue when creating new build output
2025-08-01 13:23:57 +10:00
Oliver 4895370d0d
Email history enhancements (#10109)
* Improve formatting for <ConfigValueList>

- Only used for email settings currently

* API updates:

- Allow delete operations of email record
- Allow bulk delete operations of email record

* Table updates:

- Improved table rendering
- Allow delete ops

* Display timestamp in email table

* Add setting to control email cleanup interval

* Add scheduled task to delete old emails

* Bump API version
2025-08-01 12:32:22 +10:00
Oliver 44bcf2c7e8
API search field bug (#10108)
* Additional unit tests

* Fix search field

* Additional unit test to apply search term

* Bump API version
2025-08-01 11:16:15 +10:00
Daniel Glaser b9a8ace614
feat: Add support for cache password in Redis configuration (#10107)
* feat(cache): Add support for cache password in Redis configuration

* Add cache password configuration option to documentation

* Fix the complaints from CI checks
2025-08-01 10:36:02 +10:00
Oliver a79ab40f5e
Transition plugin (#10088)
* Add new enum

* Define StateTransitionMixin class

* Import

* Rename plugin mixin class

- Avoid naming clash

* Offload transitions to plugin registry

* fix imports

* Fix default value

* Fix sample transition class

* Refactor unit test

* Add docs

* Fix type hinting

* Check for expected message

* Tests for various failure modes

* Tweak query count limit

* Exclude lines from coverage

* Remove debug code

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-08-01 09:35:03 +10:00
Oliver 4794c6d860
Table formatting (#10104)
* Format <BuildLineTable />

* More formatting

* Add helper function for running playwright tests

* Fix playwright test

* Further formatting updates

* Adjust order tables
2025-07-31 16:39:19 +10:00
Oliver b8ea75b2b4
[plugin] Mandatory plugins (#10094)
* Add setting for "mandatory" plugins

* Add 'is_active' method to PluginConfig model

* Check against plugin config object by priority

* Prevent plugin from reporting its own 'active' status

* Refactor get_plugin_class for LabelPrint endpoint

* Fix typo

* Mark internal plugin methods as "final"

- Prevent plugins from overriding them

* Enhanced checks for bad actor plugins

* Enhanced unit test for plugin install via API

* Playwright tests for plugin errors

* Test that builtin mandatory plugins are always activated

* Force mandatory plugins to be marked as active on load

* API unit tests

* Unit testing for plugin filtering

* Updated playwright tests

- Force one extra plugin to be mandatory in configuration

* Adjust unit tests

* Updated docs

* Tweak unit test

* Another unit test fix

* Fix with_mixin

- Checking active status first is expensive...

* Make with_mixin call much more efficient

- Pre-load the PluginConfig objects
- Additional unit tests
- Ensure fixed query count

* Fix the 'is_package' method for PluginConfig

* Tweak unit test

* Make api_info endpoint more efficient

- with_mixin is now very quick

* Run just single test

* Disable CI test

* Revert changes to CI pipeline

* Fix typo

* Debug for test

* Style fix

* Additional checks

* Ensure reload

* Ensure plugin registry is ready before running unit tests

* Fix typo

* Add debug statements

* Additional debug output

* Debug logging for MySQL

* Ensure config objects are created?

* Ensure plugin registry is reloaded before running tests

* Remove intentional failure

* Reset debug level

* Fix CI pipeline

* Fix

* Fix test mixins

* Fix test class

* Further updates

* Adjust info view

* Test refactoring

* Fix recursion issue in machine registry

* Force cache behavior

* Reduce API query limits in testing

* Handle potential error case in with_mixin

* remove custom query time code

* Prevent override of is_mandatory()

* Prevent unnecessary reloads

* Tweak unit tests

* Tweak mandatory active save

* Tweak unit test

* Enhanced unit testing

* Exclude lines from coverage

* (final)? cleanup

* Prevent recursive reloads

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-07-31 08:26:24 +10:00
Oliver d10b2dd49b
Admin site enhancements (#10099)
* Fix autocomplete fields for PurchaseOrderLineItem

* Add inline admin for SalesOrderLineItem
2025-07-29 15:32:48 +10:00
Oliver d33f07a3fc
PurchaseOrder table improvements (#10098)
Clear table after receiving items
2025-07-29 14:38:01 +10:00
Oliver 0ef5b12747
Sticky headers (#9022)
* Add user setting

* Use value of user setting

* Fix user for global

* Stickiness

* Updated docs
2025-07-29 10:43:36 +10:00
Oliver d01869a917
Enhanced permission checks for API (#10096)
* Enhanced permission checks for API

- Ensure user is authenticated
- Raise PermissionDenied

* Add unit test for unauthenticated user

* Exclude lines from coverage
2025-07-29 10:43:25 +10:00
Oliver 548a95cc19
Sort search fields (#10095)
* Sort search fields

* add api version bump

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-07-29 00:11:10 +02:00
Oliver 2d7775852e
Prevent re-rendering (#10093) 2025-07-28 18:59:55 +10:00
Joe Rogers 90069707b1
Add missing nullable annotations, search_field schema documentation (#10092)
* Add search_fields list to schema documentation

* Add missing nullable annotations

* Bump api version
2025-07-28 16:15:58 +10:00
Oliver 010c855e86
Prevent 'modelRenderer' passing through (#10085)
- Not recognized by underlying component
2025-07-26 18:10:10 +10:00
Oliver b2a5533b7a
Stock filters (#10083)
* Stock filters

- Add "supplier" filter
- Add "manufacturer" filter

* Fix docstring
2025-07-26 16:59:26 +10:00
Joe Rogers 9ca406278a
Correct api version numbers (#10081) 2025-07-26 15:30:21 +10:00
Oliver 1085625af4
[Refactor] Notification plugins (#9735)
* Refactor notification concept

- Notifications handled by plugins

* Cleanup

* Only send email if template provided in context

* Logic cleanup

* Fix log_error call

* Refactor error logging

- Ensure plugin slug is correctly attached
- Consistent format
- Logic fixes

* More robust plugin lookup

* Refactor calls to tringger_notification

* Tweak for build stock notification

* Low stock notification refactor

- Actually *use* the notification system
- Fix for email template

* Check stock only when build is issued

* Updated documentation

* Add PluginUserSetting class

- Allows plugins to define per-user settings

* Add API endpoints for PluginUserSetting model

* Placeholder for user-plugin-settings page

* Refactoring frontend code

* Placeholder panel

* Adds user interface for changing user-specific plugin settings

* Tweaks

* Remove old model

* Update documentation

* Playwright tests

* Update API version

* Fix unit test

* Fix removed arg

* Fixes for email notifications

- Track status of sending notifications
- Add helper "activate" method for plugin class
- Update unit tests

* Fix barcode tests

* More unit test fixes

* Test fixes

* Fix for settings models with extra fields

* Enhance unit test

* Remove old test file

* Check for null target_fnc

* Improve DB query efficiency

- Provide a flat list of active keys to plugin.is_active
- Prevents DB fetching (in certain circumstances)
- Add registry.active_plugins() method

* Bump query limit up for test

- In practice, this API endpoint is ~10 queries

* Handle potential errors

* Increase query limit for API test

* Increase query limit for some tests

* Bump API version

* Tweak unit test

* Tweak unit test

* Increased allowed queries

* fix user plugin settings

* Fix for unit test

* Update debug msg

* Tweak API

* Fix endpoint

* Remove "active plugin keys" code

* Restore previous behaviour

* Fix unit tests

* Tweak unit test

* Update src/backend/InvenTree/build/tasks.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/backend/InvenTree/plugin/base/integration/NotificationMixin.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Func updates

* Format

* Add notification settings

* Refactor plugin settings groups

* Fix func type

* Adjust message

* Additional unit tests

* Additional playwright tests

* Additional playwright test

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-26 13:05:59 +10:00
Oliver f862867e2b
Adjust form padding (#10080)
- Prevent scrollbar from rendering over components
2025-07-26 13:05:41 +10:00
Oliver 6e81fa2e7b
Add "duplicate" action for PartParameterTEmplate (#10076)
* Add "duplicate" action for PartParameterTEmplate

* Update src/frontend/src/tables/part/PartParameterTemplateTable.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix style

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-25 16:15:12 +10:00
Oliver 0e0abf2d75
[plugin] Library updates (#10070)
* Expose lingui modules to plugins

* Add i18n object to plugin context

* Expose form types

* Update package.json requirements

* Externalize react and mantine when building @inventreedb/ui components

* Externalize lingui packages too

* Extern <AddItemButton />
2025-07-25 01:23:34 +10:00
github-actions[bot] a301214ac9
New Crowdin translations by GitHub Action (#10013)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-24 09:48:45 +10:00
Oliver 090f657f11
Refactor BomValidationInfo into component (#10064)
- Cleaner code
- Don't fetch for non-assembly parts
2025-07-24 08:17:08 +10:00
Oliver d563db6e7e
Custom event when bulk-creating items (#10063) 2025-07-23 22:17:07 +10:00
Oliver dfd9fe44a4
[Refactor] BOM Validation (#10056)
* Add "bom_validated" field to the Part model

* Check bom validity of any assemblies when a part is changed

* Improved update logic

* Fixes for circular imports

* Add additional info to BOM validation serializer

* More intelligent caching

* Refactor

* Update API filter

* Data migration to process existing BomItem entries

* Add "BOM Valid" filter to part table

* Add dashboard widget

* Display BOM validation status

* Tweak dashboard widget

* Update BomTable

* Allow locked BOM items to be validated

* Adjust get_item_hash

- preserve "some" backwards compatibility

* Bump API version

* Refactor app URL patterns

* Fix import sequence

* Tweak imports

* Fix logging message

* Fix error message

* Update src/backend/InvenTree/part/migrations/0141_auto_20250722_0303.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update exception handling

* Try info level debug

* Disable exchange rate update

* Add registry ready flag

* Add is_ready func

* Cleaner init code

* Protect against plugin access until ready

* Fix dashboard widget filter

* Adjust unit test

* Fix receiver name

* Only add plugin URLs if registry is ready

* Cleanup code

* Update playwright tests

* Update docs

* Revert changes to urls.py

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 20:16:00 +10:00
Oliver 20477fbfcc
Plugin sequence fix (#10057)
* Fix error message

* Add registry ready flag

* Add is_ready func

* Cleaner init code

* Protect against plugin access until ready

* Add decorator for registry entrypoint funcs

* Tweak return value

* Only add plugin URLs if registry is ready

* Fix load logic

* Refactor @registry_entrypoint decorator

* Tweak

* Typing

* Reimplement is_ready property
2025-07-23 18:54:26 +10:00
Oliver 73231ce921
[ui] Enable form auto-fill (#10061)
* Enable form auto-fill

- If a single value is available, pre-fill
- Must be enabled per-field

* Tweak playwright tests for increased reliability

* Fix deps
2025-07-23 18:32:04 +10:00
Oliver 89279ef091
[bug] Part param edit (#10059)
* Fix for BooleanField

- Ensure that an "undefined" value reads "false" by default

* Tweak part parameter form

* Enhanced playwright tests

* Better boolean field management

* Update src/frontend/src/forms/PartForms.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/frontend/src/components/forms/ApiForm.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 18:31:39 +10:00
Oliver 283d5d6050
[ui] Better formatting for badges (#10060)
* Better formatting for badges

* Stock detail too
2025-07-23 13:19:33 +10:00
dependabot[bot] 998054a9b4
chore(deps): bump form-data from 4.0.0 to 4.0.4 in /src/frontend (#10055)
---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 15:22:46 +10:00
dependabot[bot] 8f1f03ed1c
chore(deps): bump the dependencies group across 3 directories with 6 updates (#10035)
* chore(deps): bump the dependencies group across 3 directories with 6 updates

Bumps the dependencies group with 1 update in the /contrib/dev_reqs directory: [jc](https://github.com/kellyjonbrazil/jc).
Bumps the dependencies group with 2 updates in the /docs directory: [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 3 updates in the /src/backend directory: [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr), [pypdf](https://github.com/py-pdf/pypdf) and [sentry-sdk](https://github.com/getsentry/sentry-python).


Updates `jc` from 1.25.4 to 1.25.5
- [Release notes](https://github.com/kellyjonbrazil/jc/releases)
- [Changelog](https://github.com/kellyjonbrazil/jc/blob/master/CHANGELOG)
- [Commits](https://github.com/kellyjonbrazil/jc/compare/v1.25.4...v1.25.5)

Updates `mkdocs-include-markdown-plugin` from 7.1.5 to 7.1.6
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.5...v7.1.6)

Updates `mkdocs-material` from 9.6.14 to 9.6.15
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.14...9.6.15)

Updates `django-allauth[mfa,openid,saml,socialaccount]` from 65.9.0 to 65.10.0
- [Commits](https://github.com/sponsors/pennersr/commits)

Updates `pypdf` from 5.7.0 to 5.8.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/5.7.0...5.8.0)

Updates `sentry-sdk` from 2.32.0 to 2.33.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.32.0...2.33.0)

---
updated-dependencies:
- dependency-name: jc
  dependency-version: 1.25.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-include-markdown-plugin
  dependency-version: 7.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-material
  dependency-version: 9.6.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-allauth[mfa,openid,saml,socialaccount]
  dependency-version: 65.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pypdf
  dependency-version: 5.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-07-22 10:38:34 +10:00
Matthias Mair 87cac2ea14
bump @tabler/icons-react to fix occaisonal reload issues (#10050)
Ref https://github.com/tabler/tabler-icons/issues/1233
2025-07-22 07:36:18 +10:00
Matthias Mair 48ea6a1d26
fix(backend): remove coreapi (#10051)
* remove coreapi
Fixes coreapi warning #10021

* re-add jinja
2025-07-22 07:35:36 +10:00
Oliver dbf11d4b01
Check user permissions for dashboard items (#10047)
Ref: https://github.com/inventree/InvenTree/discussions/10046
2025-07-20 20:02:07 +10:00
Oliver 69ca942dfc
BOM Enhancements (#10042)
* Add "round_up_multiple" field

* Adjust field def

* Add serializer field

* Update frontend

* Nullify empty numerical values

* Calculate round_up_multiple value

* Adjust table rendering

* Update API version

* Add unit test

* Additional unit test

* Change name of value

* Update BOM docs

* Add new fields

* Add data migration for new fields

* Bug fix for data migration

* Adjust API fields

* Bump API docs

* Update frontend

* Remove old 'overage' field

* Updated BOM docs

* Docs tweak

* Fix required quantity calculation

* additional unit tests

* Tweak BOM table

* Enhanced "can_build" serializer

* Refactor "can_build" calculations

* Code cleanup

* Serializer fix

* Enhanced rendering

* Updated playwright tests

* Fix method name

* Update API unit test

* Refactor 'can_build' calculation

- Make it much more efficient
- Reduce code duplication

* Fix unit test

* Adjust serializer type

* Update src/backend/InvenTree/part/models.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/backend/InvenTree/part/test_bom_item.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/docs/manufacturing/bom.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs/docs/manufacturing/bom.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Adjust unit test

* Adjust tests

* Tweak requirements

* Tweak playwright tests

* More playwright fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-20 19:14:29 +10:00
Oliver 31d4a88f90
[UI] Various fixes (#10038)
* Fix badge wrapping

* Move revision selector

- Simplify top header

* Remove "detail" attribute from <PageDetail>

* Implement "FORMS_CLOSE_USING_ESCAPE" option

* Implement "STICKY_HEADER" setting

* Remove unused setting

* Improved badge layout

* Sticky header fix
2025-07-18 11:36:04 +10:00
Oliver e6f18db800
Fix rendering glitch in tables (#10041)
* Fix rendering glitch in tables

- Table render could glitch based on cached column order
- React does not handle array dependencies well sometimes
- Change when column order is recalculated

* Simplify effect chain

- Memoize columns order
- Simply overwrite with columns order
2025-07-18 11:28:41 +10:00
Oliver 476fcc676a
Remove debug message (#10040) 2025-07-18 07:17:43 +10:00
Oliver a9c8c47e60
[UI] Part requirements (#10036)
* Tweak SalesOrderAllocations table

* Refactor "include_variants" filter

* Improved API filtering for "SalesOrderLineItem" endpoint

* Fetch part detail for table

* Fix email template

- Referenced template which does not exist

* Refactor the "requirements" endpoint

- Include variant part requirements too

* Updated starred notifications

* Adjust column name

* Update PartDetail

- Extract information from partRequirements query first

* Cache BOM items

* Improve PartDetail page

* Enhance isGeneratingSchema

- Call inspect as late as possible

* Adjust PartDetail

* Improve BuildOrderAllocations table

* Exclude common.newsfeedentry when exporting

* Updated playwright tests

* Bump API version
2025-07-18 00:00:33 +10:00
Oliver 995c3ff5e7
Tweak panel behaviour (#10030)
- Always separate "plugin provided" panels
2025-07-16 13:55:16 +10:00
Oliver 31eabc9bea
Change order of operations for MPTT delete (#10029)
- Refresh first, before accessing data
2025-07-15 23:27:25 +10:00
Oliver b7d3da59c0
Logic fix for plugin.is_active (#10026)
* Logic fix for plugin.is_active

- Previously were not considering the "mandatory" attribute

* Fix unit tests

* Allow more queries

* Fix unit tests
2025-07-15 23:23:05 +10:00
Oliver d99ec3e1a1
PartParameter updates (#10023)
* Add mixin for storing user who last updated an instance

* Add mixin to "PartParameter" model

* Fix typo

* Fix strings

* Refactor mixin class

* Update part parameter table:

- Add "user" filter
- Add "updated_by" column
- Add "update" column
- Add "note" column

* Fix for updating date

* Add user information when saving parameter

* small refactors

* Bump API version

* Add unit test for "updated" and "updated_by" fields

* Check for 'note' field

* Update docs image
2025-07-15 22:34:07 +10:00
Oliver 75ab57bc0b
[UI] Build page tweak (#10027)
* Hide "consumed stock" panel if not required

* Docs updates

* Hide allocation fields if the build has no required parts

* Additional serializer options
2025-07-15 18:27:09 +10:00
Oliver 42abc61494
Improve RenderStockItem (#10028)
- Display "available" quantity if some has been allocted
2025-07-15 18:26:48 +10:00
Oliver 24bff424d9
MPTT rebuild tweak (#10020)
* More efficient call

* Tree save fix

- Do not rebuild tree when not required
- Reduce DB count for API test

* Reduce query count even further

* Reduce query limit for other tests

* Fix for parent getter

* Added condition

* Remove duplicate check

* Don't pre-fill tree values

* perform atomic delete

* Adjust unit tests
2025-07-15 14:48:02 +10:00
Oliver f12479dd37
[UI] Improve formatting functions (#10025)
* Improve formatting functions

- Add try/catch around formatting functions
- Better logic for default values

* Change fallback logic
2025-07-15 14:33:08 +10:00
Oliver 471b8c239f
[UI] Sales order fixes (#10024)
* Fix stock item reference

* Allow edit from allocated items sub-table
2025-07-15 13:00:33 +10:00
sufyan-mukadam dcaf7cf7d7
feat: add tax_id field to Company model and related forms (#9673)
* feat: add tax_id field to Company model and related forms

* Update 0075_company_tax_id.py to fix typo

* Update models.py to fix typo

* Update tests.py to increment 'column_mappings.count()' to 15

* Update api_version.py
2025-07-15 09:00:46 +10:00
Oliver d62ac38cb1
Unit test fixes (#10019)
* Add --keepdb option for unit test

* Reduce server launch overhead

- isGeneratingSchema was EXPENSIVE
- Running a single unit test reduced from 30s to 3s

* Option to disable check
2025-07-15 01:30:58 +10:00
Oliver ea00a50dfd
Remove search on "Pending Tasks" table (#10018)
- Pending tasks are encoded into payload
- None of the interesting fields are searchable
2025-07-15 00:14:18 +10:00
Oliver 9f715337ec
Stock serialize tweaks (#10017)
* Better item extraction

* Improve query efficiency

* Further queryset improvements

* Return correct data format

* Test with hugh number of serials

* Improve serialization UX

* Revert changes to unit tests
2025-07-15 00:00:38 +10:00
Oliver 22218fd5c6
[bug] Tree fix (#9979)
* Refactor InvenTreeTree model structure

- Allow for tree with null items

* Refactor pathstring

* Factor pathstring out into a separate mixin

- Keep tree operations separate (in InvenTreeTree)
- Pathstring operations are now in PathStringMixin

* throw error

- Ensure that this func gets removed in future commit

* Fix node delete code

* Migrate "Build" model to new structure

* Add unit tests for Build tree structure

* Refactor StockLocationTreeTest

* Implement tree rebuild test for StockItem model

* Add unit test for stock item serialization

* Refactor "Part" model to use mixin

* Add unit tests for part variant tree

* Add test for node deletion

* Adjust unit tests

* Ensure items are not created with null tree_id

* Further unit tests and updates

* Fix unit tests

* Remove duplicate check

* Adjust build fixture

* Remove rebuild call

* Fixing more tests

* Remove calls to rebuild part tree

* Add test for tree fixtures

* Report tree rebuild errors to sentry

* Remove helper func

* Updates for splitStock

* Cleaner inheritance

* Simpilfy test

- tree_id is somewhat ephemeral

* Handle null parent

* Enforce partial rebuild if parent changes

* Fix

* Remove hard-coded "parent" references

* Fix order of delete operations

* Fix unit test

* Unit test tweaks

* Improved handling for deleting a root node

* Only set tree_id if not already specified

* Only rebuild valid tree_id values

* Cast to list

* Adjust unit test

- Test values were wrong, due to bad data in fixtures

* Do not bulk delete

- mysql no likey

* Enhanced rebuild logic

* Fix for unit test

* Improve logic for _create_serial_numbers

* Unit test fix

* Remove unused function
2025-07-13 21:27:32 +10:00
github-actions[bot] 1db6d2afbe
New Crowdin translations by GitHub Action (#9993)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-13 18:57:08 +10:00
Matthias Mair b351fb7483
feat(backend): improve comms around registration (#9932)
* use better email check

* add error code for missing email settings

* Add note when not registration is enabled

* fix wrong call

* fix tests - might be worth checking if the blank check for testing is a good idea

* capture issues and print to find out what the duck is going on

* exend log

* fix context check
2025-07-13 09:20:45 +10:00
Oliver a2e06d1fee
Reduce plugin component reloads (#10010) 2025-07-12 00:09:35 +10:00
Oliver b571e9e2d1
UI changelog (#10008) 2025-07-11 22:33:41 +10:00
Oliver fa62c9500b
Fix for <RemoteComponent> (#10007)
- Prevent multiple creation of root node
- Fixes error message in browser console
2025-07-11 21:33:36 +10:00
Oliver d3f24bc529
[plugin] Instance rendering (#10006)
* Move instance render types into @lib

- Expose type definitions

* Expose rendering function to the plugin context
2025-07-11 20:57:15 +10:00
Oliver 786fd846ba
Add option for pointing plugin content to a vite host (#10005) 2025-07-11 19:57:53 +10:00
Oliver 6d686cc319
Use LocationColumn in PurchaseOrderLine table (#10004) 2025-07-11 16:13:46 +10:00
Oliver 88f05ce434
Plugin source URLs (#10000)
* Better handling of URLs when loading plugin source

- Handle complex URLs more cleanly
- Support loading from actual external host
- Support loading with specified port

* Fix URL rendering - handle "local" and "remote" components

* Use default host if not provided

* Simplify code
2025-07-11 13:58:16 +10:00
Matthias Mair 4d446198b6
fix(backend): missing scope (#10001)
* move permission and fix scope

* add a way to only use scopes for doc purposes

* add a check to stop this from happening again

* bump api version
2025-07-11 08:45:55 +10:00
Matthias Mair df6965088f
bump backend deps (#10003) 2025-07-11 08:44:33 +10:00
Oliver d137728e60
Refactor more UI components out into lib directory (#9994)
* Refactor table column types

* Offloading more component type definitions

* Remove unused funcs

* Move conversion functions

* ActionButton

* Refactor YesNoButton

* ProgressBar

* make row actions available

* search input

* ButtonMenu

* Bump UI version

* Tweak function defs
2025-07-10 06:54:53 +10:00
Oliver c6166d7c4a
Import fix 2 (#9992)
* Fix return types

* Add getStatusCodeLabel func

* Fix logic for import session drawer

- Properly re-fetch session data
- Rendering improvements

* Fix icon

* API permission fixes

* Enhanced playwright testing

* Fix playwright tests

* Tweak playwright tests

* Remove unused var

* Tweak playwright tests
2025-07-09 23:32:00 +10:00
Oliver 7ff2ca914a
BOM filter by category (#9989)
* Add "category" filter for BomItem API endpoint

* Filter BOM table by part category

* Tweak filter label

* Bump API version

* Schema annotation

* Fix playwright test
2025-07-09 21:46:07 +10:00
github-actions[bot] 6f08bdca46
New Crowdin translations by GitHub Action (#9963)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-09 14:08:59 +10:00
Oliver 227be54ff6
Tweak error message (#9985) 2025-07-09 11:37:17 +10:00
gunstr 223287b1e1
Add setting to show location path as plain text in tables (#9960)
* Add setting to show location path as plain text in tables

* Use the Location Path setting also for Default Location in the PartTable

* Add setting to show PartCategoty as plain text

* Set DefaultLocationColumn defaultVisible to false

* Fix typo

* Simplify settings keys

* Simplify the name attribute

* Fix typo

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-07-09 11:19:05 +10:00
Oliver b6c8db56fb
Data output table (#9984)
* Allow DataOutput to be deleted individually via API

* Add row actoins for data-export table

* Filter table by user

* Bump API version
2025-07-09 11:18:51 +10:00
Oliver c96d2200dc
Simplify API call mixin (#9983)
- Probably something on the remote API changed
2025-07-09 10:41:42 +10:00
Matthias Mair f655250947
fix(frontend): Move mail settings to operations (#9978) 2025-07-08 17:24:15 +10:00
Matthias Mair e788989b19
fix(frontend): add URL overview to more models (#9977) 2025-07-08 17:23:59 +10:00
Oliver 7e1c51358b
Allow sub-builds to be created for pending builds (#9972) 2025-07-07 16:25:14 +10:00
Oliver 527e6ac317
[bug] Build output fix (#9971)
* Wrap filter in list

* Add unit test for auto_allocate functionality
2025-07-07 15:35:11 +10:00
Oliver b03a53c7cd
[UI] Allocation tweaks (#9970)
* Hide row actions if not in production

* Refetch allocations on change
2025-07-07 15:12:05 +10:00
Oliver 33e1c58ed9
StockItem Serialization Improvements (#9968)
* Add "serialize" form to build output table

* Fix dependencies for useGenerator hook

* Improve serializing of stock

- Copy test results
- Ensure fields get copied across

* Fix rendering for StockItemTestResultTable

* Enhanced playwright test

* Fix code

* Fix for unit test
2025-07-07 13:48:58 +10:00
Oliver 1bbbde0b22
Fix useEffect dependencies (#9967)
- Passing an array to a useEffect dependency list apparently is problematic
2025-07-07 10:07:34 +10:00
github-actions[bot] e19e5eb029
New Crowdin translations by GitHub Action (#9959)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-06 19:39:35 +10:00
Oliver 042039754b
[bug] Data import fix (#9962)
* Permission fix for data importer endpoint

* Add playwright tests

* Bump API version
2025-07-06 18:22:37 +10:00
Oliver 945cb46f32
[bug] Logic fix for plugins (#9934)
* Logic fix for plugins

- Prevent tasks being run for disabled plugins

* Adjust default value for "get_plugin" method

* Fix return type

* Update typing

* Tweak unit test

* Update unit tests

* More test updates
2025-07-06 10:15:33 +10:00
Oliver 82dfe561ee
[feature] Disable pricing task (#9730)
* Add setting to control pricing auto-update

* Auto pricing updates depend on global setting

* Tweak menu layout

* Fix typo

* Skip pricing task

* Tweak serializer

* Updated docs

* Update logic around automatic pricing updates

* Logic fix

* Remove daily holdoff
2025-07-05 11:16:42 +10:00
github-actions[bot] 925807e06b
New Crowdin translations by GitHub Action (#9919)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-04 17:21:56 +10:00
Oliver 383925de4e
Logic fix for LOCK_SETTING (#9948)
* Logic fix for LOCK_SETTING

- Because the setting is to "allow editing", it is really an UNLOCK setting
- This setting had to be DISABLED (false) to allow editing of completed orders

* Updated logic

* Tweak unit tests
2025-07-04 11:44:33 +10:00
Oliver 6453abb974
User token table (#9954)
* Tweak layout of Token dialog

* Render user details in API token table

* Bump API version
2025-07-04 11:38:21 +10:00
Oliver ada346d339
Improved login screens (#9953)
- Fix shadow offset
- Simplify Wrapper component
2025-07-04 11:14:33 +10:00
Oliver 3d9291d95f
[bug] Allocated items print fix (#9952)
* Fix label printing for SalesOrderAllocation table

- Need to provide custom lookup option

* Add label actions to BuildOrderAllocationTable
2025-07-04 10:38:51 +10:00
Oliver e7b27c9e2f
[UI] Location filter (#9939)
* Filter incomplete outputs by location

* Filter build allocated stock by location

* Filter sales order allocations by location

* Bump API version

* Fix API version

* Fix annotations
2025-07-04 10:24:12 +10:00
Oliver a954555eb7
Fix for table filtering logic (#9949)
* Fix for table filtering logic

- Disable table filters if custom filters supplied
- Handle search term better

* Logic Fix

* Tweak unit test
2025-07-04 10:24:02 +10:00
Oliver 4307e6d170
Allocation search by IPN (#9944)
* Fix for "has_ipn" filter

* Enable filtering and sorting by IPN in SalesOrderAllocation table

* Bump API version
2025-07-03 16:53:46 +10:00
Oliver d9f71ca20f
[UI] Refactor stock adjustment actions (#9937)
* Refactor stock actions into a hook

* Cleanup hooks

* Allow transfer of "incomplete" outputs

* Simplify even further

* Enable transfer of stock allocated to build order

* Remove StockItemBriefSerializer entirely

* stock actions for items allocated to sales order

* Refactor <PartDetail> page

* Refactor <StockDetail>

* Refactor <LocationDetail>

* Bump API version

* Control serializer arguments
2025-07-03 16:15:06 +10:00
Oliver 5e9a8f7cb2
[UI] Sales order button (#9938)
* Refactor stock actions into a hook

* Cleanup hooks

* Allow transfer of "incomplete" outputs

* Simplify even further

* Enable transfer of stock allocated to build order

* Remove StockItemBriefSerializer entirely

* stock actions for items allocated to sales order

* Refactor <PartDetail> page

* Refactor <StockDetail>

* Refactor <LocationDetail>

* Bump API version

* SO button text

- Observe the "SALESORDER_SHIP_COMPLETE" value

* Fix palywright tests
2025-07-03 15:22:23 +10:00
Oliver 7ceee940d3
[UI Order detail tweaks (#9947)
* Build detail tweak

- Display clearer information about assembled part

* Tweak subtitle for PO

* Update SalesOrder

* Tweak return order
2025-07-03 14:25:21 +10:00
Oliver cdd977abaa
Tweak "auto_allocate" serial numbers (#9942)
- Allow "in production" items
- Enables allocation of child builds
2025-07-03 14:25:02 +10:00
Oliver 8e330868f6
[UI] Notification Drawer (#9940)
- Handle error case
- Visual updates
2025-07-03 13:33:05 +10:00
Oliver 305b253417
[UI] Fix table column ordering (#9945)
* Fix table column ordering

- Ensure that table columns are always rendererd in the correct order

* Cleanup code

* Adjust col order
2025-07-03 13:32:53 +10:00
Oliver ededeeee00
Bug fix for build output table (#9946)
- Ensure records are cleared after bulk operation
2025-07-03 13:32:41 +10:00
Oliver ee3a574029
[UI] Build order visual enhancements (#9931)
* Adjust UI wording

- Separation between "items" and "stock"

* Add info panel if build order has no required items

* Fixes for playwright testing

- Ensure cookies are completely cleaned  between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000

* Remove gunicorn option

* Fix unit test

* Readjust base URL

* Simplify doCachedLogin

* Adjust text

* Ensure translations are extracted

- Otherwise, playwright will not find the right strings...

* Make admin test more reliable

* Remove asynciness

* Fix <AttachmentLink>

- Allow null "attachment" value

* Better implementation

* Cleanup
2025-07-03 12:15:22 +10:00
Oliver ccc62255c4
Additional filters for incomplete build outputs (#9943) 2025-07-03 10:57:15 +10:00
Oliver 8b74a40ad5
[UI] Sales Order tweak (#9935)
* Allow report generation from sales order allocation view

* Fix model target
2025-07-02 23:18:47 +10:00
Oliver 3f14ae3f7d
[bug] Playwright fixes (#9933)
* Fixes for playwright testing

- Ensure cookies are completely cleaned  between sessions
- Fix base URL based on vite command
- Fix samesite cookie mode
- Prevent /static/ files being served by web server on :8000

* Remove gunicorn option

* Readjust base URL

* Simplify doCachedLogin

* Fix logic func

* Revert webserver cmd

* Set base URL in playwrightconfig file

* Fix URL checks

* Fix URL definitions

* adjust playwright base URL

* Tweak for URL helper

* Further login tweaks

* Tweak test

* wait for API before starting tests

* Handle error

* Adjust login functions

* Don't use gunicorn

- But still use the webserver to serve static files in CI

* Enhanced login functions

* Tweak login tests

* Fix broken test

* Flipped the flippies
2025-07-02 22:12:17 +10:00
dependabot[bot] 2ce7e225ad
chore(deps): bump pillow from 11.2.1 to 11.3.0 in /src/backend (#9929)
* chore(deps): bump pillow from 11.2.1 to 11.3.0 in /src/backend

Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.2.1 to 11.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.2.1...11.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.3.0
  dependency-type: direct:production
...

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

* fix req

---------

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>
2025-07-02 17:55:49 +10:00
Matthias Mair dea8b4f0ad
fix(backend) : use correct settings patching (#9910)
* fix(backend): use correct settings patching

* and more fixes

* fix context in test

* add better test for cors
2025-07-02 10:35:27 +10:00
Matthias Mair 252c74ab9f
fix(frontend): logic error in display of registration option (#9930)
* fix(frontend): logic error in display of registration option
Fixes #9921

* simplify logic
2025-07-02 09:27:49 +10:00
Oliver e6f91517c3
Log errors during tree rebuild (#9927)
* Log errors during tree rebuild

* Ensure stock tree is rebuilt

* Update models.py

Fix call to rebuild_stock_tree

* Update models.py

style fixes
2025-07-02 00:07:54 +10:00
Oliver e693c93c08
[UI] Reduce flicker when reloading detail instance (#9926)
* UI improvement for column selection in tables

- Limit max height of dropdown

* Allow retry for instance query

* Prevent flickering when reloading instance

- Don't hide the children
- Just put a loading overlay on top

* Enhanced rendering for <InstanceDetail>

* Refactor other pages

* remove unused attributes
2025-07-01 23:03:45 +10:00
Oliver 0683140278
UI improvement for column selection in tables (#9925)
- Limit max height of dropdown
2025-07-01 22:03:22 +10:00
Oliver 803b688ed7
Prevent dashboard updates if tab not visible (#9924)
* Prevent dashboard updates if tab not visible

* Uncomment code
2025-07-01 21:59:53 +10:00
Oliver 2d03d1d7eb
Tweak thumbnail hover (#9923)
- Adjust positioning
- Slower to open
- Quicker to close
2025-07-01 21:42:06 +10:00
Oliver 2ee00c80f5
Enhance "path" columns (#9918)
* Enhance "path" columns

- Show "short" version
- Hovercard for full "pathstring"

* Remove old code

* adjust unit tests
2025-07-01 21:31:25 +10:00
gunstr 0f407f7dbb
Replace the url with a clickable icon for link columns in tables (#9922) 2025-07-01 21:28:32 +10:00
Oliver a38f1803a9
Fix vertical scrolling for table filter select (#9920) 2025-07-01 16:09:43 +10:00
Oliver 6a7d04d0e6
Load calendar on first render (#9916)
Ensure that calendar views submit an API request on first load
2025-07-01 12:25:04 +10:00
Oliver 038337b17d
Dashboard widgets refresh automatically (#9917) 2025-07-01 01:58:36 +00:00
Oliver 7c00bd7df3
Add part info to "Build Order Allocations" table (#9915) 2025-07-01 11:51:59 +10:00
Oliver e96e78cf0d
Fix for URL redirect (#9914)
- Need leading / to ensure absolute path
2025-07-01 11:22:11 +10:00
github-actions[bot] 3482ab4956
New Crowdin translations by GitHub Action (#9903)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-01 10:51:22 +10:00
Matthias Mair 92c92d60e7
[FR] Add proactive system check for site_url (#9895)
* [FR] Add proactive system check for site_url
Fixes #7847

* fix enviroment for tests

* fix admin tests and make them more robust

* improve tests for admin actions

* add test for all scenarios

* use right http error code

* fix error code

* remove dependency on bundle

* fix test
2025-07-01 09:12:48 +10:00
Oliver 83b524f808
Negative annotations (#9909)
* Fix for "annotated_scheduled_to_build_quantity"

* Further annotation updates

* Add unit testing for annotation

* Tweak unit test

* Cast annotated expression

* Specific fields required to work

* Refactor other instances

* Update API docs
2025-07-01 08:57:27 +10:00
Oliver 67a5e4880e
Remove unused field (#9908) 2025-06-30 13:49:52 +10:00
Oliver 1abf9b30dd
[UI] Hover image (#9907)
* Add "hover image" for part display in tables

* Refactor company column
2025-06-30 13:49:43 +10:00
Oliver 8c6cacae66
Tweak expand icon for panels (#9905)
- Better layout
- Add tooltip
- Add divider
2025-06-30 13:14:37 +10:00
Oliver 52997d022a
[UI] Dashboard Update (#9904)
* Prevent clicks when editing dashboard items

* Tweak playwright test
2025-06-30 12:30:09 +10:00
Oliver 41b0490071
[UI] Build test results fix (#9906)
* Fix event handler

* Make icon more clickable
2025-06-30 11:56:27 +10:00
Oliver f3072b804e
[UI] Stored table state (#9902)
* Add useStoredTableState zustand

* Store table page size in the zustand state

* Store tablesorting data in zustand state

* Actually provide records...

* Transfer table names state

* Store hidden columns too
2025-06-30 08:13:04 +10:00
github-actions[bot] c6d53b8c57
New Crowdin translations by GitHub Action (#9885)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-30 08:12:45 +10:00
Oliver a8b805cdec
[UI] Refactor useQuery hooks (#9894)
* Improvements for table loading

- Retry table queries on failure
- Properly store failure modes
- Increasing standoff time on query failure

* Add error messages

* Better error extraction

* Simplify error handling

* Update NotesEditor

* Update dashboard items

* Tweak table refetch

* Refactor notifications query

* Fix for calendar querty

* Other fixes

* Allow retry for search query

* Further adjustments

* Improved dashboard

* Upate more useQuery hooks

* Fix broken URL (was used for testing)

* Remove custom delay

* Revert change to noRecordsText
2025-06-29 22:07:06 +10:00
Oliver 741efd78af
Fix for caching table options (#9898)
- The sync: false option does not perform properly
- Sometimes, the data is simply not loaded from localStorage at all
2025-06-29 20:18:34 +10:00
Matthias Mair 4c11f8c911
feat(frontend): reduce flickering on reload (#9897)
* rename states to better fit naming conv

* fix name

* ensure splashscreen only loads after login check
this reduces a short splash of the splashscreen even if logged in

* move loader to the middle of the screen and remove fallback on a view screens
2025-06-29 10:45:51 +10:00
Matthias Mair ce8ece4f10
[UI] Incorrect redirect to MFA setup (#9896)
Fixes #9880
2025-06-29 08:15:00 +10:00
Oliver ab5765685a
Add title when creating child build (#9893) 2025-06-28 12:09:26 +10:00
Oliver 5ccf7a6e45
Fix for stock item form (#9892) 2025-06-28 12:09:19 +10:00
Oliver 4b70a6e4ca
Error tweaks (#9891)
* Wrap model import in try/except

* Fix circular imports

* Adjust exception handling
2025-06-28 10:25:24 +10:00
Oliver ff6d4bfb8f
[Bug] Report fix (#9887)
* Improved mechanisms for data output

- Log errors against output
- Properly catch rendering errors

* Updated error handling

* Fix "render_date" tag

* Update default report template

- Make sure the helper is used

* Bug fixes
2025-06-28 08:23:12 +10:00
gitbock b3feebb53b
Add stale stock email notifications (#9861)
* Add stale stock email notifications

Implement automated email notifications for stock items approaching
their expiry dates. Users receive consolidated daily emails for all
their subscribed parts that are within the configured stale threshold.

Fixes #7866

* Fix for tracing init (#9860)

- Circular include means that settings.DB_ENGINE may not be available

* [bug] Custom state fix (#9858)

* Set status correctly when returning from customer

* Fix for stock item status change

- Reduced set of changes from #9781

* Handle API updates

* Fix variable shadowing

* More intelligent comparison

* Remove debug statement

* fix syntax again (#9863)

* fix(backend): change notification for INVE-W10 (#9864)

implements changes requested in
https://github.com/inventree/InvenTree/pull/9769#issuecomment-3004193476

* Tweak for tracing setup (#9865)

- DB_ENGINE is of the form "django.db.backends.postgresql", not "postgesql"

* Update README.md (#9867)

Update sponsors list

* Remove sleep call (#9866)

* New Crowdin translations by GitHub Action (#9813)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Table default cols (#9868)

* Work in progress

- Seems to reset the columns on page refresh
- Probably related to the useLocalStorage hook

* Do not overwrite until the tablestate is loaded

* Prevent table fetch until data has been loaded from localStorage

* Improved persistance

* Adjust default column visibility

* Adjust playwright test

* Clear data tweak (#9870)

* Tweaks for config path checks

* Update delete-data task

* Tweaks for config path checks (#9869)

* fix instrumentation code (#9872)

* [UI] About tweak (#9874)

* Cleanup server info modal

* Sort package info

* De-sync useLocalStorage (#9873)

* [UI] Fix thumbnail rendering (#9875)

- Fix typo which caused full image to be rendered
- This could cause significant network loading time

* Add stale stock email notifications

Implement automated email notifications for stock items approaching
their expiry dates. Users receive consolidated daily emails for all
their subscribed parts that are within the configured stale threshold.
Revert django.po

Fixes #7866

* fixed pull request issues #9875)

* unit test notifications for stale stock items

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-28 08:21:04 +10:00
Oliver 486838b7e7
Tweaks to fix circular imports (#9888) 2025-06-27 17:10:06 +10:00
Oliver aa4927ddb6
Add divider to dashboard (#9884)
* Add divider to dashboard

* Tweak unit test
2025-06-27 16:55:57 +10:00
Oliver 5bf7a8ea31
Data table tweaks (#9886)
- Remove skeleton which hid table
- Updated hooks
2025-06-27 14:15:07 +10:00
github-actions[bot] 040d1c1073
New Crowdin translations by GitHub Action (#9871)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-06-27 13:14:00 +10:00
Oliver 1e8d9bd571
Better handling of initial state fetching (#9881)
- Wait for states properly
- Order of operations (await)
2025-06-27 09:52:44 +10:00
Oliver 55a019c054
Simplify dashboard items (#9882) 2025-06-27 09:52:34 +10:00
Oliver 9a8d2a6a2e
Prevent multiple fetch of settings stage (#9878)
* Prevent multiple fetch of settings stage

- Cached in the useSettingsState hook already

* Error handling
2025-06-27 09:16:01 +10:00
Oliver 9a2097ddd0
Plugin install errors (#9876)
* Log plugin install errors

* Log more errors

* Format pip errors

* Update error messages

* Control if plugins file gets installed

* Error handling

* Fix typo

* Logic fix for loading plugins

* Adjust unit test

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-06-27 07:56:22 +10:00
Oliver e73823800b
[UI] Fix thumbnail rendering (#9875)
- Fix typo which caused full image to be rendered
- This could cause significant network loading time
2025-06-26 23:40:12 +10:00
Oliver db59b5a7a0
De-sync useLocalStorage (#9873) 2025-06-26 21:03:17 +10:00
Oliver 791f7797cb
[UI] About tweak (#9874)
* Cleanup server info modal

* Sort package info
2025-06-26 20:53:23 +10:00
Matthias Mair 370baeff8b
fix instrumentation code (#9872) 2025-06-26 16:51:50 +10:00
Oliver 73e2532058
Clear data tweak (#9870)
* Tweaks for config path checks

* Update delete-data task
2025-06-26 16:29:12 +10:00
Oliver c283beedb3
Table default cols (#9868)
* Work in progress

- Seems to reset the columns on page refresh
- Probably related to the useLocalStorage hook

* Do not overwrite until the tablestate is loaded

* Prevent table fetch until data has been loaded from localStorage

* Improved persistance

* Adjust default column visibility

* Adjust playwright test
2025-06-26 15:27:26 +10:00
github-actions[bot] 8b4f9efa44
New Crowdin translations by GitHub Action (#9813)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-26 12:16:45 +10:00
Oliver 81113dcd99
Remove sleep call (#9866) 2025-06-26 09:52:35 +10:00
Oliver 1b0de3610f
Tweak for tracing setup (#9865)
- DB_ENGINE is of the form "django.db.backends.postgresql", not "postgesql"
2025-06-26 09:29:03 +10:00
Matthias Mair 2738d286de
fix(backend): change notification for INVE-W10 (#9864)
implements changes requested in
https://github.com/inventree/InvenTree/pull/9769#issuecomment-3004193476
2025-06-26 09:23:52 +10:00
Oliver bc2dbfa0c2
[bug] Custom state fix (#9858)
* Set status correctly when returning from customer

* Fix for stock item status change

- Reduced set of changes from #9781

* Handle API updates

* Fix variable shadowing

* More intelligent comparison

* Remove debug statement
2025-06-26 07:42:06 +10:00
Oliver 1a51c4a3dd
Fix for tracing init (#9860)
- Circular include means that settings.DB_ENGINE may not be available
2025-06-26 07:41:44 +10:00
Oliver cd223116b5
[UI] Description col tweaks (#9859)
* Refactoring

* More refactoring

* Remove debug msg
2025-06-26 01:12:38 +10:00
Matthias Mair 83b6653d78
feat(PUI): Make header tabs links to simpilfy new tab behaviour (#8779)
* add anchor element to tabs to enable opening in new tab

* simplify

* use unstyled button instead

* also enable linking on nav panels

* make sure metakey also works (reduces duplication)

* remove headers changes

* move check for modified key to lib

* render nav items as link

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-06-26 01:07:32 +10:00
Oliver be99b645ad
[API] Return stock item list when creating multiple items (#9857)
* Return stock item information when serializing an existing item

* Handle stock item creation

* Commonize response

* Provide build items in response

* Formalize returned data type

* Fix unit test
2025-06-26 00:43:42 +10:00
miggland 6811132e30
Change logger.info in labelTemplate.print to use f-string, correct the order of arguments (#9855) 2025-06-25 21:10:23 +10:00
Oliver 6915ed52c9
Enable 'units' field for plugin settings (#9856)
* Enable 'units' field for plugin settings

* Bump API version
2025-06-25 20:30:39 +10:00
Oliver 73d463d84e
Adjust "child_items" annotation for stockitem (#9842)
* Adjust "child_items" annotation for stockitem

- Show the direct children only

* Remove unused func
2025-06-25 18:34:57 +10:00
Oliver 590c41169e
Enable printing and report actions (#9853) 2025-06-25 17:35:57 +10:00
Matthias Mair bbe94ee9c2
refactor (backend): move config files out of the source directories (#9769)
* moving config files out of the source directories
Fixes #9756

* add folder for config

* fix lookup paths

* reorder ignores

* reduce diff

* better error message

* fix paths

* Update tests.py

* save global warning to db

* fix import

* more import fixes / docs

* fix default

* fix default

* ensure secret_key/get_config_file is tested fully

* try fixing path on docker

* try to make it work on GitHub CI

* refactor testfolder path into config var

* fix test path

* fix test

* do not test on docker

* more tests

* add testing for global warning dict

* fix error handling
2025-06-25 08:12:24 +10:00
Oliver 8e8b61033c
Fix for stock item duplication bug (#9846)
* Omit "serial" field

* Ignore 'serial' field on item creation
2025-06-25 06:54:12 +10:00
Oliver f1482aaa28
Prevent query returning undefined value (#9847) 2025-06-25 06:53:39 +10:00
Oliver 0b451dc085
Tweak plugin load error messages (#9839)
* Tweak plugin load error messages

* Update unit tests
2025-06-24 21:01:06 +10:00
Oliver 5bb6db704b
Plugin url fix (#9833)
* Handle error when loading plugin URLs

- Error separation between plugins
- Format plugin URLs outside the plugin code
- Add "catch-all" URL

* Attempt to resolve URL

* Accept 404 error

* Cleanup

* Tweak unit tests
2025-06-24 19:31:37 +10:00
Matthias Mair 3c2997ece5
refactor(backend) rename barcode plugins (#9829)
* refactor(docs): restructure barcode plugin section

* rename doc files

* add barcode index

* add missing link

* refactor(backend): rename barcode plugins

* fix ref

* revert name change

* fix name ref
2025-06-24 19:15:12 +10:00
Oliver 4d029b0d54
[bug] Fixes for plugin loading mechanism (#9826)
* Fix logic for registry mutex lock

* Handle potential errors during UsersConfig launch

* Remove debug statement

* Revert to_raise value

* Clear plugin errors on reload

* Better method of avoiding duplicates
2025-06-22 12:40:07 +10:00
Oliver 785bda26c4
Refactor mixin_enabled calls (#9825)
- Ensure the enumerated values are used
2025-06-22 11:28:48 +10:00
Oliver cc40af6199
Fix missing context items (#9819)
* Fix missing context items

* Fix typo in docstring
2025-06-21 17:27:39 +10:00
Matthias Mair ab9c6bae3e
chore(backend): update-osv-file (#9821) 2025-06-21 07:42:05 +10:00
Oliver 499e48cdd8
Company reports (#9817)
* Support report generation against company

* Add "print report" to Company table

* Add printing button to Company detail page

* Bump API version
2025-06-20 17:52:07 +10:00
Oliver 6229d2e8c8
Small UI improvement to SecurityContext (#9818)
* Small UI improvement to SecurityContext

* Fix translated string
2025-06-20 17:35:03 +10:00
Oliver b4f3fd46f9
[Breaking] Remove part scheduling feature (#9811)
* Remove frontend code

* Remove references to setting

* Remove API endpoint

* Docs updates

* Bump API version

* Remove check for old tab
2025-06-20 17:17:44 +10:00
Oliver c90fc2feda
Improve handling of plugin metadata reading (#9816)
* Improve handling of plugin metadata reading

* Accessor fix
2025-06-20 15:15:40 +10:00
Tuan (Tristan) Le 786b52d016
Report merge (#9532)
* Report merge

* Remove auto-generated file

* Remove pre-commit file

* Revert "Remove pre-commit file"

This reverts commit 00d80bae2a.

* Update API version

* Reduced duplicated logic

* reset pre-commit config

* Added migration files

* Added unit test

* Removed redundant migration

* Updated migration file

* Added a default report template with merge enabled

* Unit test to ensure a single page is generated

* Added docs to support merge feature

* Clean up

* Clean up

* Fixed unresolved link

* Updated API version

* Fixed test report path issue

* Add plugin context for each instance

* merge in master

* Fixed formating

* Added more detailed user guide

* Updated docs

* Added assert to ensure test html output exists

* Updated docs

* Fixed report test path

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-06-20 14:06:28 +10:00
Matthias Mair 45daef8442
feat: more mail sending backends and plugability (#9608)
* [FR] Improve Email handeling
Fixes #7950

* extend implementation of email thread and message models

* add missing args

* add unit test

* increase test coverage

* make key not necessary

* do not consider in coverage

* add email apis

* Add email admin

* fix email configuration check

* improve rendering

* squash migrations

* add config value overview

* log if mails were send

* add additional headers

* fix api unit test

* fix url resolving

* add InvenTree specific task to issue mails
required to extend sending options (prio, reply to)

* use internal sending task to keep telemetry cleaner

* add prio handling

* add plugin handling

* add setting

* factor plugin method out

* add typing

* move function

* bump version

* fix import path

* add a test for the test endpoint

* fix checking logic

* Add anymail sending / tracking handling

* add more ordering fields to api

* remove unneeded assingment

* add basic docs

* handle incoming emails with anymail

* Add inbox handling
Closes https://github.com/inventree/InvenTree/issues/7951

* add list of supported ESPs

* add better error transparency when sending fails

* add missing migration

* combine migrations back down

* fix todos

* fix qc export

* fix missing model props

* add tests

* ensure things are passed as a list

* fix list formatting

* fix deps

* move tests

* add testing with anymail

* allow handling of priority and headers

* add test for events

* add test for inbound messages

* rename variable

* increase coverage

* fix format

* add setting doc

* fix link

* rename fnc

* disable pro test

* make messages clearer

* fix doc syntax

* fix assign

* fix test

* revert test disablement

* add enum

* disable check for now

* try changing test around

* add incoming mail processing

* fix import

* add docs

* Fix mail.md

* bump deps

* fix api version
2025-06-20 11:49:02 +10:00
Matthias Mair 797b5f57b0
feat(backend): improve worker tracing (#9808)
* feat(backend): improve worker log

* refactor tracing details

* add tracing to gunicorn setup

* add sqlite tracing

* add system metrics

* instument wsgi

* make dbengine better accessible

* fix instruction

* instrument worker

* track task scheduling

* trace common tasks

* patch in support for django q

* trace various tasks

* add trcing for other dbs

* ignore coverage on tracing stuff

* more ignorance
2025-06-20 09:47:28 +10:00
Matthias Mair 00c974b629
feat: add cluster monitor task (#9812) 2025-06-20 09:45:25 +10:00
github-actions[bot] 38cf8141fc
New Crowdin translations by GitHub Action (#9801)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-20 09:05:29 +10:00
Oliver 6a23341f2a
Expose ModelInformationDict to plugins (#9810)
* Expose ModelInformationDict to plugins

* Expose internal modal dict

* Add comment

* Fix import string
2025-06-19 21:42:34 +10:00
Joe Rogers 0bbc020a95
Schema: Add possible order fields to 'ordering' field description (#9803)
* Make optional build order reference nullable

* Add valid choices to ordering field description

* Bump API version
2025-06-19 13:05:02 +10:00
dependabot[bot] f7c8788ad5
chore(deps): bump urllib3 from 2.4.0 to 2.5.0 in /src/backend (#9809)
* chore(deps): bump urllib3 from 2.4.0 to 2.5.0 in /src/backend

Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.5.0
  dependency-type: indirect
...

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

* fix req

* bump all instances

---------

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>
2025-06-19 10:37:53 +10:00
Matthias Mair d5fa609275
feat: improve user/group management actions (#9602)
* feat: improve user management actions
add "open profile" actions

* add lock / unlock action

* add actions for password reset

* submit coverage info to codecov
no idea why this was turned off

* bump api version

* add frontend test

* add backend test

* fix test state

* move test

* fix style

* fix name

* hide password change if not superuser

* bump playwright
see https://github.com/microsoft/playwright/issues/35183

* fix test

* fix test order

* simplify test

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-06-19 09:14:59 +10:00
Oliver 8346318f7d
Bump UI version (#9805)
- To match latest version published
2025-06-18 17:13:50 +10:00
Oliver 62aef238f0
[UI] Add "can build" part info (#9798)
* Add proper serializer to PartRequirements API endpoint

* Add API endpoint

* Display "can_build" quantity

* Add simple playwright tests

* Bump API version

* Updated docs

* Fix formatting

* Consolidate field names

- Match field names to the PartSerializer

* Adjust frontend

* Add "can_build" to BuildDetail page

* Tweak BuildDetail

* Hide until load

* serializer fixes
2025-06-18 10:17:39 +10:00
github-actions[bot] fe4038205f
New Crowdin translations by GitHub Action (#9780)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-18 08:08:59 +10:00
Oliver 130eb32f88
[UI] Enhanced number formatting (#9799)
* Enhanced number formatting

* Support part units
2025-06-17 22:51:28 +10:00
Oliver 92667876fe
[UI] Query Improvements (#9791)
* Fix for stockOperationModal

* Re-check when opened status changes

* rename stockOperationModal -> useStockOperationModal

* Fix enabled status of query

* Add option to specify modalId

* Track modal state when open / close

* Prevent generators from running until forms are open

* Prevent double loading of tables

* Fix useQuery

* Fix queryKey

* Revert API change
2025-06-17 22:16:19 +10:00
Jakob Haufe 21d44d0039
fix(frontend): Reload order details when changing line items (Closes: #8695) (#9773)
* Reload order details when changing line items (Closes: #8695)

* fix type

* fix type

* fix type

* fix type

* Update PurchaseOrderLineItemTable.tsx

* Update ReturnOrderLineItemTable.tsx

* Update SalesOrderLineItemTable.tsx

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-06-17 17:06:30 +10:00
Matthias Mair e7b24cca64
various small fixes (#9797) 2025-06-17 08:18:25 +10:00
Oliver 3bc1e7f9f0
Cleanup panel groups (#9783)
- Hide label if panel is not expanded
- Add a visual divider
2025-06-15 11:17:44 +10:00
Oliver b02bc3842e
Remove function call from translated string (#9778) 2025-06-14 12:15:20 +10:00
github-actions[bot] eb445be770
New Crowdin translations by GitHub Action (#9771)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-14 12:15:10 +10:00
Oliver ba4a23757e
Fix task group (#9777)
* Fix group for offload_task

* Add group labels
2025-06-14 12:15:02 +10:00
Oliver c027a7cf7d
[Plugin] Auto-create builds (#9574)
* Remove existing "create child builds" functionality

- Remove API fields
- Remove background task definition

* Basic plugin structure

* Bump API version

* Bump API version

* Bug fix

* working on plugin event handling

* Add new stub method

* Implement functionality

* Fix conflicts in api_version

* Docs

* Fix docs

* Fix event type
2025-06-14 11:26:48 +10:00
gitbock 68c3a41f84
feat(frontend): add edit-part function in part table (#9775)
* add edit-part function in part table

* fix code style
using `pre-commit run -a`

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-06-14 09:04:09 +10:00
Oliver b465900344
[UI] Fix serial and batch code generators (#9772)
* Tweak stock item form

- Fix batch code placeholder
- Fix serial number placeholder

* Tweak build output form

* More cleanup

* Fix for PurchaseOrderForm

* Refactoring placeholder values
2025-06-13 20:02:30 +10:00
Oliver 5bf94acc1a
Fix error handling for template editor (#9770)
* Fix error handling for template editor

* Remove logging
2025-06-13 12:50:05 +10:00
github-actions[bot] c70583097c
New Crowdin translations by GitHub Action (#9726)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-12 23:31:16 +10:00
Oliver c6848b8e87
[Feature] External build order (#9312)
* Add BuildOrder reference to PurchaseOrderLineItem

* Add setting to enable / disable external build orders

* Fix for supplier part detail

* Update forms

* Filter build list by "external" status

* Add "external" attribute to BuildOrder

* Filter by external build when selecting against purchase order line item

* Add frontend elements

* Prevent creation of build outputs

* Tweak related model field

- Send filters when fetching initial data

* Fix migrations

* Fix some existing typos

* Add build info when receiving line items

* Logic fix

* Bump API version

* Updated relationship

* Add external orders tab for order

* Display table of external purchase orders against a build order

* Fix permissions

* Tweak field definition

* Add unit tests

* Tweak api_version.py

* Playwright testing

* Fix discrepancy in 'building' filter

* Add basic documentation

( more work required )

* Tweak docs macros

* Migration fix

* Adjust build page tabs

* Fix imports

* Fix broken import

* Update playywright tests

* Bump API version

* Handle DB issues

* Improve filter

* Cleaner code

* Fix column ordering bug

* Add filters to build output table

* Documentation

* Tweak unit test

* Add "scheduled_for_production" field

* Add helper function to part model

* Cleanup
2025-06-12 18:27:15 +10:00
Oliver 5389d8dc07
Fix for yarn.lock (#9767) 2025-06-12 15:16:21 +10:00
Oliver e30c4e7cdd
Part copy test (#9764)
* Add functionality to copy part test templates when duplicating a part instance

* Bug fixes

* Tweak part duplication fields

* Add simple playwright test

* Updated unit test for part duplication

* Bump API version
2025-06-12 12:56:16 +10:00
Oliver c81d0eb628
Table col fix (#9762)
* Update mantine-datatable

* Improve table hook

* Fix for table name

- Table names must be unique
- Otherwise stored column data gets corrupted

* Click through on table

* Tweak unit tests
2025-06-12 12:18:14 +10:00
dependabot[bot] 1818757b79
chore(deps): bump requests from 2.32.3 to 2.32.4 in /src/backend (#9752)
* chore(deps): bump requests from 2.32.3 to 2.32.4 in /src/backend

Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: indirect
...

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

* fix req

---------

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>
2025-06-11 07:11:04 +10:00
Oliver 6b261e122d
Param filters 2 (#9749)
* Filter updates

- Split code
- Allow multiple simultaneous filters against a given parameter
- Bug fixes

* Refactoring

* Cleanup

* fix for operator selection

* Backend fix

* Additional filtering options

* Updated documentation

* Impove filtering logic

* Tweak playwright tests

* Remove debug statements

* Tweak for login test
2025-06-08 22:03:50 +10:00
Oliver 026904b361
Render whole stock location path (#9747)
* Render whole stock location path

- Render location pathstring, not just name
- Brings tables into line with how location is displayed elsewhere
- Closes https://github.com/inventree/InvenTree/issues/9627

* Handle error on worker boot
2025-06-08 11:17:09 +10:00
Matthias Mair 25d13b4201
chore(backend): remove constraints (#9748)
* remove constraints

* general dep bump

* bump opentelemetry
2025-06-08 09:22:10 +10:00
Oliver 4b71130ebe
[Feature] Override global settings (#9718)
* Provide mechanism for config to override global settings

* Ensure overrides are observed on save

* Refactor

* Add "read_only" field to serializer

* Prevent editing for read_only settings

* Bump API version

* Update docs

* Secure logs

* Override applies to default_value

* override get_setting method

* Add unit test

* Utilize new approach to override SITE_URL

* Docs updates

* Docs tweaks

* Shortcut for get_global_setting

* Remove previous change

- Allow validation to be performed within the InvenTreeSetting class

* Override INVENTREE_BASE_URL setting

* Handle error on worker boot

* Tweak unit test
2025-06-07 20:08:34 +10:00
Oliver 12677ccf22
Add barcode actions for SalesOrderShipment (#9746)
* Add barcode actions for SalesOrderShipment

* Handle error on worker boot
2025-06-07 20:08:20 +10:00
Oliver 4660b9477b
[UI] Adjustable column width (#9744)
* Add prop to column def

* Enable resizable columns

* Enable cell wrapping if required

* Tweak CompanyTable

* Remove old setting

* Tweak for PartTable
2025-06-07 19:15:33 +10:00
Oliver 638cb23923
Rearrange UI menu (#9743)
- Better grouping
2025-06-07 18:41:37 +10:00
Oliver 66db58bb36
Add barcode to salesordershipment (#9745)
* Add InvenTreeBarcodeMixin to SalesOrderShipment

* Barcode model type code method added for SalesOrderShipment class

* Add barcode data to SalesOrderShipment serializer

* Bump API version

---------

Co-authored-by: meenaraj22 <meena@blaze.ws>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-06-07 15:51:05 +10:00
Oliver e17904eb56
Simplify checkPluginVersion (#9740) 2025-06-06 18:35:54 +10:00
Matthias Mair 5dc6b7cf51
feat(frontend): make mfa login faster (#9595)
* add hidden field and logic to reduce clicks for mfa logins

* refactor to seperate function to reduce complexity

* fix missing imports

* fix style

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-06-06 15:47:42 +10:00
Oliver 9138bad8bc
[Feature] Filter by parameter (#9739)
* Add shell task

* Filter parts by parameter value

* Allow more operation types

* Working on table filtering

* Filter improvements

* Update on enter key

* Improved query logic

* Enable filter for "generic" parameter types

* Placeholder text

* Documentation updates

* Fix typo

* Fix for boolean part parameter field

* Add API unit testings

* Cleanup

* add playwright tests
2025-06-06 15:06:11 +10:00
Matthias Mair 71abd489ae
chore(backend): bump allauth version (#9714)
* bump allauth

* add trust

* add device trust handling

* fix style

* Update api_version.py

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-06-05 13:27:52 +10:00
Oliver ee67c4f099
Refactor error logging (#9736)
- Ensure plugin slug is correctly attached
- Consistent format
- Logic fixes
2025-06-04 11:36:47 +10:00
Will Bicks 5513291d3f
feat(frontend): Improve barcode scanning text input on Platform UI. (#9655)
* feat(frontend): Add control character handling to barcode text input.

Ports part of 8059fb1e05 to Platform UI.

Fixes #7529.

* feat(frontend): Submit barcode scan on EOT character.

Automatically submits 2D barcode scans when end of transmission character is input.

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-06-04 10:08:13 +10:00
Oliver 24a2279368
Small tweak to UI logic (#9734) 2025-06-03 19:34:49 +10:00
Oliver 11ab0203b1
[plugin] Auto issue orders (#9565)
* Add builtin plugin for auto-issuing orders

* Add plugin to auto-issue orders

* Add placeholder documentation

* Fix typo

* Adds image macro

- To replace img.html
- includes checking if file exists

* Fix tooltips

* More docs

* Adjust plugin settings filters

* docs

* More docs

* More docs

* Updates

* Less restrictive URL checking

* Refactor build order page

* Fix typo

* Allow 429

* Debug output

* More debug

* Construct assets dir

* Cleanup

* Update docs README

* Refactoring more pages

* Fix image link

* Fix SSO settings

* Add hook to check for missing settings

- Ensure that all settings are documented!

* Add missing user settings

* Update docstring

* Tweak SSO.md

* Image updates

* More updates

* Tweaks

* Exclude orders without a target_date

* Fix for issuing build orders

* Further refactoring

* Fixes

* Image refactoring

* More refactoring

* More refactoring

* Refactor app images

* Fix pathing issues

* Suppress some openapidocs warnings in logs

(much easier to debug docs build issues)

* Fix image reference

* Reduce error messages

* Fix image links

* Fix image links

* Reduce docs log output

* Ensure settings are loaded before displaying them

* Fix for UI test

* Fix unit test

* Test tweaks
2025-06-03 17:07:12 +10:00
Oliver 89f8f132e1
Handle case where owner is null (#9732) 2025-06-03 15:57:10 +10:00
Oliver 6d47a0dd16
Add generic StringEnum class (#9731)
* Add generic StringEnum class

* Fix import
2025-06-03 15:03:35 +10:00
Oliver 2f0a2b5abf
Fix style (#9728)
* Fix style

* Adjust unit test
2025-06-03 10:32:18 +10:00
github-actions[bot] 9d9948ed1c
New Crowdin translations by GitHub Action (#9697)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-02 22:25:40 +10:00
Oliver 0826a75ef6
Merge commit from fork
* Make sheet label plugin not mandatory

* Add max limit for 'skip' parameter
2025-06-02 22:23:58 +10:00
Oliver 5c5549c233
Handle failed partial_rebuild (#9723) 2025-06-02 22:21:21 +10:00
Matthias Mair 782ca55887
feat(frontend): add grouping in the admin center (#9596)
* feat(frontend): Add grouping in the admin center

* fix name

* make sections more distinct

* re-arrange sections

* ensure plugin panels work

* fix missing key issue

* fix test name
2025-06-02 22:10:14 +10:00
Oliver e5e6c1b51e
Include currency code in display text (#9717)
* Include currency code in display text

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

* Bump API version
2025-06-02 19:37:11 +10:00
Matthias Mair 7a984f831f
bump backend deps (#9713)
* bump backend deps

* lower xmlsec to fix build

* add permament pin

* lower allauth as there are api changes

* unify dependabot config
2025-06-02 11:26:49 +10:00
github-actions[bot] f9675fc93b
New Crowdin translations by GitHub Action (#9630)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-25 11:46:08 +02:00
Matthias Mair d018bc678e
fix: make error code target more stable using sref (#9689) 2025-05-24 15:16:19 +02:00
gunstr 3d71be3d41
Change color of SO status SHIPPED (#9668) 2025-05-17 07:32:58 +02:00
dependabot[bot] 4347e87253
chore(deps): bump undici from 5.28.5 to 5.29.0 in /src/frontend (#9666)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.5 to 5.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.5...v5.29.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 5.29.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-16 08:04:46 +02:00
Jacob Felknor 5f2cee90af
match YesNoButton green to DetailsBadge green (#9662)
Co-authored-by: Jacob Felknor <jfelknor@firstrf.com>
2025-05-14 17:22:36 +01:00
Oliver aec1de6eb3
Update 0111_auto_20230521_1350.py (#9659)
Make data migration non atomic
2025-05-14 12:46:33 +01:00
Matthias Mair d7c293788b
fix(backend): ensure deps are coupled (#9649)
* fix(backend): ensure deps are coupled

* bump deps

* more constraints

* run dep resolver

* expand resolve even more

* lower lxml / xmlsec

* lower allauth
2025-05-10 22:39:07 +01:00
Matthias Mair 10a729722a
chore: bump react to current major versions (#8913)
* Bump the dependencies group across 1 directory with 58 updates

Bumps the dependencies group with 56 updates in the /src/frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/autocomplete](https://github.com/codemirror/autocomplete) | `6.18.1` | `6.18.3` |
| [@codemirror/lang-liquid](https://github.com/codemirror/lang-liquid) | `6.2.1` | `6.2.2` |
| [@codemirror/language](https://github.com/codemirror/language) | `6.10.3` | `6.10.6` |
| [@codemirror/lint](https://github.com/codemirror/lint) | `6.8.1` | `6.8.4` |
| [@codemirror/search](https://github.com/codemirror/search) | `6.5.6` | `6.5.8` |
| [@emotion/react](https://github.com/emotion-js/emotion) | `11.13.3` | `11.14.0` |
| [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) | `6.6.0` | `6.7.1` |
| [@lingui/core](https://github.com/lingui/js-lingui) | `4.11.4` | `5.1.0` |
| [@lingui/react](https://github.com/lingui/js-lingui) | `4.11.4` | `5.1.0` |
| [@mantine/carousel](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/carousel) | `7.12.2` | `7.15.0` |
| [@mantine/charts](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/charts) | `7.12.2` | `7.15.0` |
| [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core) | `7.12.2` | `7.15.0` |
| [@mantine/dates](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dates) | `7.12.2` | `7.15.0` |
| [@mantine/dropzone](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dropzone) | `7.12.2` | `7.15.0` |
| [@mantine/form](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/form) | `7.12.2` | `7.15.0` |
| [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks) | `7.12.2` | `7.15.0` |
| [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals) | `7.12.2` | `7.15.0` |
| [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications) | `7.12.2` | `7.15.0` |
| [@mantine/spotlight](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/spotlight) | `7.12.2` | `7.15.0` |
| [@mantine/vanilla-extract](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/vanilla-extract) | `7.12.2` | `7.15.0` |
| [@tabler/icons-react](https://github.com/tabler/tabler-icons/tree/HEAD/packages/icons-react) | `3.17.0` | `3.24.0` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.56.2` | `5.62.7` |
| [@uiw/codemirror-theme-vscode](https://github.com/uiwjs/react-codemirror) | `4.23.3` | `4.23.6` |
| [@uiw/react-codemirror](https://github.com/uiwjs/react-codemirror) | `4.23.3` | `4.23.6` |
| [@vanilla-extract/css](https://github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css) | `1.15.5` | `1.16.1` |
| [axios](https://github.com/axios/axios) | `1.7.7` | `1.7.9` |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.1.7` | `3.2.3` |
| [@types/dompurify](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dompurify) | `3.0.5` | `3.2.0` |
| [embla-carousel-react](https://github.com/davidjerleke/embla-carousel) | `8.3.0` | `8.5.1` |
| [mantine-contextmenu](https://github.com/icflorescu/mantine-contextmenu) | `7.12.2` | `7.14.2` |
| [mantine-datatable](https://github.com/icflorescu/mantine-datatable) | `7.12.4` | `7.14.5` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `18.3.1` | `19.0.0` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.8` | `19.0.1` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `18.3.1` | `19.0.0` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.3.0` | `19.0.2` |
| [react-grid-layout](https://github.com/STRML/react-grid-layout) | `1.4.4` | `1.5.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.53.0` | `7.54.0` |
| [react-is](https://github.com/facebook/react/tree/HEAD/packages/react-is) | `18.3.1` | `19.0.0` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `6.26.2` | `7.0.2` |
| [react-select](https://github.com/JedWatson/react-select) | `5.8.1` | `5.8.3` |
| [recharts](https://github.com/recharts/recharts) | `2.12.7` | `2.14.1` |
| [zustand](https://github.com/pmndrs/zustand) | `4.5.5` | `5.0.2` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.25.2` | `7.26.0` |
| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.24.7` | `7.26.3` |
| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) | `7.24.7` | `7.26.0` |
| @codecov/vite-plugin | `1.2.0` | `1.6.0` |
| [@lingui/cli](https://github.com/lingui/js-lingui) | `4.11.4` | `5.1.0` |
| [@lingui/macro](https://github.com/lingui/js-lingui) | `4.11.4` | `5.1.0` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.47.2` | `1.49.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.6.0` | `22.10.2` |
| [@vanilla-extract/vite-plugin](https://github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin) | `4.0.15` | `4.0.18` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `4.3.1` | `4.3.4` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.6.2` | `5.7.2` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.7` | `6.0.3` |



Updates `@codemirror/autocomplete` from 6.18.1 to 6.18.3
- [Changelog](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/autocomplete/compare/6.18.1...6.18.3)

Updates `@codemirror/lang-liquid` from 6.2.1 to 6.2.2
- [Changelog](https://github.com/codemirror/lang-liquid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-liquid/compare/6.2.1...6.2.2)

Updates `@codemirror/language` from 6.10.3 to 6.10.6
- [Changelog](https://github.com/codemirror/language/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/language/compare/6.10.3...6.10.6)

Updates `@codemirror/lint` from 6.8.1 to 6.8.4
- [Changelog](https://github.com/codemirror/lint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lint/compare/6.8.1...6.8.4)

Updates `@codemirror/search` from 6.5.6 to 6.5.8
- [Changelog](https://github.com/codemirror/search/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/search/compare/6.5.6...6.5.8)

Updates `@codemirror/state` from 6.4.1 to 6.5.0
- [Changelog](https://github.com/codemirror/state/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/state/compare/6.4.1...6.5.0)

Updates `@codemirror/view` from 6.33.0 to 6.35.3
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.33.0...6.35.3)

Updates `@emotion/react` from 11.13.3 to 11.14.0
- [Release notes](https://github.com/emotion-js/emotion/releases)
- [Changelog](https://github.com/emotion-js/emotion/blob/main/CHANGELOG.md)
- [Commits](https://github.com/emotion-js/emotion/compare/@emotion/react@11.13.3...@emotion/react@11.14.0)

Updates `@fortawesome/fontawesome-svg-core` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/free-regular-svg-icons` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@fortawesome/free-solid-svg-icons` from 6.6.0 to 6.7.1
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.1)

Updates `@lingui/core` from 4.11.4 to 5.1.0
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/compare/v4.11.4...v5.1.0)

Updates `@lingui/react` from 4.11.4 to 5.1.0
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/compare/v4.11.4...v5.1.0)

Updates `@mantine/carousel` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/carousel)

Updates `@mantine/charts` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/charts)

Updates `@mantine/core` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/core)

Updates `@mantine/dates` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/dates)

Updates `@mantine/dropzone` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/dropzone)

Updates `@mantine/form` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/form)

Updates `@mantine/hooks` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/hooks)

Updates `@mantine/modals` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/modals)

Updates `@mantine/notifications` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/notifications)

Updates `@mantine/spotlight` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/spotlight)

Updates `@mantine/vanilla-extract` from 7.12.2 to 7.15.0
- [Release notes](https://github.com/mantinedev/mantine/releases)
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mantinedev/mantine/commits/7.15.0/packages/@mantine/vanilla-extract)

Updates `@tabler/icons-react` from 3.17.0 to 3.24.0
- [Release notes](https://github.com/tabler/tabler-icons/releases)
- [Commits](https://github.com/tabler/tabler-icons/commits/v3.24.0/packages/icons-react)

Updates `@tanstack/react-query` from 5.56.2 to 5.62.7
- [Release notes](https://github.com/TanStack/query/releases)
- [Commits](https://github.com/TanStack/query/commits/v5.62.7/packages/react-query)

Updates `@uiw/codemirror-theme-vscode` from 4.23.3 to 4.23.6
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.23.3...v4.23.6)

Updates `@uiw/react-codemirror` from 4.23.3 to 4.23.6
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.23.3...v4.23.6)

Updates `@vanilla-extract/css` from 1.15.5 to 1.16.1
- [Release notes](https://github.com/vanilla-extract-css/vanilla-extract/releases)
- [Changelog](https://github.com/vanilla-extract-css/vanilla-extract/blob/master/packages/css/CHANGELOG.md)
- [Commits](https://github.com/vanilla-extract-css/vanilla-extract/commits/@vanilla-extract/css@1.16.1/packages/css)

Updates `axios` from 1.7.7 to 1.7.9
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.7...v1.7.9)

Updates `dompurify` from 3.1.7 to 3.2.3
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.7...3.2.3)

Updates `@types/dompurify` from 3.0.5 to 3.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dompurify)

Updates `embla-carousel-react` from 8.3.0 to 8.5.1
- [Release notes](https://github.com/davidjerleke/embla-carousel/releases)
- [Commits](https://github.com/davidjerleke/embla-carousel/compare/v8.3.0...v8.5.1)

Updates `mantine-contextmenu` from 7.12.2 to 7.14.2
- [Changelog](https://github.com/icflorescu/mantine-contextmenu/blob/main/CHANGELOG.md)
- [Commits](https://github.com/icflorescu/mantine-contextmenu/commits)

Updates `mantine-datatable` from 7.12.4 to 7.14.5
- [Changelog](https://github.com/icflorescu/mantine-datatable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/icflorescu/mantine-datatable/commits)

Updates `react` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react)

Updates `@types/react` from 18.3.8 to 19.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `react-dom` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react-dom)

Updates `@types/react-dom` from 18.3.0 to 19.0.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `react-grid-layout` from 1.4.4 to 1.5.0
- [Release notes](https://github.com/STRML/react-grid-layout/releases)
- [Changelog](https://github.com/react-grid-layout/react-grid-layout/blob/master/CHANGELOG.md)
- [Commits](https://github.com/STRML/react-grid-layout/compare/1.4.4...1.5.0)

Updates `react-hook-form` from 7.53.0 to 7.54.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.53.0...v7.54.0)

Updates `react-is` from 18.3.1 to 19.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.0.0/packages/react-is)

Updates `react-router-dom` from 6.26.2 to 7.0.2
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.0.2/packages/react-router-dom)

Updates `react-select` from 5.8.1 to 5.8.3
- [Release notes](https://github.com/JedWatson/react-select/releases)
- [Changelog](https://github.com/JedWatson/react-select/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/JedWatson/react-select/compare/react-select@5.8.1...react-select@5.8.3)

Updates `recharts` from 2.12.7 to 2.14.1
- [Release notes](https://github.com/recharts/recharts/releases)
- [Changelog](https://github.com/recharts/recharts/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/recharts/recharts/compare/v2.12.7...v2.14.1)

Updates `zustand` from 4.5.5 to 5.0.2
- [Release notes](https://github.com/pmndrs/zustand/releases)
- [Commits](https://github.com/pmndrs/zustand/compare/v4.5.5...v5.0.2)

Updates `@babel/core` from 7.25.2 to 7.26.0
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.0/packages/babel-core)

Updates `@babel/preset-react` from 7.24.7 to 7.26.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.3/packages/babel-preset-react)

Updates `@babel/preset-typescript` from 7.24.7 to 7.26.0
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.0/packages/babel-preset-typescript)

Updates `@codecov/vite-plugin` from 1.2.0 to 1.6.0

Updates `@lingui/cli` from 4.11.4 to 5.1.0
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/compare/v4.11.4...v5.1.0)

Updates `@lingui/macro` from 4.11.4 to 5.1.0
- [Release notes](https://github.com/lingui/js-lingui/releases)
- [Changelog](https://github.com/lingui/js-lingui/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lingui/js-lingui/compare/v4.11.4...v5.1.0)

Updates `@playwright/test` from 1.47.2 to 1.49.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.47.2...v1.49.1)

Updates `@types/node` from 22.6.0 to 22.10.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/react` from 18.3.8 to 19.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 18.3.0 to 19.0.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@vanilla-extract/vite-plugin` from 4.0.15 to 4.0.18
- [Release notes](https://github.com/vanilla-extract-css/vanilla-extract/releases)
- [Changelog](https://github.com/vanilla-extract-css/vanilla-extract/blob/master/packages/vite-plugin/CHANGELOG.md)
- [Commits](https://github.com/vanilla-extract-css/vanilla-extract/commits/@vanilla-extract/vite-plugin@4.0.18/packages/vite-plugin)

Updates `@vitejs/plugin-react` from 4.3.1 to 4.3.4
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.4/packages/plugin-react)

Updates `typescript` from 5.6.2 to 5.7.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.2...v5.7.2)

Updates `vite` from 5.4.7 to 6.0.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.3/packages/vite)

---
updated-dependencies:
- dependency-name: "@codemirror/autocomplete"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/lang-liquid"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/language"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/lint"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/search"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/state"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@codemirror/view"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@emotion/react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@fortawesome/fontawesome-svg-core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@fortawesome/free-regular-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@lingui/core"
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@lingui/react"
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@mantine/carousel"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/charts"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/dates"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/dropzone"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/form"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/hooks"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/modals"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/notifications"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/spotlight"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/vanilla-extract"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@tabler/icons-react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@tanstack/react-query"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@uiw/codemirror-theme-vscode"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@uiw/react-codemirror"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@vanilla-extract/css"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@types/dompurify"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: embla-carousel-react
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: mantine-contextmenu
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: mantine-datatable
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: react-dom
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: react-grid-layout
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-hook-form
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-is
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: react-select
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: recharts
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: zustand
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@babel/preset-react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@babel/preset-typescript"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@codecov/vite-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@lingui/cli"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@lingui/macro"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@vanilla-extract/vite-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
...

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

* fixes for new react, node and zustand versions

* lower react-router-dom and lingui

* fix tests

* fix timout issues temporarly

* ensure hooks render stable

* fix nested renderer

* re-introduce firefox testing

* fix naming

* only run n firefox

* lower run times

* no timeouts

* bump resolution

* adjust versions

* minimize change

* refactor import of shallow

* bump packages further

* fix type

* fix zustand call

* fix resolution

* fix favicon behaviour

* fix loading
see https://github.com/tabler/tabler-icons/issues/1233#issuecomment-2428245119

* fix fetch

* fix merge issues

* fix shallow

* ignore rule

* fix import

* bump playwright

* fix unshallow

* fix another shallow

* fix import

* also log git info

* bump resolution

* bump a bunch of deps

* fix importer

* remove react bump

* lower problematic deps

* reduce diff

* fix bump

* fix def

* only bump zustand

* bump zustand to v5

* add missing shallow

* fix missing shallow

* fix merge

* fix test

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-05-10 22:38:41 +01:00
Joe Rogers e0acfaa762
Fix Generate API schema name mismatch (#9651)
* Match serializer (and schema) to API-returned json data

* Bump schema version
2025-05-09 20:11:16 +01:00
dependabot[bot] d619932ae4
chore(deps): bump django from 4.2.20 to 4.2.21 in /src/backend (#9648)
* chore(deps): bump django from 4.2.20 to 4.2.21 in /src/backend

Bumps [django](https://github.com/django/django) from 4.2.20 to 4.2.21.
- [Commits](https://github.com/django/django/compare/4.2.20...4.2.21)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.21
  dependency-type: direct:production
...

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

* fix req

* adjust setuptools to be equal

* ensure same version is used

* add missing constraint

---------

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>
2025-05-09 07:44:57 +01:00
Ben Hagen 9918f75e89
Add configurable page margins to label sheet plugin (#9641)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-05-08 10:33:08 +01:00
dependabot[bot] f8b87c6e59
chore(deps): bump the dependencies group across 1 directory with 2 updates (#9618)
* chore(deps): bump the dependencies group across 1 directory with 2 updates

Bumps the dependencies group with 2 updates in the /src/backend directory: [django-flags](https://github.com/cfpb/django-flags) and [qrcode[pil]](https://github.com/lincolnloop/python-qrcode).


Updates `django-flags` from 5.0.13 to 5.0.14
- [Release notes](https://github.com/cfpb/django-flags/releases)
- [Changelog](https://github.com/cfpb/django-flags/blob/main/docs/releasenotes.md)
- [Commits](https://github.com/cfpb/django-flags/compare/5.0.13...5.0.14)

Updates `qrcode[pil]` from 8.1 to 8.2
- [Changelog](https://github.com/lincolnloop/python-qrcode/blob/main/CHANGES.rst)
- [Commits](https://github.com/lincolnloop/python-qrcode/commits/v8.2)

---
updated-dependencies:
- dependency-name: django-flags
  dependency-version: 5.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: qrcode[pil]
  dependency-version: '8.2'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix req

---------

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>
2025-05-05 08:21:14 +01:00
dependabot[bot] 3bb43734a1
chore(deps): bump vite from 6.3.2 to 6.3.4 in /src/frontend (#9616)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.2 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-04 22:16:21 +01:00
github-actions[bot] adb2ba3a36
New Crowdin translations by GitHub Action (#9594)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-04 17:22:17 +01:00
Reilly Callaway ea6210d44a
[UI] Add highlightToday to date input (#9575)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-05-04 12:53:02 +01:00
gunstr 6837381101
Add revision to "Used In" table (#9626) 2025-05-04 07:26:27 +01:00
Matthias Mair 22b6dcd6cc
feat: add action to remove all pending tasks (#9600) 2025-05-01 19:19:27 +01:00
dependabot[bot] bd1fd9305d
Bump vite from 6.2.6 to 6.2.7 in /src/frontend (#9609)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.6 to 6.2.7.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.7
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-30 22:34:26 +01:00
Matthias Mair 9f0354b315
fix(backend): Make task registering more robust (#9586)
* Make task registering more robust
See https://github.com/inventree/InvenTree/issues/9579

* add unit test
2025-04-29 12:15:26 +01:00
Lukas cee679d6e3
fix pdf preview with background worker (#9591) 2025-04-28 07:13:18 +08:00
github-actions[bot] fc42b6d7a1
New Crowdin translations by GitHub Action (#9588)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-04-27 20:05:55 +08:00
Matthias Mair 9729c41783
bump babel further (#9589) 2025-04-26 11:23:22 +10:00
dependabot[bot] 964a14754e
Bump the dependencies group across 1 directory with 2 updates (#9585)
* Bump the dependencies group across 1 directory with 2 updates

Bumps the dependencies group with 2 updates in the /src/backend directory: [django-q2](https://github.com/GDay/django-q2) and [sentry-sdk](https://github.com/getsentry/sentry-python).


Updates `django-q2` from 1.7.6 to 1.8.0
- [Release notes](https://github.com/GDay/django-q2/releases)
- [Changelog](https://github.com/django-q2/django-q2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/GDay/django-q2/compare/v1.7.6...v1.8.0)

Updates `sentry-sdk` from 2.26.1 to 2.27.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.26.1...2.27.0)

---
updated-dependencies:
- dependency-name: django-q2
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix req

* sync setuptools

* Add missing API key - see https://github.com/inventree/InvenTree/actions/runs/14673293670/job/41184590051?pr=9585#step:5:1230

* fix this call too

* add an easier to debug assert

* ensure token is set

---------

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>
2025-04-26 10:01:38 +10:00
Matthias Mair 2ed3e61a57
chore(frontend): bump dep resolution (#9523)
* chore(frontend): bump dep resolution
to adress GHSA-968p-4wvh-cqc8

* fix @types/react resolution

* reduce range of bumped deps
2025-04-26 08:07:12 +10:00
gunstr ee29e6aa7b
Add revison column to BO table (#9580) 2025-04-25 09:39:39 +10:00
Matthias Mair c41760a500
chore: bump zustand (#9577)
* bump zustand to v5

* add missing shallow

* fix missing shallow

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-04-25 09:39:08 +10:00
Matthias Mair 71cf9f5452
[FR] Save widget state per user (#9567)
* [FR] Save widget state per user
Fixes #9562

* cleanup

* fix doc strings

* add reset stage
2025-04-24 17:29:28 +10:00
github-actions[bot] c6907a0bf2
New Crowdin translations by GitHub Action (#9543)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-22 22:09:24 +10:00
Oliver 527652007e
Remove trailing slash from SITE_URL (#9559)
- ref: https://github.com/inventree/InvenTree/discussions/9552
- ref: https://stackoverflow.com/questions/56404930/when-trying-set-corsheaders-in-settings-py-file
2025-04-22 12:29:11 +10:00
Joe Rogers 0bf1ab250f
Schema: Require pagination limit parameter (#9547)
* Ensure pagination limit is set on schema list queries

* Bump api version

* Update api_version.py

* Bump version again

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-04-22 10:02:03 +10:00
Oliver 89b3f91ded
Update notification fetching (#9557)
- Reduce interval to 1 minute
- Only fetch for visible tab
2025-04-22 09:52:50 +10:00
Oliver 6b08e45eac
Docs refactor (#9545)
* Refactor / reognaize docs structure

* Refactor plugin docs structure

* More refactoring / cleanup

* Update build images

* Gallery updates

* Order images

* Update part docs

* Settings images

* Stock images

* Reitntroduce gallery

* Add custom icon macro

* Update icons

* Cleanup

* Fix link

* Fix internal links

* Revert some page moves

* Fix links

* Fix links
2025-04-22 08:18:32 +10:00
Oliver e249a21622
Url fix 2 (#9548)
* Logic fix

* Playwright test

* Revert "Playwright test"

This reverts commit a63b23961e.

* Simplify test

* Cleanup test
2025-04-21 17:42:22 +10:00
Joe Rogers 0de8e61d53
Schema: Mark nullable fields (#9546)
* Add allow_null to nullable fields

* Fix serializer for InfoApi, add nullable flags

* Bump api version

* Fix incorrectly replaced required tag
2025-04-21 16:59:23 +10:00
Oliver bd74044ed9
Display "default expiry" on part detail page (#9549) 2025-04-21 16:23:01 +10:00
Oliver 79dad13328
[UI] Barcode actions (#9538)
* Provide callback function for barcode scan dialog

* Adds hook for barcode scan dialog

* Fix callback processing

* Add function to extract API URL for a model instance

* Tweak page titles

* Extract instance data when scanning a barcode

* Scan item into location

* Scan in stock location

* Remove notYetImplemented func

* Revert "Remove notYetImplemented func"

This reverts commit a35408380e.

* Add stock item action

* Add playwright tests
2025-04-21 08:42:54 +10:00
Oliver 7d87b8b896
[UI] Add CUI compatibility URLs (#9541)
* Add CUI compatibility URLs

* Add config option to enable URL compatibility

* Add unit tests

* Simplify tests
2025-04-21 08:27:41 +10:00
Matthias Mair 1dae1bc906
fix(backend): Better error handling for report template generation (#9534)
found in https://github.com/inventree/InvenTree/actions/runs/14535795056/job/40783805508?pr=9523
2025-04-21 00:00:05 +10:00
Oliver 13412adeb3
Reduce notification check frequency (#9542) 2025-04-20 11:42:30 +10:00
github-actions[bot] 64f72381a1
New Crowdin translations by GitHub Action (#9529)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-20 11:23:21 +10:00
Matthias Mair 6b0a082b5a
feat: New / Refactor "Nav Mixin" (#9283)
* [FR/P-UI] New / Refactor "Nav Mixin"
Fixes #5269

* remove logging

* fix sample item that causes issues

* Add test coverage

* Update src/frontend/src/components/plugins/PluginUIFeatureTypes.ts

Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com>

* [FR/P-UI] New / Refactor "Nav Mixin"
Fixes #5269

* fix style

* remove requirement for source

* fix import

* bump api version

---------

Co-authored-by: Lukas <76838159+wolflu05@users.noreply.github.com>
2025-04-20 11:22:58 +10:00
dependabot[bot] 35150e3bd3
Bump the dependencies group across 1 directory with 2 updates (#9536)
* Bump the dependencies group across 1 directory with 2 updates

Bumps the dependencies group with 2 updates in the /src/backend directory: [pdfminer-six](https://github.com/pdfminer/pdfminer.six) and [django-money](https://github.com/django-money/django-money).


Updates `pdfminer-six` from 20250327 to 20250416
- [Release notes](https://github.com/pdfminer/pdfminer.six/releases)
- [Changelog](https://github.com/pdfminer/pdfminer.six/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pdfminer/pdfminer.six/commits)

Updates `django-money` from 3.5.3 to 3.5.4
- [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.5.3...3.5.4)

---
updated-dependencies:
- dependency-name: pdfminer-six
  dependency-version: '20250416'
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: django-money
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

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

* fix req

---------

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>
2025-04-20 09:56:52 +10:00
Oliver 8d48f9cecd
Fix for URL validation (#9539)
* FIx for URL validation

* Further fixes
2025-04-20 00:21:59 +10:00
Matthias Mair 9a49c9f19c
feat(backend): clearer behaviour on missing migrations (#9527)
* feat(backend): better warning on missing migrations

* add debug info to some tasks

* ensure db would even be accessed before raising concerns

* add more markers

* Add decorator to log flow

* reduce calls

* reduce fnc down
2025-04-19 08:03:16 +10:00
Matthias Mair 8bb03b7afd
feat(backend): add oauth2 (#9333)
* feat(backend): add oauth2

* fix import

* Add inventree roles

* refactor to make lookup more efficient

* fix single scope definitions

* cleanup

* fix schema

* reduce auth methods

* fix OAuth validator

* re-enable token and basic auth again

* Add models to role mapping

* change scope args

* add debug step for schema generation

* add oauth config for schema generation

* improve token -> permission mapping

* fix req

* extend checks to ensure normal auth also passes

* fix api version

* fix ignore

* fix rule name

* bump api version

* remove old modelref

* move scope definition

* make test results easier to work with

* add tests to ensure scopes are in sync with rulesets

* fix docstring

* fix various permissions and their mapping to oauth

* refactor

* simplify

* fix permission mapping

* ignore failure cases

* fix unauthenticated access

* flag oAuth2 till it is done

* Add OIDC support

* add RSA key generation and docs

* fix test

* move imports

* update ignore

* feat(backend): Add API Schema stats

* add scope stats

* fix name

* fix scope output

* feat(backend): test custom command

* add warning for unknown scopes

* reduce diff in launch.json

* cleanup  diff

* add error code for ruleset / scope issues

* update structure

* add oauth docs

* add experimetnal feature docs

* simplify metadata endpoint

* add importer model

* refactor(backend): simplify metadata endpoint

* fix imports

* simplify even more

* remove unneeded schema tooling

* fix permission mappings

* fix testing

* fix role calculations

* fix mapping

* remove importer change to unblock this

* remove importer scope everywhere

* fix merge conflict in test

* add missing models

* fix api version

* fix OASToken matcher

* revert permission class change

* reduce size of test log by writing schema

* fix permissions

* fix file path

* extend schema to remove need for TokenMatchesOASRequirements

* cleanup permissions file

* add base object permission
2025-04-18 19:27:32 +10:00
Oliver afbcfe66bb
Fix for email sending (#9526)
* Fix for email sending

- Extract valid email for user
- Do not send if email not configured for user

* Improve email address filtering logic

* Fix return type hint
2025-04-17 17:29:26 +10:00
github-actions[bot] 62d058f0e3
New Crowdin translations by GitHub Action (#9508)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-17 13:17:41 +10:00
dependabot[bot] 1269fefa0e
Bump the dependencies group across 1 directory with 4 updates (#9512)
* Bump the dependencies group across 1 directory with 4 updates

Bumps the dependencies group with 4 updates in the /src/backend directory: [django-structlog](https://github.com/jrobichaud/django-structlog), [pillow](https://github.com/python-pillow/Pillow), [sentry-sdk](https://github.com/getsentry/sentry-python) and [weasyprint](https://github.com/Kozea/WeasyPrint).


Updates `django-structlog` from 9.0.1 to 9.1.1
- [Changelog](https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst)
- [Commits](https://github.com/jrobichaud/django-structlog/compare/9.0.1...9.1.1)

Updates `pillow` from 11.1.0 to 11.2.1
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.1.0...11.2.1)

Updates `sentry-sdk` from 2.25.1 to 2.26.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.25.1...2.26.1)

Updates `weasyprint` from 65.0 to 65.1
- [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/v65.0...v65.1)

---
updated-dependencies:
- dependency-name: django-structlog
  dependency-version: 9.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pillow
  dependency-version: 11.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.26.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: weasyprint
  dependency-version: '65.1'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

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

* fix req

---------

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>
2025-04-16 17:07:55 +10:00
Oliver 204e2e6d46
Edit BOM substitutes (#9521)
* Edit BOM substitutes

* Add playwright tests
2025-04-16 14:38:59 +10:00
Oliver 0707ebf59b
Remove unimplemented action (#9520)
- Duplication will have to wait until we move away from file-based templates
2025-04-16 10:59:51 +10:00
Matthias Mair 9ab82a187e
fix(ci): dependabot config (#9514)
* fix(ci): dependabot config

* bump now updatable lingui/cli
2025-04-16 08:04:54 +10:00
Matthias Mair 4c830fb167
fix(backend): reduce noice in docker image start (#9515)
make dulwich detection less loud
2025-04-16 07:21:48 +10:00
Oliver 5e7e258289
[Plugin] Plugin context (#9439)
* Pass more stuff to window

* Expose form functions to plugin context

* Breaking: Render plugin component in context tree

- Required due to createRoot function
- Adds necessary context providers

* Fix context

* Provide MantineThemeContext

* Bundle mantine/core

* Hack for useNavigate within ApiForm

- Errors out if called within plugin context
- Workaround to catch the error

* Update build cmd

* Define config for building "Library" mode

* Update package.json

* Add basic index file

* Factor out ApiEndpoints

* factor out ModelType

* Factor out role enums

* Further refactoring

* More refactoring

* Cleanup

* Expose apiUrl function

* Add instance data to plugin context type def

* Tweaks for loading plugin components

- LanguageContext must be on the inside

* Tweak StylishText

* Externalize notifications system

* Update lingui config

* Add functions for checking plugin interface version

* Extract package version at build time

* Enhance version checking

* Revert variable name change

* Public package

* Add README.md

* adjust packge name

* Adjust name to include org

* Update project files

* Add basic changelog info

* Refactoring to expose URL functions

* Refactor navigation functions

* Update package and README

* Improve navigateToLink function

* Refactor stylish text

- Move into ./lib
- Do not require user state

* Revert changes

- StylishText throws error in plugin
- Low priority, can work out later

* expose function to refresh page index

* Provide RemoteComponent with a method to reload itself

* Bump version

* Cleanup tests

* Prevent duplicate --emptyOutDir arg

* Tweak playwright tests

* Expose role and permission enums

* Fix imports

* Updated docs

* Fix spelling, typos, etc

* Include more package version information

* Expose more version context

* Cleanup

* Probably don't need hooks

* Fix links

* Docs updates

* Fix links
2025-04-16 00:30:34 +10:00
Oliver 448d24de21
[UI] Serial Number Navigation (#9505)
* Add checkClose function to forms

- Allow custom check for whether form should be closed

* Add form to jump to serial number

* Tweak stock detail display

* Remove dead field

(might fix later, but it's hard with the current API)

* Add some icons

* Enhance extract_int functionality

* Add API endpoint for "next" and "previous" serials for a given stock item

* Add serial number navigation on stock item page

* Add playwright tests

* Bump API version

* Fix for serial number clipping

* Another tweak
2025-04-15 12:42:25 +10:00
github-actions[bot] 8d44a0d330
New Crowdin translations by GitHub Action (#9489)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-15 11:39:30 +10:00
Matthias Mair 4f110e399d
refactor(backend): Remove custom role admin (#9500)
See https://github.com/inventree/InvenTree/pull/9476#issuecomment-2791584989
2025-04-14 09:05:18 +10:00
dependabot[bot] efce72b242
Bump vite from 6.2.5 to 6.2.6 in /src/frontend (#9496)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.5 to 6.2.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-12 08:04:28 +10:00
Joe Rogers 195cecb35b
Schema: Batch of small fixes (#9492)
* Fix AllUnitList schema operation and serializer to match actual response

* Fix LicenseViewSerializer to match actual response

* Remove references to credits page (removed in #8811)

* Allow null commit_branch for detatched HEAD state

* Fix version formatting, add test, clean up parser

* Fix schema mapping and return type for VersionTextView

* Fix and test version off-by-one bug

* API version bump

* Merge version tests, enforce more formatting constraints for parsing
2025-04-11 14:22:01 +10:00
Oliver 15be7ab988
[Refactor] Users and Groups (#9476)
* Cleanup UserDetail page

* Cleanup display

* Re-use UserTable

* Add 'users' permission role

* Check user roles in "admin center"

* Revert "Add 'users' permission role"

This reverts commit 35b047b2f9.

* Improve display logic

* Expose group rule-sets to API

* Prefetch rule_sets

* Add 'label' to RuleSetSerializer

* Add basic RuleSet table

* Add API endpoints for RuleSet model

* Edit group roles via table

* Refactor user permissions checks

- Remove duplicate function calls
- Refactor permission checks into new file

* Further refactoring

* Even more refactoring

* Fix user settings permission

* Add TransferList component

* Tweak GroupDrawer

* Tweak UserDrawer

* adjust user groups via API / UI

* Allow "users" detail on Group API

* Bump API version

* Enumeration of RuleSet name

* Update

* Add permission check

* Update src/frontend/src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx

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

* uncomment warning

* Extend enum usage

* More checks

* Bug fix

* Fix permission checks

* Additional testing for user roles endpoint

* Updated permission classes

- RolePermission with read-only fallback
- RolePermission with additional staff requirement

* Do not allow creation of new RuleSet objects

* Cleanup permission checks and unit tests

* Cleanup UI permission checks

* Updated class dostrings

* Cleanup

* Cleanup permission checks for UserTable

* Add playwright tests for "permission" checks

- Basic for now
- Can be extended in the future

* Tweak unit tests

* Adjust layout of warning / error messages

* Tweak group table logic

* Table cleanup

* Display roles associated with a particular group

* Cleanup

* Tweak user detail page

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-04-10 15:19:24 +10:00
Matthias Mair dc1acfdacb
refactor(backend): metadata endpoint (#9488)
* refactor(backend): simplify metadata endpoint

* fix imports

* simplify even more

* remove unneeded schema tooling

* fix attr handling
2025-04-10 09:09:52 +10:00
Oliver 4ea8f68819
Adjust layout of warning / error messages (#9484) 2025-04-10 06:49:00 +10:00
Matthias Mair bb1faf236a
feat(backend): api schema stats (#9478)
* feat(backend): Add API Schema stats

* add scope stats

* fix scope output
2025-04-09 07:38:03 +10:00
Matthias Mair 2987cdfbb2
feat(backend): test custom command (#9479) 2025-04-09 07:37:28 +10:00
github-actions[bot] 2eb0331ddd
New Crowdin translations by GitHub Action (#9474)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-09 00:31:32 +10:00
Matthias Mair 0d6c47fcd5
fix(backend): repair remaining schema generation errors (#9453)
* Remove hardcoded currency enum from schema

* Convert schema custom key enums to int to allow customized keys to validate

* Convert stock status key enums to int to allow customizations to
validate in schema

* api version bump

* fix remaining operationId errors

* fix errors

* fix another error

* fix missing model

* ensure we do not ignore warnings anymore

* Restore enumerated help text for currencies

* Remove commented block of old code

* Restore custom key enumerated values to schema documentation

* Restore status key enumeration to schema documentation

* fix more enums

* Add debug definitions for schema generation

* fix schema generation for PluginRelationSerializer

* add migrations

* fix enum names for allauth schema duplications

* bump api version

---------

Co-authored-by: Joe Rogers <1337joe@gmail.com>
2025-04-08 22:09:57 +10:00
Joe Rogers f87f4387ed
Schema: (Redo) Remove hardcoded enum values from customizable fields (#9452)
* Remove hardcoded currency enum from schema

* Convert schema custom key enums to int to allow customized keys to validate

* Convert stock status key enums to int to allow customizations to
validate in schema

* api version bump

* Restore enumerated help text for currencies

* Remove commented block of old code

* Restore custom key enumerated values to schema documentation

* Restore status key enumeration to schema documentation
2025-04-08 15:31:40 +10:00
github-actions[bot] 1cab0a1914
New Crowdin translations by GitHub Action (#9438)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-07 23:03:41 +10:00
Oliver 3cd07c9da9
Cleanup tests (#9470) 2025-04-07 12:12:56 +10:00
dependabot[bot] 3cfab8e7ed
Bump the dependencies group across 1 directory with 16 updates (#9459)
* Bump the dependencies group across 1 directory with 16 updates

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

| Package | From | To |
| --- | --- | --- |
| [coverage[toml]](https://github.com/nedbat/coveragepy) | `7.6.12` | `7.8.0` |
| [cryptography](https://github.com/pyca/cryptography) | `44.0.1` | `44.0.2` |
| [isort](https://github.com/PyCQA/isort) | `6.0.0` | `6.0.1` |
| [pdfminer-six](https://github.com/pdfminer/pdfminer.six) | `20240706` | `20250327` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.1.0` | `4.2.0` |
| [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr) | `65.4.1` | `65.7.0` |
| [django-maintenance-mode](https://github.com/fabiocaccamo/django-maintenance-mode) | `0.21.1` | `0.22.0` |
| [django-mptt](https://github.com/django-mptt/django-mptt) | `0.16.0` | `0.17.0` |
| [django-otp](https://github.com/django-otp/django-otp) | `1.3.0` | `1.6.0` |
| [djangorestframework-simplejwt[crypto]](https://github.com/jazzband/djangorestframework-simplejwt) | `5.4.0` | `5.5.0` |
| [dulwich](https://github.com/dulwich/dulwich) | `0.22.7` | `0.22.8` |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.0.1` | `1.1.0` |
| [qrcode[pil]](https://github.com/lincolnloop/python-qrcode) | `8.0` | `8.1` |
| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.12.1` | `3.13.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.22.0` | `2.25.1` |
| [weasyprint](https://github.com/Kozea/WeasyPrint) | `64.1` | `65.0` |



Updates `coverage[toml]` from 7.6.12 to 7.8.0
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.6.12...7.8.0)

Updates `cryptography` from 44.0.1 to 44.0.2
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/44.0.1...44.0.2)

Updates `isort` from 6.0.0 to 6.0.1
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PyCQA/isort/compare/6.0.0...6.0.1)

Updates `pdfminer-six` from 20240706 to 20250327
- [Release notes](https://github.com/pdfminer/pdfminer.six/releases)
- [Changelog](https://github.com/pdfminer/pdfminer.six/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pdfminer/pdfminer.six/commits)

Updates `pre-commit` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.1.0...v4.2.0)

Updates `django-allauth[mfa,openid,saml,socialaccount]` from 65.4.1 to 65.7.0
- [Commits](https://github.com/sponsors/pennersr/commits)

Updates `django-maintenance-mode` from 0.21.1 to 0.22.0
- [Release notes](https://github.com/fabiocaccamo/django-maintenance-mode/releases)
- [Changelog](https://github.com/fabiocaccamo/django-maintenance-mode/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fabiocaccamo/django-maintenance-mode/compare/0.21.1...0.22.0)

Updates `django-mptt` from 0.16.0 to 0.17.0
- [Release notes](https://github.com/django-mptt/django-mptt/releases)
- [Changelog](https://github.com/django-mptt/django-mptt/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/django-mptt/django-mptt/compare/0.16...0.17)

Updates `django-otp` from 1.3.0 to 1.6.0
- [Changelog](https://github.com/django-otp/django-otp/blob/master/CHANGES.rst)
- [Commits](https://github.com/django-otp/django-otp/compare/v1.3.0...v1.6.0)

Updates `djangorestframework-simplejwt[crypto]` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/jazzband/djangorestframework-simplejwt/releases)
- [Changelog](https://github.com/jazzband/djangorestframework-simplejwt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jazzband/djangorestframework-simplejwt/compare/v5.4.0...v5.5.0)

Updates `dulwich` from 0.22.7 to 0.22.8
- [Release notes](https://github.com/dulwich/dulwich/releases)
- [Changelog](https://github.com/jelmer/dulwich/blob/master/NEWS)
- [Commits](https://github.com/dulwich/dulwich/compare/dulwich-0.22.7...dulwich-0.22.8)

Updates `python-dotenv` from 1.0.1 to 1.1.0
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.1.0)

Updates `qrcode[pil]` from 8.0 to 8.1
- [Changelog](https://github.com/lincolnloop/python-qrcode/blob/main/CHANGES.rst)
- [Commits](https://github.com/lincolnloop/python-qrcode/commits)

Updates `rapidfuzz` from 3.12.1 to 3.13.0
- [Release notes](https://github.com/rapidfuzz/RapidFuzz/releases)
- [Changelog](https://github.com/rapidfuzz/RapidFuzz/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/rapidfuzz/RapidFuzz/compare/v3.12.1...v3.13.0)

Updates `sentry-sdk` from 2.22.0 to 2.25.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.22.0...2.25.1)

Updates `weasyprint` from 64.1 to 65.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/v64.1...v65.0)

---
updated-dependencies:
- dependency-name: coverage[toml]
  dependency-version: 7.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: cryptography
  dependency-version: 44.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: isort
  dependency-version: 6.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pdfminer-six
  dependency-version: '20250327'
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: pre-commit
  dependency-version: 4.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-allauth[mfa,openid,saml,socialaccount]
  dependency-version: 65.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-maintenance-mode
  dependency-version: 0.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-mptt
  dependency-version: 0.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-otp
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: djangorestframework-simplejwt[crypto]
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: dulwich
  dependency-version: 0.22.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: python-dotenv
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: qrcode[pil]
  dependency-version: '8.1'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: rapidfuzz
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: weasyprint
  dependency-version: '65.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
...

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

* fix req

* lower django-otp

---------

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>
2025-04-07 09:05:38 +10:00
Oliver ac181140c9
[UI] Row hover (#9465)
* Add red color

* Improve table cursor

- Show "pointer" (hand) icon when actions available
- Improve context menu
2025-04-06 12:31:28 +10:00
dependabot[bot] 6b28bcca70
Bump vite from 6.2.4 to 6.2.5 in /src/frontend (#9457)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.4 to 6.2.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.5/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.5
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-05 15:55:32 +11:00
Oliver 544a3c6263
Notification permissions (#9449)
* Updated type hints

* Fix tooltip bug

* Check user when sending notification

* Fix test

* Update unit test

* More unit test fixes

* Tweak playwright tests
2025-04-05 10:30:58 +11:00
Oliver f66efa7733
Handle potential null header (#9462) 2025-04-05 09:45:13 +11:00
Joe Rogers 721f56f36e
Wrap values() call in list to fix type error (#9460) 2025-04-05 09:13:53 +11:00
Jacob Felknor 6021035e3f
User Setting To Search Notes (#9393)
* add search notes and tie user search settings to checkboxes in search drawer

* add user setting to optionally search the notes of objects

* add search filter test

* add PR link

* add limit parameter

* typo, meant to check part result

* resolve api_version.py conflict

* don't use search_whole and search_regex together

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-04-04 09:22:39 +11:00
Matthias Mair a2370dbe59
fix(backend): enforce docstring args (#9428)
* enforce docstring args

* add more rules that we could add later

* fix missing yields

* add a type

* make 3.9 compat
2025-04-04 09:02:55 +11:00
Matthias Mair b48ceb00f2
refactor(frontend): seperate Alerts into own component (#9442)
* refactor(frontend): seperate Alerts into own component

* refactor debug mode info

* add error code for debug mode and render help links in alerts

* add error message for background worker

* add error code for server restart required

* Add error code for missing email settings

* fix various typings

* add error code for missing migrations
2025-04-03 18:03:07 +11:00
Oliver c4f98cd6a1
Report cache fix (#9447)
* Adjust allowed CORS headers

* Disable caching in template preview
2025-04-03 15:11:36 +11:00
Oliver 9c419e6ac1
Notify subscribed users (#9446)
* Update docstrings

* Update 'notify_responsible' function

* Update build notifications

* Update notifications for external orders

* Update more notifications

* Notify for overdue return orders

* Fix typos

* Fixes
2025-04-03 13:42:21 +11:00
Oliver 67bdf3162a
Update overdue order notification (#9444)
* Update overdue order notification

- Check individual line items too

* Fix typo
2025-04-03 11:22:23 +11:00
Oliver a18b18a3fd
Serialize stock fix (#9441)
* Fix bug which hid the "serialize stock" button

* Add playwright tests

* Adjust check
2025-04-03 07:48:12 +11:00
Lukas 75b47f8d09
Typed report context (#9431)
* add typed report context

* make it py3.9 compatible

* fix docs

* debug docs

* fix for py 3.9

* add requested error codes
2025-04-03 07:45:37 +11:00
Joe Rogers b2db0b67e0
Clean up various schema generator warnings (#9437)
* Add default metadata model for schema generation

* Add type hints and annotations where needed for schema generation

* Bump api version

* Fix version bump
2025-04-02 14:34:58 +11:00
github-actions[bot] 15933a6b3a
New Crowdin translations by GitHub Action (#9337)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-02 10:52:59 +11:00
Lukas ba703cf58a
Template Editor Improvements (#9434)
* add unmount hook and context to report editor ui feature

* Fix tests

* Update pui_printing.spec.ts

* Update pui_printing.spec.ts

* try fix tests

* retrigger ci

* remove debug messages
2025-04-02 09:01:12 +11:00
dependabot[bot] 6a964a4e2b
Bump vite from 6.2.3 to 6.2.4 in /src/frontend (#9429)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.3 to 6.2.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 17:26:22 +11:00
Joe Rogers 33cc86a603
Add request body to schema for bulk delete operations, deconflict list (#9420)
* Add request body to schema for bulk delete operations, deconflict list
vs single delete operation ids

* API version bump

* Fix variable name conflict

* Switch from post-processing hook to AutoSchema extension

* Loosen typing on filter dict, correct expected code in tests

* Filter by view class instead of path

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-04-01 10:38:17 +11:00
Oliver fcc6709b3f
Revert some playwright changes (#9419)
* Revert some playwright changes

- Use vite dev server all the time

* Simplify test
2025-03-31 20:12:26 +11:00
Oliver f7a4469590
Download params (#9413)
* Pass extra options through to data export plugins

* Add PartParameterExporter plugin

- Useful for including part parameter data in exporter

* Fix bug in InvenTreeTableHeader

* enable export for partparametertable

* Simplify tests

* Add typing hints
2025-03-31 19:45:59 +11:00
Oliver 66d5180d8f
[UI] Improve order parts wizard (#9389)
* [UI] Improve order parts wizard

- Enhance placeholder text
- Precalculate order quantity

* Tweak playwright tests

* Simplify tests
2025-03-31 18:19:21 +11:00
Joe Rogers 2457dfee70
Use int PK instead of regex string in API endpoints (#9399)
* Convert company api endpoints to use int PK instead of regex string

* Convert additional path PK strings to ints
2025-03-30 15:54:19 +11:00
Oliver 7f5a447769
[CI] Playwright improvements (#9395)
* Allow port 4173 (vite preview)

* Change 'base' attr based on vite command

* Allow api_host to be specified separately

* Harden API host functionality

* Adjust server selections

* Cleanup vite.config.ts

* Adjust playwright configuration

- Allow to run in "production" mode
- Builds the code first
- Runs only the backend web server
- Not suitable for coverage

* Tweak github actions

* Tweak QC file

* Reduce number of steps

* Tweak CI file

* Fix typo

* Ensure translation before build

* Fix hard-coded test

* Test tweaks

* uncomment

* Revert some changes

* Run with gunicorn, single worker

* Reduce log output in DEBUG mode

* Update deps

* Add global-setup func

* Fix for .gitignore file

* Cached auth state

* Tweak login func

* Updated tests

* Enable parallel workers again

* Simplify config

* Try with a single worker again

* Single retry mode

* Run auth setup first

- Prevent issues with parallel test doing login

* Improve test setup process

* Tweaks

* Bump to 3 workers

* Tweak playwright settings

* Revert change

* Revert change
2025-03-30 14:12:48 +11:00
Matthias Mair 858eb8f807
chore(backend): bump drf (#9407)
* chore(backend): bump drf

* bump api
2025-03-30 14:11:23 +11:00
Oliver 49d088893f
Improve custom maintenance mode backend (#9396)
* Improve custom maintenance mode backend

- Utilizing global settings functions
- Will use global cache if available
- Fewer DB hits per request

* Twaeak query limits
2025-03-27 15:56:00 +11:00
Oliver 99ec486b79
[Docker] Update node version (#9383)
* Update node version

* Install nvm

* Use n instead of nvm

* Use same approach in devcontainer

* nvm -> npm

* Split commands

* Fix typo

* Workaround : install bash

* Tweak playwright tests

* Bump number of retries

* Update deps

* Only one worker

* SEcurity fix

* Adjust
2025-03-27 01:25:58 +11:00
Oliver c4cf9ecd94
[UI] Allocation content (#9377)
* Refactor variable name

* Add part information when allocating serial numbers

- Easier identification of which part is being allocated

* Fix for part stock rendering
2025-03-26 16:03:16 +11:00
Oliver 59f22a1627
Dayjs updates (#9388)
* Update Scan.tsx

* Tweak Scan.tsx
2025-03-26 14:27:55 +11:00
Jacob Felknor 2bd26c0f49
use dayjs in datefield (#9380) 2025-03-26 10:35:26 +11:00
Matthias Mair d8f5a56064
fix(backend): Bump maybe vulnerable esbuild (#9155)
* fix(backend): Bump vulnerable vanilla-extract

* bump deps futher

* remove @types/dompurify

* bump @lingui

* use more modern image
20.04 ships with node 18 as default, 24.04 with 20

* bump rest of image deps

* bump deps

* bump base deps

* bump resolution

* lower resolution

* fix resolution

* update lingui

* switch to build-in macro

* fix imports
2025-03-26 09:30:59 +11:00
gunstr a6e4742ce4
Show part revision in Build Details panel (#9373) 2025-03-25 10:57:16 +11:00
Matthias Mair 42dcc01f9d
feat: Add email notification when a part is changed (#9275)
* Add function to star / unstar a part

* Also use with category

* Email notification when a part is changed
Fixes #7834

* enable disabling of recent checks

* Add error handler

* remove unneeded function
2025-03-25 09:21:11 +11:00
Oliver 357c1ae0bc
Add upload progress to attachment table (#9371) 2025-03-24 23:11:28 +11:00
Jacob Felknor f5e6352181
fix contact copy, add email/phone if they exist (#9354) 2025-03-24 21:19:04 +11:00
Oliver 136e179cc4
[UI] Alerts (#9365)
* remove TODO (now implemented)

* Add Mantine tooltips

* Add "alerts" to header

* Add more alert types
2025-03-24 20:45:34 +11:00
Oliver 8997f193c9
[UI] Edit fix (#9367)
* Fix for editing stock location

* Fix for editing part category
2025-03-24 19:24:23 +11:00
Jacob Felknor 3ec8832925
create allauth email from django_auth_ldap if configured (#9350) 2025-03-21 13:48:30 +11:00
Matthias Mair bd0dc3fe50
feat(frontend): Improve comms around authentication (#9348)
* use enum for flow authentication

* fix inaccurate texts

* add a better user info on login

* fix test assertation
2025-03-21 13:42:50 +11:00
Oliver cb240e4e0f
[UI] Icons in navbar (#9346)
* Add Icons to main header

* Add user configurability
2025-03-20 10:19:50 +11:00
Oliver bdc5f9e84e
[Feature] Mandatory Plugins (#9339)
* Define which builtin plugins are always-active

* Adds 'mandatory' property to PluginConfig

* Update API / frontend

* Fix form method

* Tweaks

* Bump API version

* Tweak unit tests
2025-03-20 10:19:31 +11:00
Oliver ae1ec31ca9
Bug fix for activating plugins via UI (#9338) 2025-03-20 09:16:31 +11:00
Lukas 3260d94369
added some visual improvements (#9342)
* added some visual improvements

* fix lint

* Undo changes to sample icons for now

* use primary color
2025-03-20 08:24:35 +11:00
Oliver cfd83a3d62
[UI] Stylish text tweak (#9336)
* Update <StylishText>

- Re-enable gradient
- Based on selected highlight color

* Refactor UI

* Do not require size prop

* Memoize
2025-03-20 07:09:38 +11:00
Oliver 662a0b275e
[UI] Web Prefix (#9334)
* [UI] Change default web prefix

- Adjust default from "platform" to "web"
- Much more standard prefix

* Cleanup

* Fixes for playwright tests

* Fix unit tests

* Refactor base_url into getBaseUrl
2025-03-20 00:12:52 +11:00
github-actions[bot] 832d884c85
New Crowdin translations by GitHub Action (#9314)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-18 19:22:20 +11:00
Oliver 8d51aa1563
[Feature] Data export plugins (#9096)
* Move data export code out of "importer" directory

* Refactoring to allow data export via plugin

* Add brief docs framework

* Add basic DataExportMixin class

* Pass context data through to the serializer

* Extract custom serializer

* Refactoring

* Add builtin plugin for BomExport

* More refactoring

* Cleanup for UseForm hooks

* Allow GET methods in forms

* Create new 'exporter' app

* Refactor imports

* Run cleanup task on boot

* Add enumeration for plugin mixin types

* Refactor with_mixin call

* Generate export options serializer

* Pass plugin information through

* Offload export functionality to the plugin

* Generate output

* Download generated file

* Refactor frontend code

* Generate params for downloading

* Pass custom fields through to the plugin

* Implement multi-level export for BOM data

* Export supplier and manufacturer information

* Export substitute data

* Remove old BOM exporter

* Export part parameter data

* Try different app order

* Use GET instead of POST request

- Less 'dangerous' - no chance of performing a destructive operation

* Fix for constructing query parameters

- Ignore any undefined values!

* Trying something

* Revert to POST

- Required, other query data are ignored

* Fix spelling mistakes

* Remove SettingsMixin

* Revert python version

* Fix for settings.py

* Fix missing return

* Fix for label mixin code

* Run playwright tests in --host mode

* Fix for choice field

- Prevent empty value if field is required

* Remove debug prints

* Update table header

* Playwright tests for data export

* Rename app from "exporter" to "data_exporter"

* Add frontend table for export sessions

* Updated playwright testing

* Fix for unit test

* Fix build order unit test

* Back to using GET instead of POST

- Otherwise, users need POST permissions to export!
- A bit of trickery with the forms architecture

* Fix remaining unit tests

* Implement unit test for BOM export

- Including test for custom plugin

* Fix unit test

* Bump API version

* Enhanced playwright tests

* Add debug for CI testing

* Single unit test only (for debugging)

* Fix typo

* typo fix

* Remove debugs

* Docs updates

* Revert typo

* Update tests

* Serializer fix

* Fix typo

* Offload data export to the background worker

- Requires mocking the original request object
- Will need some further unit testing!

* Refactor existing models into DataOutput

- Remove LabelOutput table
- Remove ReportOutput table
- Remove ExportOutput table
- Consolidate into single API endpoint

* Remove "output" tables from frontend

* Refactor frontend hook to be generic

* Frontend now works with background data export

* Fix tasks.py

* Adjust unit tests

* Revert 'plugin_key' to 'plugin'

* Improve user checking when printing

* Updates

* Remove erroneous migration file

* Tweak plugin registry

* Adjust playwright tests

* Refactor data export

- Convert into custom hook
- Enable for calendar view also

* Add playwright tests

* Adjust unit testing

* Tweak unit tests

* Add extra timeout to data export

* Fix for RUF045
2025-03-18 11:35:44 +11:00
Oliver 947a1bcc3a
Use primary color for StylishText (#9332) 2025-03-18 10:37:45 +11:00
Matthias Mair 6d42789cb2
fix api version (#9331) 2025-03-17 22:51:33 +00:00
Matthias Mair f8de4e29a1
feat(frontend): Add token managment tools (#9244)
* Add typing

* feat(frontend): Add token managment tools
Closes https://github.com/inventree/InvenTree/issues/9166

* remove debug msg

* split responsibilities for token endpoint

* move ApiTokenTable

* add option for superusers to show all user tokens

* Add tokens to admin users interface

* adjust api text

* adress raised issues

* make stuff sortable / filterable
2025-03-18 07:27:19 +11:00
Oliver ddc3cd32f5
[UI] Bulk edit actions (#9320)
* Allow bulk selection of sales order shipment

* Tweaks

* Support bulk-edit for location parent and category parent

* Allow more login attempts for playwright
2025-03-17 23:27:32 +11:00
Oliver 9db5205f79
Bulk update mixin (#9313)
* Refactor BulkDeleteMixin

* Implement BulkUpdateMixin class

* Refactor NotificationsTable

- Use common bulkdelete operation

* Update successMessage

* Update metadata constructs

* Add bulk-edit support for PartList endpoint

* Implement set-category for part table

* Cleanup old endpoint

* Improve form error handling

* Simplify translated text

* Add playwright tests

* Bump API version

* Fix unit tests

* Further test updates
2025-03-17 09:21:43 +11:00
Matthias Mair 897afd029b
feat(frontend): show if redirecting inline (#9122)
* https://github.com/inventree/InvenTree/pull/6293

* refactor to a shared component

* refactoring container stuff to a wrapper

* move title to wrapper

* move logoff and loader to wrapper

* mvoe functions to general auth

* seperate login and register into seperate pages

* unify auth styling

* rename component

* adapt to new look

* check if registration is enabled

* feat(frontend):show if redirecting

* reduce diff

* fix missing import

* remove double warning
2025-03-17 09:03:42 +11:00
Oliver a453c9b286
[refactor] Remove django-weasyprint entirely (#9316)
* Remove django-weasyprint entirely

* Handle null request

* Bug fix
2025-03-17 07:51:29 +11:00
Oliver 3afafe594b
[UI] Reimplement calendar views (#8933)
* Add deps for @fullcalendar

* Basic calendar setup

* Add locale support

* Add custom <SegmentedIconControl> component

* optional 'control' for panel

* Scaffolding out build index page

* Fetch build orders based on calendar dates

* Display builds

* Click to navigate to build

* Working on custom header

* Implement button functionality

* Display current month name

* Implement datepicker dropdown

* Adjust layout

* Custom rendering

* Include part detail

* Implement hook to track calendar state

* Clearing search causes immediate update

* Offload core functionality into hook

- Adds search input

* Spread props correctly

* Cleanup

* Allow build orders to be edited directly from calendar view

* Cleanup

* Fix for InvenTreeCalendarProps

* Improve date range filtering for Build model

* Simplify BuildFilter

* Refactoring

* PurchaseOrder calendar implementation

* Allow edit of purchase orders

* Refactor and implement for all order types

- Add missing "issue_date" field for SalesOrder
- Refactor API for other order types
- Fix rendering issues

* Bump API version

* Add playwright tests for calendar (simple)

* Fix migrations

* Simplify notifications

* Refactor filter components

- Make them more generic

* Enable custom filters for calendars

* Custom filters per table

* Display status label

* Refactoring

* Update playwright tests

* Update build order docs

* Bug fix for order date editing

* Update purchase order docs

* Return Order docs

* Update date formatting
2025-03-16 18:01:51 +11:00
github-actions[bot] fc34bd0a5e
New Crowdin translations by GitHub Action (#9288)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-16 09:40:18 +11:00
Matthias Mair 516755db97
refactor(frontend): Do not request token in frontend (#9217)
* remove calls that reference tokens

* remove call to token endpoint

* ensure CSRFToken is always send

* bump axios

* lower axios

* reset axios change

* bump reslution down
2025-03-16 08:36:58 +11:00
Oliver 0e43e8de2d
Further reduce log output for weasyprint (#9305)
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-03-16 07:42:54 +11:00
Oliver 4eaa5880c1
Fix currency rendering (#9308)
- Closes https://github.com/inventree/InvenTree/issues/9300
2025-03-16 07:42:34 +11:00
Oliver e1ac1c77c0
Provide mocked URL to dummy print requst (#9307)
* Provide mocked URL to dummy print requst

- FIxes bug which prevented background printing with DEBUG=False

* Disable debug for postgres testing
2025-03-16 00:53:19 +11:00
Joe Rogers d7aa5e45b9
Check for schema generation state when removing fields (#9236)
* Ensure notes are not removed when generating schema

* Skip remaining conditional field removals when generating schema, remove removable fields from required lists

* Update API version, add schema gen state check for api-doc endpoint

* Add test for generate schema state

* Add test for schema postprocessing function

* Filter nullable + read_only fields out of schema required lists

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-03-15 23:53:30 +11:00
Oliver cdb445583b
Prevent sentry reporting in test mode (#9304) 2025-03-15 22:42:18 +11:00
Oliver 3dfd1ed146
Static Asset Management (#9292)
* Caddyfile: Redirect asset requests

- Ensure the static asset files are served by the proxy
- Reduce gunicorn / python load
- Significant server performance increase

* Allow CORS requests to 'assets' path

* Update static assets path for vite build

* Remove RedirectAssetView

* Specify relative base path

Ref: https://vite.dev/guide/build.html#relative-base

* Revert settings.py

* Revert caddyfile

* Remove defunct unit test

* Add timeout to test
2025-03-14 08:20:51 +11:00
Oliver b25bf5e669
Dynamic filters (#9290)
* Add attributes to TableFilter type def

* Refactoring

* Refactor ProjectCodeFilter

* Provide simple string rendering of a dynamic filter

* Refactor ResponsibleFilter

* Further refactoring

* More refactoring

* Fix placeholder value
2025-03-13 13:09:37 +11:00
Oliver 7a43c3a83e
Auto-fill currency for new supplier part (#9286)
- Closes https://github.com/inventree/InvenTree/issues/9284
2025-03-13 01:35:29 +11:00
dependabot[bot] 0049544305
Bump @babel/runtime from 7.25.6 to 7.26.10 in /src/frontend (#9285)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.6 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 00:46:09 +11:00
github-actions[bot] f7536a9f89
New Crowdin translations by GitHub Action (#9175)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-11 19:21:21 +11:00
dependabot[bot] fdfbd5f783
Bump jinja2 from 3.1.5 to 3.1.6 in /src/backend (#9272)
* Bump jinja2 from 3.1.5 to 3.1.6 in /src/backend

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

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

* fix req

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-03-11 08:05:17 +11:00
dependabot[bot] 1cd7baabb1
Bump axios from 1.7.9 to 1.8.2 in /src/frontend (#9270)
Bumps [axios](https://github.com/axios/axios) from 1.7.9 to 1.8.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.9...v1.8.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 08:04:04 +11:00
dependabot[bot] 94ded911cc
Bump django from 4.2.19 to 4.2.20 in /src/backend (#9252)
* Bump django from 4.2.19 to 4.2.20 in /src/backend

Bumps [django](https://github.com/django/django) from 4.2.19 to 4.2.20.
- [Commits](https://github.com/django/django/compare/4.2.19...4.2.20)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

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

* fix req

---------

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>
2025-03-10 20:49:08 +11:00
Oliver 06961c6a24
Add error handling to API queries (#9253) 2025-03-07 14:30:51 +11:00
Oliver 2e91dc202b
Fix for link length migration (#9249)
- Found some fields which had not been migrated correctly
2025-03-06 16:24:54 +11:00
Matthias Mair 8e753b3797
fix(backend): API version correction (#9243)
The API version was not corretly changed in https://github.com/inventree/InvenTree/pull/9131 - this fixes it.

Fixes https://github.com/inventree/InvenTree/issues/9242
2025-03-05 11:24:29 +00:00
Oliver 017d96f64e
Ignore sentry for TemplateSyntaxError (#9239)
- Getting flodded with reports of users misapplied template filters
2025-03-05 22:00:05 +11:00
Oliver 21ae1138ce
Tracking api fix (#9238)
* [Bug] Fix search for StockTrackingList

- Removed invalid field

* Add unit test coverage for failing condition

* Fix 'notes' field for extra line item API
2025-03-05 21:59:44 +11:00
simonkuehling d96f0d78e9
increase character limits on all link fields to 2000 (#9131)
* increase character limits on all link fields to 2000

* update test to still trigger

* Don't fail when diff is too big for echo (#9205)

* Reduce severity of error message (#9209)

- Currently flooding sentry.io with reports

* Disable pagination for ConfigList class (#9210)

* [API] Auth login error (#9212)

Fixes #9211

* [UI] Table Update (#9220)

- Retain user selection for pageSize

* renumber migrations after merge from master

* Remove quick actions (#9222)

* Remove placeholder components

- No function
- Cleanup for 1.0.0

* Remove Placeholder.tsx

* feat(backend): Add user profile (#9116)

* Add user profile

* fix choice set

* ensure primary_group is valid

* add missing migrations

* fix tests

* merge migrations

* add migration test

* add new model to ruleset

* ensure changed to the m2m conenction also validate primary grups

* move signals

* fix import?

* patch user language through

* use set methods correctly

* bump api

* refactoring to make debugging and extending easier

* fix dum recurrsion problem

* fix user pk lookup

* rename migration

* add user and group page

* cleanup

* add hoverCard for user / owner / group render

* include owner_model in owner responses

* move user serializers to users

* add profile to list

* add brief serializer for profiles

* ensure profile is present in most apis

* extend rendered data

* store and observe langauge in profile

* reduce unneeded complexity

* enable access to full profle (including internal fields) in me serializer

* move theme to a single object

* persist theme settings

* fix radius lookup

* remove debug message

* fix filter

* remove unused field

* remove image fields

* add setting to control showing profiles

* fix settings

* update test

* fix theme reload

* Add contact UI

* Add profile edit screen

* fix test

* Add testing for user theme panel

* fix var name

* complete coverage of theme

* Add test for new pages

* make test more reliable in strict mode

* remove step

* fix ref

* add verbose names

* fix used setting

* extend tests

* fix permissions

* fix lookup

* use lookup to enuse ursls stay valid

* update migrations

* Add position field

* fix permissions

* Fix font size in location column (#9230)

* [WIP] Background reports (#9199)

* Update report generation progress

* Add shim task for offloading report printing

* Cleanup

* Add detail endpoints for label and report outputs

* Display report printing progress in UI

* Implement similar for label printing

* Reduce output for CI

* Add plugin slug

* Bump API version

* Ensure it works with machine printing

* Fix null comparison

* Fix SKU link

* Update playwright tests

* Massively reduce log output when printing

* handle null values in existing db data

* fix test to pass at max character limit again

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Joe Rogers <1337joe@users.noreply.github.com>
2025-03-05 10:44:04 +11:00
Oliver d822b9b574
[WIP] Background reports (#9199)
* Update report generation progress

* Add shim task for offloading report printing

* Cleanup

* Add detail endpoints for label and report outputs

* Display report printing progress in UI

* Implement similar for label printing

* Reduce output for CI

* Add plugin slug

* Bump API version

* Ensure it works with machine printing

* Fix null comparison

* Fix SKU link

* Update playwright tests

* Massively reduce log output when printing
2025-03-04 23:40:54 +11:00
Oliver d5a176c121
Fix font size in location column (#9230) 2025-03-04 23:27:34 +11:00
Matthias Mair 0d1ab4e75a
feat(backend): Add user profile (#9116)
* Add user profile

* fix choice set

* ensure primary_group is valid

* add missing migrations

* fix tests

* merge migrations

* add migration test

* add new model to ruleset

* ensure changed to the m2m conenction also validate primary grups

* move signals

* fix import?

* patch user language through

* use set methods correctly

* bump api

* refactoring to make debugging and extending easier

* fix dum recurrsion problem

* fix user pk lookup

* rename migration

* add user and group page

* cleanup

* add hoverCard for user / owner / group render

* include owner_model in owner responses

* move user serializers to users

* add profile to list

* add brief serializer for profiles

* ensure profile is present in most apis

* extend rendered data

* store and observe langauge in profile

* reduce unneeded complexity

* enable access to full profle (including internal fields) in me serializer

* move theme to a single object

* persist theme settings

* fix radius lookup

* remove debug message

* fix filter

* remove unused field

* remove image fields

* add setting to control showing profiles

* fix settings

* update test

* fix theme reload

* Add contact UI

* Add profile edit screen

* fix test

* Add testing for user theme panel

* fix var name

* complete coverage of theme

* Add test for new pages

* make test more reliable in strict mode

* remove step

* fix ref

* add verbose names

* fix used setting

* extend tests

* fix permissions

* fix lookup

* use lookup to enuse ursls stay valid

* update migrations

* Add position field

* fix permissions
2025-03-04 22:57:20 +11:00
Oliver 8bca48dbdd
Remove quick actions (#9222)
* Remove placeholder components

- No function
- Cleanup for 1.0.0

* Remove Placeholder.tsx
2025-03-04 17:54:36 +11:00
Oliver 8cee2e36ca
[UI] Table Update (#9220)
- Retain user selection for pageSize
2025-03-03 19:09:42 +11:00
Matthias Mair ac96ba4a7c
[API] Auth login error (#9212)
Fixes #9211
2025-03-02 07:58:46 +11:00
Oliver d69fb9011c
Disable pagination for ConfigList class (#9210) 2025-03-01 16:12:09 +11:00
Oliver 8404e2232f
Reduce severity of error message (#9209)
- Currently flooding sentry.io with reports
2025-03-01 16:12:01 +11:00
Oliver 6c52f00c16
Call machine func (#9191)
* Force label printing to background worker

* Refactor "check_reload" state of machine registry

- In line with plugin registry
- More work can be done here (i.e. session caching)

* Better handling of call_plugin_function

* Wrapper for calling machine function

* Use AttributeError instead

* Simplify function offloading

* Check plugin registry hash when reloading machine registry

* Cleanup

* Fixes

* Adjust unit test

* Cleanup

* Allow running in foreground if background worker not running

* Simplify call structure
2025-02-28 21:07:56 +11:00
Joe Rogers 157cbbead5
Schema cleanup tmp (#9143)
* Add type hints for name, address, expired, and active

* Add nullable to various fields that return null in the test dataset

* Removed nullable type hint, add default boolean value instead of nullable

* Bump schema version

* Add schema version notes, add localized tags for doc string

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-28 19:15:35 +11:00
Oliver 92a9423c21
Remove restriction on row action (#9201) 2025-02-28 16:43:25 +11:00
Michael 0da9391568
Add part full name to supplier part table (#9197) 2025-02-27 23:17:43 +11:00
Oliver 28259a1ad6
Add loading indicator for custom panels (#9194) 2025-02-27 15:25:56 +11:00
Oliver 92edbf41ab
Add 'note' field to form (#9186) 2025-02-26 13:56:28 +11:00
Oliver 3940544a70
Allow custom icons to be cleared (#9185)
* Allow custom icons to be cleared

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

* Bump API version

* Update unit test

* Loosen test requirements
2025-02-26 13:25:44 +11:00
Oliver 94c2157d3c
Handle case of null stock location (#9183) 2025-02-26 09:26:11 +11:00
Oliver df60b1bc22
Allow reload of stock table if multiple new items are created (#9178) 2025-02-25 21:37:43 +11:00
Matthias Mair 89c5148873
Revert "remove need for hard coded token (#9136)" (#9177)
This reverts commit 9f236f5ce9.
2025-02-25 09:44:14 +00:00
Matthias Mair 9f236f5ce9
remove need for hard coded token (#9136) 2025-02-25 09:22:35 +11:00
Matthias Mair 991b578c30
refactor(frontend): Auth component refactor (#9121)
* https://github.com/inventree/InvenTree/pull/6293

* refactor to a shared component

* refactoring container stuff to a wrapper

* move title to wrapper

* move logoff and loader to wrapper

* mvoe functions to general auth

* seperate login and register into seperate pages

* unify auth styling

* rename component

* adapt to new look

* check if registration is enabled

* reduce diff

* reduce diff

* fix import

* add aria label to make more reliable

* make cap match

* ensure that confirm only works with valid inputs

* leave error for non-matching pwd to API

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-25 07:04:16 +11:00
Oliver 58a03d960a
Refactor API token display (#9168)
* Refactor API token display

* Tweaks

- Fix accessor ID
- Add filtering

* Revert ordering fields
2025-02-25 07:03:22 +11:00
github-actions[bot] 49eaedaca6
New Crowdin translations by GitHub Action (#9161)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-24 11:14:52 +11:00
Oliver cfdafcd791
Dashboard item rendering fixes (#9163) 2025-02-23 21:39:22 +11:00
Oliver c9666ff8ec
Remove 'url' field from serializers (#9150)
* Remove 'url' field from serializers

- Not used in any official client
- Inconsistent use across models

* Bump API version

* Adjust unit tests

* Fix API version
2025-02-23 21:07:34 +11:00
Oliver 9d1d0fa66b
Cleanup backend code (#9158)
* Cleanup backend code

* Re-add # TODO
2025-02-23 17:51:51 +11:00
Oliver 05fa36df72
TODO Cleanup (#9152) 2025-02-23 09:31:02 +11:00
Matthias Mair c3f737b320
fix(frontend): header nesting warning when using navbar_message (#9154) 2025-02-23 08:16:03 +11:00
Oliver 07423ff247
Slight tweaks to forms (#9149) use 2025-02-22 23:33:35 +11:00
Oliver 347f7ea050
[UI] Barcode scanner update (#9151)
Use BARCODE_WEBCAM_SUPPORT setting
2025-02-22 23:33:17 +11:00
Oliver 8df34cefd6
[UI] Settings render (#9148)
* Update sample plugin

* Inline rendering of model based settings

* Spelling fix

* Add playwright testing
2025-02-22 21:59:06 +11:00
Jacob Felknor 2cabd02c6b
Use ref pattern on PO duplicate (#9100)
* use ref pattern on PO duplicate

* use ref patterns on duplicate for other types of orders

* revert unintentional change to pre-commit

* add playwright tests

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-22 20:40:01 +11:00
Oliver 84d3a716e0
[UI] Reduce test sensitivity (#9146) 2025-02-22 20:06:34 +11:00
Oliver 7098ac74d2
[UI] Stock batch codes (#9145)
* Display batch code in stock item preview

* Show batch code in stock operations modal

* Refactor StockForms

* More table refactoring
2025-02-22 19:52:18 +11:00
Oliver bd7e515856
Harden playwright tests (#9141) 2025-02-22 17:14:14 +11:00
Oliver 74e3122581
Mixin cleanup (#9142)
* Remove legacy SettingsContentMixin

- Only used for rendering into old UI
- No longer useful

* Refactor path for NavigationMixin

* Fix typos

* Fix borked import
2025-02-22 17:13:29 +11:00
Oliver e447e4037b
UI cleanup (#9140)
* Refactor SecurityContext page:

- Add Accordion to separate different groups
- Fix "make primary" button (requires PATCH)
- Responsive grid design

* Add splash screen background to more pages

* Adds playwright testing for email setup

* Refactoring

* Fix playwright tests
2025-02-22 17:13:12 +11:00
Oliver 44cca7ddf2
[UI] Search Improvements (#9137)
* Harden playwright tests

* Refactor search drawer

- Allow result groups to collapse

* Add tooltip

* Fix menu position

* Navigate through to complete list of results

* Refactor table headers

* Add index pages for SupplierPart and ManufacturerPart models

* backend: allow split search by company type

* Fix panel naming bug

* Fix model URLs

* Split company results by company type

- Allows better routing to results list

* Remove debug msg

* Fix 'button within button' issue

* Additional playwright tests
2025-02-22 15:00:25 +11:00
Oliver 09cdf72bda
Handle undefined values (#9139) 2025-02-22 11:52:11 +11:00
Matthias Mair 03278c56c9
Remove django-allauth-2fa, dj-rest-auth and django-user-sessions (#6293)
* Remove django-allauth-2fa
Fixes #6281

* fix req

* fix file again

* remove allauth_2fa flows

* reintroduce otp

* fix rq

* remove old ref

* remove otp things from settings

* reintroduce otp codes

* remove totp section

* bump version

* fix reqs

* add missing model

* ignore TOTP migration if the model is not laoded

* add model deps

* add extra migrations step for easier testing

* add migration testing

* remove old catch

* cover static devies too

* remove more old stuff

* fix import

* mrege migrations

* bump API version

* switch to allauth.usersessions

* add headless

* re-add saml/openid

* user sessions cleanup

* turn off normal allauth urls if CUI is not active

* disable tests that rely on old endpoints - to be replaced

* always track session changes

* remove old allauth templates

* remove old ref

* add missing model

* fix session lookup

* always logout when pwd is changed

* reimplement session ending

* fix merge

* upgrade reqs

* lower cryptography version

* clean allauth_2fa reference

* disable test temporarly

* fix migration check

* disable tests temporarly

* Re-implement auth flow using new APIs; adds MFA to PUI

* re-implement logoff

* stop failure message from appearing when in MFA flow

* remove jwt mention

* fix: email endpoints (to be cleaned TODO@matmair)

* remove unused endpoints

* ignore the now often-used 410 error

* fix auth for email actions in MFA scenarios

* add mfa listing use build-in forms

* add dummy entry for missing frontend urls; see TODO@matmair

* remove unneeded change of confirm url

* add mfa reg endpoint (not fully implemented)

* implement more provider stuff

* simplify calls

* make calls more robust

* switch to browser based sessions

* add todo's

* update api version

* remove x-session, not needed anymore

* remove old urls

* remove ui preference - there is no decision anymore

* fix login redirect logic

* change name to ensure 1p can detect field

* add mfa table

* fix remove sso provider account action; provider (user) admin stuff is done

* reduce templates to the raw basics

* fix tests

* more exclusions

* rewrite url structure

* move buildin token test

* re-enable registration tests

* re-implement registrations

* enable registration for now

* re-implement password change

* adjust tests

* fix asserts

* align names with allauth

* simplify

* refactor and rephrasing

* fix nesting issue

* clean up urls even more

* add mfa add and remove screens

* add type

* revert dep change

* fix api version

* re-add settings

* simplify urls

* Add timeout to login wait for

* fix url assertation

* remove unneded mfa_enabled

* add setting for configuring types

* bump api version

* fix password reset flow

* change settings order

* save auth context

* rename var to remove confusion

* make login/register seperate paths

* make info text better

* adjust urls

* add error message

* disable buttons if no email is set

* add custom adapters for MFA and headless authentication to use upstreamed features

* move auth settings to status

* respect more settings

* update settings

* bump api version

* remove depreceated docs part

* remove dj_rest_auth stuff

* fix api_version bump

* remove temp fix

* fix provider login

* remove unsupported option

* remove hash requirement for now

* simplify customisation

* implement email-verification

* remove auth from api docs

* fix override of get_frontend_url
details in https://codeberg.org/allauth/django-allauth/pulls/4248

* bump api again

* fix req

* Revert "remove hash requirement for now"

This reverts commit 00bb6c5274.

* remove usage of git repo

* fix doc string

* extend schema generation to just patch in allauth

* patch allauth OAI ref names

* reduce types

* refactor code structure

* fix ref patching a bit more

* add param cleanup

* ensure strings, number, bools are handled correctly in cleanup

* move fnc

* shorten names

* bump allauth

* re-add auth doc section

* fix doc structure

* revert playwrigth change

* ckean up browser only path

* clean up parameters that we do not use

* re-add 2fa required middleware

* fix mail sending hook

* fix password set texts

* Add forced mfa setup

* remove type

* adjust api_version

* Remove debug prints

* Add error message for TOTP creation

* Handle failed TOTP login

* fix reqs

* Add error on 409 during login

* fix tested url

* fix api_version

* fix allauth version

* minimize req diff

* further minimize diff

---------

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2025-02-22 11:11:04 +11:00
Oliver 1f84f24514
Batch code fix (#9123)
* Fix batch code assignment when receiving items

* Add playwright tests

* Harden playwright tests

* Refactoring
2025-02-22 08:34:45 +11:00
dependabot[bot] 2521862b1a
Bump the dependencies group across 1 directory with 9 updates (#9134) use
* Bump the dependencies group across 1 directory with 9 updates

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

| Package | From | To |
| --- | --- | --- |
| [coverage[toml]](https://github.com/nedbat/coveragepy) | `7.6.11` | `7.6.12` |
| [dj-rest-auth](https://github.com/iMerica/dj-rest-auth) | `7.0.0` | `7.0.1` |
| [django-allauth-2fa](https://github.com/valohai/django-allauth-2fa) | `0.11.1` | `0.12.0` |
| [django-filter](https://github.com/carltongibson/django-filter) | `24.3` | `25.1` |
| [django-money](https://github.com/django-money/django-money) | `3.2.0` | `3.5.3` |
| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.14.0` | `3.15.2` |
| [pydyf](https://github.com/CourtBouillon/pydyf) | `0.10.0` | `0.11.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.20.0` | `2.22.0` |
| [weasyprint](https://github.com/Kozea/WeasyPrint) | `62.3` | `64.1` |



Updates `coverage[toml]` from 7.6.11 to 7.6.12
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.6.11...7.6.12)

Updates `dj-rest-auth` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/iMerica/dj-rest-auth/releases)
- [Commits](https://github.com/iMerica/dj-rest-auth/compare/7.0.0...7.0.1)

Updates `django-allauth-2fa` from 0.11.1 to 0.12.0
- [Release notes](https://github.com/valohai/django-allauth-2fa/releases)
- [Changelog](https://github.com/valohai/django-allauth-2fa/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/valohai/django-allauth-2fa/compare/v0.11.1...v0.12.0)

Updates `django-filter` from 24.3 to 25.1
- [Release notes](https://github.com/carltongibson/django-filter/releases)
- [Changelog](https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst)
- [Commits](https://github.com/carltongibson/django-filter/compare/24.3...25.1)

Updates `django-money` from 3.2.0 to 3.5.3
- [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.2...3.5.3)

Updates `djangorestframework` from 3.14.0 to 3.15.2
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](https://github.com/encode/django-rest-framework/compare/3.14.0...3.15.2)

Updates `pydyf` from 0.10.0 to 0.11.0
- [Release notes](https://github.com/CourtBouillon/pydyf/releases)
- [Changelog](https://github.com/CourtBouillon/pydyf/blob/main/docs/changelog.rst)
- [Commits](https://github.com/CourtBouillon/pydyf/compare/v0.10.0...v0.11.0)

Updates `sentry-sdk` from 2.20.0 to 2.22.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.20.0...2.22.0)

Updates `weasyprint` from 62.3 to 64.1
- [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/v62.3...v64.1)

---
updated-dependencies:
- dependency-name: coverage[toml]
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dj-rest-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-allauth-2fa
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-filter
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: django-money
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: djangorestframework
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pydyf
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: weasyprint
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
...

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

* fix req

* clean up req file

* lower drf again

---------

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>
2025-02-22 08:02:53 +11:00
Oliver bc9dbf7df4
Barcode validation fix (#9127)
* Fix logic for adding items to SalesOrder

* Same thing for purchase orders

* Update serializers.py

Revert typo fix

- Otherwise, we need to do an API bump and the PR can't be back-ported!
2025-02-21 22:17:55 +11:00
Oliver 6930ae7122
Ignore inactive parts (#9125) 2025-02-21 20:55:22 +11:00
Oliver ab4eff19d3
[UI] Pricing chart fixes (#9119)
* Fix default values for pricing override

* Fix broken calculation for sale pricing

- Was previously excluding COMPLETED orders

* Fix for PricingOverviewPanel

* Fix for InvenTreeMoneySerializer

- Numbers should be represented as numbers!

* Front-end wrangling too

* Fix unit test
2025-02-21 19:09:57 +11:00
Oliver 15ad62494f
[Docker] Alpine image fix (#9118)
* Revert to alpine3:20 / postgres:16

* Remove old hack

- No longer needed as we are using python 3.11

* Update package requirements for devcontainer

Also fixes some docker warnings from the alpine Dockerfile

* Specify SITE_URL

* Reduce log output during docker image testing
2025-02-21 18:02:39 +11:00
Oliver 96bca652c4
Logic fix for label printing plugin (#9117) 2025-02-21 16:06:04 +11:00
dependabot[bot] 19f772bd6e
Bump @octokit/request from 8.4.0 to 8.4.1 in /src/frontend (#9105)
Bumps [@octokit/request](https://github.com/octokit/request.js) from 8.4.0 to 8.4.1.
- [Release notes](https://github.com/octokit/request.js/releases)
- [Commits](https://github.com/octokit/request.js/compare/v8.4.0...v8.4.1)

---
updated-dependencies:
- dependency-name: "@octokit/request"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 08:20:40 +11:00
Oliver e492774808
Use postgres for playwright testing (#9104)
* Use postgres for playwright testing

- Should reduce issues with parallel tests

* Fix deps

* Harden playwright tests
2025-02-19 20:33:54 +11:00
Oliver 7e7f745c89
Updates to admin interface (#9103) 2025-02-19 15:09:34 +11:00
dependabot[bot] 2d0f4e50bb
Bump @octokit/plugin-paginate-rest from 9.2.1 to 9.2.2 in /src/frontend (#9102)
Bumps [@octokit/plugin-paginate-rest](https://github.com/octokit/plugin-paginate-rest.js) from 9.2.1 to 9.2.2.
- [Release notes](https://github.com/octokit/plugin-paginate-rest.js/releases)
- [Commits](https://github.com/octokit/plugin-paginate-rest.js/compare/v9.2.1...v9.2.2)

---
updated-dependencies:
- dependency-name: "@octokit/plugin-paginate-rest"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 14:51:08 +11:00
Matthias Mair c314a4575d
feat(backend): Add instance id for linked data plugins (#9087)
* feat(backend): Add instance id for linked data plugins

* add to settings ui

* fix ref name

* add test

* fix default

* remove wrong key

* fix serializer

* fix patching
2025-02-18 18:58:46 +11:00
Matthias Mair 1d0540948f
chore(backend): bump devtools (#9088)
* chore(backend):Bump devtools

* fix typos that are now detected
2025-02-18 18:57:48 +11:00
Oliver 480536a023
PartThumbTable updates (#9094)
- Change columns based on viewport width
- Use debounced value
- Enable pagination
- Fix pagination on backend API
2025-02-18 13:48:44 +11:00
Oliver a3ffc01d88
Remove 'is_ajax' helper (#9095)
- Old, dead code
- No longer needed
2025-02-18 13:48:35 +11:00
Matthias Mair 4a9138cc3b
chore(backend): increase coverage (#9039)
* move version tests

* factor out read_license_file

* add testing for license file

* ignore special case when we create the schema

* extent no found api tests

* extend info view tests

* try fixing test?

* fix?

* test user create api

* measure impact of removing bom import

* remove dead code

* Revert "measure impact of removing bom import"

This reverts commit bb31db05e3.

* remove dead code

* remove plugin tags that were made for CUI

* add testing for filters

* add test for config delete

* add more api tests

* adjust tests

* fix test

* use superuser

* adapt error code

* Add test for https://github.com/inventree/InvenTree/pull/9077

* add mixin_available mixin

* make check_reload more observable

* test check_reload too

* test clean_barcode

* reset after testing

* extend datamatrix testing

* debug print

* fix assertation
2025-02-17 11:21:58 +11:00
dependabot[bot] ed4240a54c
Bump dompurify from 3.1.7 to 3.2.4 in /src/frontend (#9083)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.7 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.7...3.2.4)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 09:05:03 +11:00
dependabot[bot] 8912f0db56
Bump @octokit/endpoint from 9.0.5 to 9.0.6 in /src/frontend (#9084)
Bumps [@octokit/endpoint](https://github.com/octokit/endpoint.js) from 9.0.5 to 9.0.6.
- [Release notes](https://github.com/octokit/endpoint.js/releases)
- [Commits](https://github.com/octokit/endpoint.js/compare/v9.0.5...v9.0.6)

---
updated-dependencies:
- dependency-name: "@octokit/endpoint"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 09:04:36 +11:00
dependabot[bot] 7362305296
Bump @octokit/request-error from 5.1.0 to 5.1.1 in /src/frontend (#9082)
Bumps [@octokit/request-error](https://github.com/octokit/request-error.js) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/octokit/request-error.js/releases)
- [Commits](https://github.com/octokit/request-error.js/compare/v5.1.0...v5.1.1)

---
updated-dependencies:
- dependency-name: "@octokit/request-error"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-16 12:36:01 +11:00
Oliver 8367c32e84
Remove dead code related to BOM import (#9079)
* Remove dead code related to BOM import

- Now handled by generic import tool
- Replaces https://github.com/inventree/InvenTree/pull/8756

* Bump API version
2025-02-15 07:59:43 +11:00
github-actions[bot] 4ece2fa6dd
New Crowdin translations by GitHub Action (#9069)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-14 23:53:30 +11:00
Oliver 944a4f28be
Setting filter (#9076)
* Expose "model_filters" to settings API

* Enable settings filters in the front-end

* Fix return types

* Bump API version
2025-02-14 19:15:42 +11:00
Oliver cca1912220
Adds "is_variant" filter for Part API (#9077)
* Adds "is_variant" filter for Part API

* Bump API version
2025-02-14 17:08:27 +11:00
Oliver caa0498aa3
[UI] Test Result Table Tweak (#9075)
Control row expansion property for StockItemTestResultTable
2025-02-14 10:00:46 +11:00
Matthias Mair 301347f1d0
[UI] Settings to control editing of "completed" orders (#9070)
* [UI] Settings to contrl editing of "completed" orders
Fixes #8976

* only check for completness if locking is enabled

* also lock lines

* allow editing of status to get an order "free" again
2025-02-14 09:30:19 +11:00
Oliver f27a84a7e5
Bug fix for receiving line item event (#9071)
- Use StockItem ID correctly
- Provide line ID
2025-02-13 14:39:05 +11:00
dependabot[bot] 40c1dc704f
Bump cryptography from 43.0.3 to 44.0.1 in /src/backend (#9064)
* Bump cryptography from 43.0.3 to 44.0.1 in /src/backend

Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.3 to 44.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/43.0.3...44.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

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

* fix req

* set upper limit

* use highest version available on bullseye

* remove lower limit

---------

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>
2025-02-12 17:14:37 +11:00
Oliver 7049e84ac3
Fix for data import (#9060)
- Prevent shadow overwrite of default_values dict
- Remove dead code
2025-02-12 07:24:24 +11:00
github-actions[bot] 8493e5adb2
New Crowdin translations by GitHub Action (#9015)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-11 15:29:13 +11:00
Matthias Mair 3b7bda1e4f
chore(backend): bump deps (#9055) 2025-02-11 11:37:18 +11:00
Matthias Mair d569dbec49
[PUI] Make breadcrumbs adjustable (#8027)
* adjust breadcrumbs to include current item

* Add last breacdrumb to various pages

* Add user settings for last breadcrumb

* add breacrumbs to company subpages

* use getDetailUrl instead

* set default

* change description

* fix styles

* fix merge

* rename to camelCase

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-11 11:36:59 +11:00
Matthias Mair 047431d67f
fix(backend): determine active branch on startup (#9056)
* fix(backend): Determine active branch on startup

* add more warnings and document them

* extend expected errors

* fix typos
2025-02-11 09:19:49 +11:00
Matthias Mair 33d0449460
fix(contrib): move imports to ensure task startup without django is possible (#9057) 2025-02-10 12:21:43 +11:00
Oliver 3a423c3e40
[Setup] Enhance version information output (#9049)
* Improve output of 'invoke version'

- Display backup path
- Handle undefined paths without error

* Provide colorized output
2025-02-08 12:12:11 +11:00
Oliver 49824ddf31
Fix typos in settings.py (#9048) 2025-02-08 10:45:47 +11:00
Matthias Mair a3be8e986b
chore(contrib): include pkg source in pkg logging (#9035)
* fix(backend): wrong path for version was used

* chore(contrib): Include Pkg source in pkg logging
2025-02-06 09:17:42 +11:00
Matthias Mair 8bea3caec4
feat(frontend): Hide empty args in about dialog (#9033)
* clean up version info text

* feat(frontend): Hide empty args in about dialog

* simplify

* simplify more
2025-02-05 09:45:48 +11:00
Matthias Mair 73b46c1c15
bump python deps (#9032) 2025-02-05 09:20:29 +11:00
Oliver e1f25a03d4
Tweak playwright tests (#9027) 2025-02-04 22:52:01 +11:00
Oliver 445fa45394
Enhance creation of default settings (#9028)
- Remove cache requirement
- Replaces https://github.com/inventree/InvenTree/pull/9021
2025-02-04 22:51:51 +11:00
Dean 138aa01d7e
Support for searching sales order shipments (#8992)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-02-03 23:13:52 +11:00
Oliver d363c408f8
[Pricing] Add option to convert received items currency (#8970)
* Add new global setting

* Convert to base currency on receipt

* Fix total price rendering in PO table

* Fix for tasks.py

* Update .gitignore

- Ignore auto-generated files

* Update docs

Improved documentation for pricing/currency support

* Updates

* Fix caching for default currency

- Now managed better by session caching

* Add unit test for new feature

* Playwright test fixes

* Validate copying of media files

* Validate media files

* Adjust playwright setup

* Allow multiple attempts to fetch release information

* Tweak unit tests

* Revert changes to .gitignore file

- Just trying stuff at this point

* Add debug msg

* Try hard-coded paths

* Remove debug prints

* Abs path for database

* More debug

* Fix typos

* Revert change to db name

* Remove debug statements (again)

* Cleanup playwright tests

* More test tweaks

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-02-03 18:34:15 +11:00
Oliver a760d00c96
Cleanup BomItemSerializer (#9017)
- Consolidate functions
- Code cleanup
2025-02-03 13:50:17 +11:00
dependabot[bot] 4e074ff711
Bump vite from 5.4.7 to 6.0.11 in /src/frontend (#8938)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.7 to 6.0.11.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-02-03 07:38:54 +11:00
Dean e93b9692a1
Debounce `checkLoginState` to prevent unexpected redirection during testing (#9012) 2025-02-03 07:37:15 +11:00
Oliver 2a6434ead8
Report bugfix (#9013)
- Ensure default label templates exist
- Ensure default report templates exist
2025-02-02 23:28:28 +11:00
github-actions[bot] 1b5019ba52
New Crowdin translations by GitHub Action (#9007)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-02 14:17:19 +11:00
Joe Rogers 1912e754b4
Clean up deprecated module removed in python 3.13 (#9004)
* Remove deprecated module removed in python 3.13

* Update validate to use helper function

* Add translation wrapper to error message
2025-02-02 13:23:24 +11:00
Oliver 56bfbfb1b4
Tweak for data import (#9010)
- Do not override specified default values
2025-02-02 09:25:28 +11:00
Oliver c077e2b605
[Bug] mport fix (#9008)
* Better handling of request object in serializers

* Pass request object through

- Required to extract user information

* Strip column header during import

- Prevent mismatch due to whitespace

* Fix for "minimum stock" field

* Fix for part serializer

* Extract default values on import

* Remove outdated migration message

* Bump API version
2025-02-02 07:57:06 +11:00
Oliver eba004d835
[UI] Report ouputs (#9003)
* Typo fixes

* Display table of generated reports

* Display generated label outputs

* Translation

* Allow sorting of API Endpoints

* Add template detail to output serializers

* Add extra table column
2025-02-01 22:44:52 +11:00
Oliver bef6270ff6
Login form tweaks (#9005)
* Login form tweaks

- Improve consistency
- Add tooltips

* Cleanup ServerInfo list

* Slight layout tweaks
2025-02-01 17:39:18 +11:00
Oliver 855afde4e5
Report print update (#9002)
* Refactor label printing

- Move "print" method to template
- Allows for internal calls to printing (e.g. plugins)

* Generate dummy request

- Required to trick WeasyPrint

* Refactor reportprinting

* Add timeout for unit test

* More unit tests

* Tweak unit test

* Updated comment
2025-02-01 17:08:33 +11:00
Oliver 821b311d73
[CI] Playwright testing improvements (#8985)
* Run playwright tests in headless mode

* Add navigation helper

* Validate files

* test fix

* Remove 'headless'

* Fixes

* Fix for 'navigate' helper

* Further updates
2025-02-01 16:29:13 +11:00
Lukas 66496fb669
fix missing template tag (#9000) 2025-02-01 08:27:27 +11:00
Matthias Mair ce16dac102
feat: increase coverage (#8897)
* remove preference-view

* bump api

* move tag test to seperate file

* extend tests

* make tags more robust

* Revert "remove preference-view"

This reverts commit b95aaaff3c.

* Revert "bump api"

This reverts commit 8fc29186cf.

* more coverage

* re-enable test

* even more tests

* just ignore it

* moa test

* crude debugging

* more debugging

* adapt test

* reduce debugging

* fix test_part_image

* remove TemplatePrintBase

* fix style

* fix code

* fix check

* ensure none exsisting image to not cause issue
2025-01-31 13:59:07 +11:00
Matthias Mair fff0b99b08
refactor(backend): reduce tags (#8932)
* reduce tags more

* remove splashscreen usage

* fix test

* reintroduce inventree_logo

* re-add splashscreen fnct

* re-add needed tag

* re-add date renderer

* simplify away user specific stuff - there are no users in reports

* and simplify a bit more

* increase coverage

* fix format

* and more coverage

* fix render_date

* more coverage
2025-01-31 13:58:04 +11:00
Matthias Mair cfa248aad9
feat: Re-Implement customize options (#8969)
* Extend api to also include customize functions

* [FR] Re-Implement customize options
Fixes #8818

* re-implement header

* add splashscreen customisation

* make simpler

* fix rendering

* bump api
2025-01-31 13:10:31 +11:00
Matthias Mair edc97b1afd
fix(backend): api version style (#8989)
* fix api version style

* set base path
2025-01-29 21:30:09 +00:00
Oliver eee4916350
Order start dates (#8966)
* Add 'start_date' field to orders

- PurchaseOrder
- SalesOrder
- ReturnOrder

* Add serializer field

* Add API filters

* Add table columns

* Add fields to forms

* Table filters

* Add validation check

* Refactor BuildOrderTable

* Update detail page

* Bump API version

* Allow sorting by start_date

* Fix for purchase order field

* Update detail pages

* Update playwright tests

* Updated playwright tests

* Documentation updates

* Updated playwright tests
2025-01-29 22:45:39 +11:00
Oliver 0c56a3132b
Fix for chart rendering (#8981)
- Graphs like numbers, not strings, I guess...
2025-01-29 17:38:12 +11:00
Oliver 01b74da255
[UI] Part pricing breaks (#8975)
* Un-hide pricing panels

* Change positioning

* Enhanced playwrigh testing
2025-01-29 15:52:25 +11:00
Oliver c67e80b50e
Fix user role caching issues (#8973)
* Fix user role caching issues

* Handle null user case

* Fix typo

* More spelling fixes
2025-01-28 20:39:05 +11:00
Matthias Mair f7f6e27c6e
feat(backend): improve tag docs (#8960)
* add admindocs

* add tag export command

* add filter export

* switch to yaml

* upload meta info to artifacts

* format workflow file

* fix creation command

* keep all artifacts in schema repo

* fix namespace

* use one command for export

* include tags and filters in docs

* change default filename

* fix call

* fix itteration syntax

* clean up rendering

* fix formatting

* simple escape
2025-01-28 09:42:13 +11:00
Oliver 16b03a7371
Fix for 'issued_by' field on BuildDetail page (#8962) 2025-01-27 23:45:48 +11:00
Oliver a13f5681a1
SalesOrder migration unit test (#8814)
* Unit test for SalesOrder data migration

* make field checks more stable

* Adjust migration  strategy

* Fix for data migration

* Simplify login test for playwright

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-27 21:01:02 +11:00
Matthias Mair bbeaf0e791
feat(backend): Improve error with missing manifest (#8957)
* package tag results better

* Add docs for missing frontend

* better error indication
Fixes #8875

* fix test assertations

* fix test exception

* group setup admin stuff

* add operations supgourp

* add basic structure

* move error code

* fix link

* fix grammar issues
2025-01-27 19:52:05 +11:00
Oliver 630d165c22
[Enhancement] Request cache (#8956)
* Middleware for caching against request

* Create helpers for setting / getting session cache

* Settings objects check session cache first

* Ensure setting is removed from session cache when updated

* Cleaner implementation

* Fix cache cleanup

- ONLY allow access if there is a request object
- Ensure cache is deleted once session is over

* Skip plugin registry reload check
2025-01-27 14:45:11 +11:00
Oliver ddcb7980ff
[Refactoring] Data Export (#8950)
* Allow extraction of "child" fields when exporting serialized data

* Update StockItemSerializer

* Add missing default attribute

* Cleanup export for BuildItemSerializer

* Refactor BuildLineSerializer

* Refactor BomItemSerializer

* Auto-exclude tags from export (for now)

* Cleanup SupplierPartSerializer

* Updated unit test

* Cleanup

* Bump API version

* Reduce serializer complexity

* Refactor StockLocation API endpoints

* Cleanup API

* Enhanced docstrings
2025-01-27 14:03:40 +11:00
Matthias Mair 5968f5670f
refactor(backend): remove contrib.messages (#8959)
* remove django.contrib.messages

* re-add messages as admin needs it
2025-01-27 13:03:15 +11:00
dependabot[bot] 98d2dd7930
Bump undici from 5.28.4 to 5.28.5 in /src/frontend (#8935)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.28.5)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-27 00:31:26 +11:00
Oliver ab7e6385c2
Notification cleanup (#8945)
- Prevent spamming of duplicate notifications
2025-01-26 07:18:38 +11:00
Oliver e9bc4645ca
Build category filter (#8940)
* Add 'category' filter to BuildList

- Allows filtering by part category

* Add filter element to build table

* Bump API version
2025-01-22 22:22:03 +11:00
Oliver 19d7825fa6
Cleanup dead code (#8939)
- Used for old UI plugins
- No longer referenced
2025-01-22 21:04:39 +11:00
dependabot[bot] 6d758e8e9f
Bump vite from 6.0.7 to 6.0.9 in /src/frontend (#8934)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.0.7 to 6.0.9.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.0.9/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-22 17:18:33 +11:00
Oliver 8e8b7158b7
Plugin reload fix (#8922)
* Add option to disable auto-reload of dev server

* Force plugin reload

* Add unit testing for plugin reload

- Requires modifications to registry.py
2025-01-22 16:34:13 +11:00
github-actions[bot] 4a9785d5e9
New Crowdin translations by GitHub Action (#8916)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-21 16:00:40 +11:00
Oliver fddaaf9844
Code cleanup (#8931)
- Remove TemplatePrintBase class
- Not referenced in code
2025-01-21 09:55:44 +11:00
Oliver f602c439ca
Fix docstring for Build model (#8928) 2025-01-21 01:56:57 +11:00
Oliver 68d3620bb2
Include location detail in build output table (#8923)
* Include location detail in build output table

* Raise validation error if trying to split an in-production item
2025-01-21 01:41:13 +11:00
Oliver 2575c7276c
Import fix (#8924)
* Exclude "tags" fields from data import

- May reintroduce at a later date
- Currently, no support for editing tags in frontend

* Refactor
2025-01-21 01:24:36 +11:00
Oliver 95874d9097
Update SalesOrderAllocationTable (#8911)
* Update SalesOrderAllocationTable

- Add 'description' column for part
- Add 'IPN' column for part

* Fix unit test
2025-01-21 00:37:36 +11:00
Oliver 7ad49949c8
Build start date (#8915)
* Add 'start_date' to Build model

* Add to serializer

* Add filtering and ordering

* Update BuildOrderTable

- Add new column
- Add new filtering options

* Add sanity check for start_date

* Add 'start_date' field to BuildOrder form

* Update docs

* Bump API version

* Tweak unit testing

* Display 'start_date' on build page

* Refactor UI tests

* Fix for 'date' field in forms

* Add additional unit tests

* Fix helper func

* Remove debug msg
2025-01-21 00:37:23 +11:00
Oliver 87ccf52562
Reintroduce setting for project codes (#8920)
* Re-introducde old setting

* Optionally hide project code column

* Control visibility of table filters

* Hide fields from forms
2025-01-20 23:29:20 +11:00
Oliver 37c8418f0e
Pass locale information through to plugins (#8917) 2025-01-20 15:40:32 +11:00
Oliver 40c5910311
Cleanup UserManagementPanel (#8914)
- Split items using <Accordion />
2025-01-20 13:18:31 +11:00
Matthias Mair b1c9fcb0a7
chore(frontend): bump frontend deps (#8906)
* bump codemirror

* bump mantine and deps

* a few small bumps

* lover react-grid-layout

* lower lingui

* lower react-window

* revert versions down

* fix resolution

* fix resolution
2025-01-20 09:40:02 +11:00
github-actions[bot] 46ebe81304
New Crowdin translations by GitHub Action (#8882)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-19 21:58:50 +11:00
Matthias Mair c57b51cb0e
chore(backend): bump deps (#8905)
* bump backend reqs

* raq down cryptography

* fix req

* bump api version
2025-01-19 17:50:22 +11:00
Matthias Mair 64b9365947
chore: bump pre commit (#8904)
* bump pre-commit

* auto-fixes

* ignore error

* fix a few more issues

* fix pattern
2025-01-18 09:38:00 +11:00
Matthias Mair 3d2f800c73
feat: Add setting for controling console logs (#8903)
* Add setting for controling console logs

* respect console_log setting

* use var for defualt handler
2025-01-17 09:21:38 +11:00
Matthias Mair 89dfa0f6f9
refactor: remove preference-view (#8894)
* remove preference-view

* bump api

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-01-15 14:46:23 +11:00
Matthias Mair fbe2131fa5
fix(plugin): Ensure plugins are only installed if not deactivated (#8893)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2025-01-15 14:46:10 +11:00
Oliver 5de65891c3
Allow CORS for /plugin/ URLs (#8898)
- Ref: https://github.com/inventree/inventree-order-history/issues/17#issuecomment-2591275055
2025-01-15 14:45:58 +11:00
Oliver c7e960728d
Upload timeout (#8895)
* Increase upload timeout for attachments

* Increase default API timeout

- To account for distant connections

* Use longer timeout when uploading files

* Debug for RTD testing

* Adjust commit extraction

* Cleanup debug output

* Include more vars in output

* Move debug output to top of file

* Add useful link
2025-01-15 14:02:43 +11:00
Oliver 412bba50ba
Slight tweak to <DetailsTable> (#8890)
* Slight tweak to <DetailsTable>

* Responsive layout for user settings

* Make menu links responsive

* Update <FactCollection />

* Update part pricing panels
2025-01-14 13:42:03 +11:00
Oliver 46f6450ee1
[UI] Responsiveness Improvements (#8885)
* Shorten string in page title

* Style fixes

* Adjust cell width props

* Refactor <PageDetail> component

- Improve responsiveness

* Simplify <ItemDetailsGrid />

* Refactor <DetailsImage>
2025-01-14 10:38:48 +11:00
Oliver dd5aa5f4e4
Allow null value for expiry_date field (#8886)
* Allow null value for expiry_date field

* Bump API version
2025-01-13 14:31:03 +11:00
Oliver b06b762895
[UI] Reactive Details Columns (#8883)
* Adapt details column count

- Based on element width

* Pin minimum size of thumbnail

* Cleaner implementation

* Revert again

- Use element size, not screen size
2025-01-12 14:58:52 +11:00
Jacob Felknor e8c1417b15
Add Expiry Date on Receive Line Item (#8867)
* Add expiry on line item receive from PO

* add backend test

* reset pre-commit

* increment inventree api version

* use None as default expiry date

* check global setting STOCK_ENABLE_EXPIRY

* check for default expiry in line item receive

* use dayjs

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-12 13:56:30 +11:00
Oliver c75630d1bd
Add Serbian to LanguageContext.tsx (#8880) 2025-01-12 09:06:44 +11:00
github-actions[bot] 4390c01cc1
New Crowdin translations by GitHub Action (#8857)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-12 09:06:29 +11:00
Oliver 7eac3d7d42
Forms refactor (#8876)
- Use dayjs for cleaner code
2025-01-12 08:18:42 +11:00
Oliver 000419255a
Adjust StockItem form (#8869)
- Auto-set expiry date
2025-01-11 09:22:53 +11:00
Oliver c99aae5a28
Updated docstring (#8868) 2025-01-10 18:10:42 +11:00
Oliver dcff7a5ccd
Simplify translated string (#8860) 2025-01-08 12:55:56 +11:00
Oliver c815455461
Datamatrix (#8853)
* Implement datamatrix barcode generation

* Update documentation

* Update package requirements

* Add unit test

* Raise error on empty barcode data

* Update docs/hooks.py
2025-01-08 12:06:00 +11:00
Oliver 9138e31e58
Created by (#8848)
* Add 'created_by' field to order API endpoints

* Add 'created_by' filter

* Allow ordering by 'created_by' field

* Update UI tables

- Show "Created By" column
- Column sorting
- Column filtering

* Cleanup order detail pages

* Bump API version

* Refactor table filters

* Fix BuildOrderTable filters
2025-01-08 10:07:38 +11:00
Oliver 296c54a1d7
[UI] API Context (#8851)
* Create ApiContext provider

* Utilize new context

* Remove api from global context

* Refactor <InvenTreeTable>

- No longer need hard-coded API constant

* Refactor useInstance hook

* Refactoring

- QueryCountDatshboardWidget
- NotesEditor
- RenderInstance

* Refactor multiple tables

* Fix typos

* Refactor useFilters hook

- Allow plugins to use this hook!

* Further refactoring

* Refactor API forms

* Cleanup context routing

* Fix provision order
2025-01-08 07:34:06 +11:00
Oliver 3a62bdd276
Ensure error is raised (#8849) 2025-01-07 17:07:07 +11:00
Oliver b42edbf2ab
Fix for notification (#8840)
label -> title
2025-01-07 15:00:48 +11:00
Oliver dcf0bb103e
Order creation fix (#8846)
* Bug fix for PurchaseOrder

- Correctly record the user who created a PO
- Code refactoring

* Updated unit tests
2025-01-07 14:59:22 +11:00
Oliver 94f7890a41
Fix for test results in stock item report context (#8843)
- Allow for "cascade" installed items
- i.e. support multi-level installed items
2025-01-07 10:34:47 +11:00
Oliver ce617b7792
[Documentation] Remove package credits (#8811)
* Remove hard-coded credits from docs

- Extract *actual* package credits
- Auto-build into docs

* Include URLs when generating python license data

* Update readthedocs process

* Better URL extraction

* Adjust build process for RTD

* Spelling fixes

* Install node and yarn

* Command fix

* Improved library sorting

* Improved error message

* Remove credits.md

* Cleanup

* Further cleanup

* Tweak playwright test

* Handle uncaught exception in fetchIcons

* Fix for CORS settings in playwright testing

* Enhance login check

* Fix for barcode test

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-01-06 14:14:38 +11:00
Oliver 40cff05864
Tasks cleanup (#8838)
* Pretty print and typo fix

* Improved output

* Improve logging
2025-01-06 10:06:38 +11:00
Matthias Mair 6b5e0dbb29
remove structlog from internal paths (#8836) 2025-01-06 07:28:28 +11:00
Oliver ae1f9bf274
Navigate to index when deleting a company (#8831) 2025-01-05 22:43:20 +11:00
github-actions[bot] 8b343e570e
New Crowdin translations by GitHub Action (#8826)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-05 20:21:50 +11:00
Oliver b2a3f6d311
Remove old PanelMixin class (#8828)
- Custom panels for legacy UI
- No longer needed
2025-01-05 14:58:07 +11:00
Matthias Mair 7125261bbc
Remove admin shell (#8816) 2025-01-05 12:57:20 +11:00
Matthias Mair ea9e3fb992
Refactor to use structlog (#8747)
* use structlog instead of normal logging

* more fixes

* more fixes

* fix test asserts

* use static name

* fix logger

* fix assert

* fix asserts
2025-01-05 12:48:57 +11:00
github-actions[bot] 5eeb150828
New Crowdin translations by GitHub Action (#8786)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-01 10:41:30 +11:00
Oliver 16e9729308
Allow barcode linking for stock location (#8802) 2024-12-31 15:48:41 +11:00
Oliver 23e4f2f2a2
[Setup] Support X-Forwarded-Proto header (#8790)
* Remove use_x_forwarded_port setting

- As per the docs, this is ignored in favour of use_x_forwarded_host
- So, is not being used anyway

* Add note on x_forwarded_host option

* Add warning message if SITE_URL not provided

* Add support for SECURE_PROXY_SSL_HEADER

* Update configuration template file

* Update SITE_URL docs

* Remove line

* Re-add use_x_forwarded_port

* Docs tweak

* Improve wording

* Fix broken link
2024-12-31 12:33:17 +11:00
Oliver 1c2ad94bb7
Remove old script for calculating translation stats (#8787)
* Remove old script for calculating translation stats

* Update tasks.py

* Adjust unit test call
2024-12-29 20:41:14 +11:00
Oliver 5e79c6906c
[UI] Permission Enhancements (#8785)
* Update page permissions

- Add permission check to <InstanceDetail>
- HIde breadcrumbs and tree for part
- Hide breadcrumbs and tree for stock

* Additional permissions checks
2024-12-29 17:00:27 +11:00
Oliver cd0ee7dbab
Url refactor (#8784)
* Cleanup config template

* Small refactor

- Fix for frontend_base_url setting

* Revert base url

* Fix reverse URL lookup
2024-12-29 14:54:02 +11:00
Oliver 964984ccac
[Refactor] Custom states (#8438)
* Enhancements for "custom state" form

- More intuitive form actions

* Improve back-end validation

* Improve table rendering

* Fix lookup for useStatusCodes

* Fix status display for SockDetail page

* Fix SalesOrder status display

* Refactor get_custom_classes

- Add StatusCode.custom_values method

* Fix for status table filters

* Cleanup (and note to self)

* Include custom state values in specific API endpoints

* Add serializer class definition

* Use same serializer for AllStatusView

* Fix API to match existing frontend type StatusCodeListInterface

* Enable filtering by reference status type

* Add option to duplicate an existing custom state

* Improved validation for the InvenTreeCustomUserStateModel class

* Code cleanup

* Fix default value in StockOperationsRow

* Use custom status values in stock operations

* Allow custom values

* Fix migration

* Bump API version

* Fix filtering of stock items by "status"

* Enhance status filter for orders

* Fix status code rendering

* Build Order API filter

* Update playwright tests for build filters

* Additional playwright tests for stock table filters

* Add 'custom' attribute

* Fix unit tests

* Add custom state field validation

* Implement StatusCodeMixin for setting status code values

* Clear out 'custom key' if the base key does not match

* Updated playwright testing

* Remove timeout

* Refactor detail pages which display status

* Update old migrations - add field validator

* Remove dead code

* Simplify API query filtering

* Revert "Simplify API query filtering"

This reverts commit 06c858ae7c.

* Fix save method

* Unit test fixes

* Fix for ReturnOrderLineItem

* Reorganize code

* Adjust unit test
2024-12-29 08:45:23 +11:00
Matthias Mair c582ca0afd
Add scan to action menu (#8781)
* small style fixes

* refactor: split scanning and dialog logic

* feat: Add modal and quick action to scan a barcode from anywhere
2024-12-29 01:12:42 +11:00
Oliver 3e73162368
Barcode scanning (#8732)
* Implement new "general purpose" barcode scan dialog

- Separated widgets for camera / keyboard / wedge scanner
- UI / UX improvements

* Handle scan results

* Fix missing imports

* Handle successful global scan

* Handle error when linking barcode

* Backend fix for InvenTreeInternalBarcodePlugin

* Error handling

* Working on scanner input

* Refactor scan page

* Callback from scanner input

* Refactoring <Scan> page

* Allow InvenTreeTable to be used with supplied data

* Refactor optionalparams

* Refactoring table of scan results

* Implement callbacks

* Navigate from barcode table

* Fix delete callback

* Refactor callbacks

* Refactor idAccessor

- Access as part of useTable hook
- No longer hard-coded to 'pk'

* prevent duplicate scans

* Fix for deleting items from table

* Cleanup

* Bump API version

* Adjust playwright tests

* Update playwright tests

* Update barcode screenshots

* Fix links

* Add quick links to barcode formats

* Updated screenshots

* Fix for BuildLineSubTable

* Specify idAccessor values

* Clear barcode input after timeout period

* Move items

* Fix for playwright test

* Remove debug print

* Additional error ignores

* Cleanup scanner input

- Simplify
- Prevent errant keycodes from closing the scanner dialog

* Playwright test adjustments
2024-12-28 20:38:53 +11:00
github-actions[bot] 0765b00520
New Crowdin translations by GitHub Action (#8752)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-27 19:43:52 +11:00
Oliver 189f2303b8
[PUI] Set password (#8770)
* Add <ChangePassword> page

* Rename Set-Password to ResetPassword

* Add unit testing

* Ensure user is properly logged into page

* Update playwright tests

* Small tweaks
2024-12-27 11:01:48 +11:00
Matthias Mair da21e39e84
Turn off debug by default (#8743)
* turn off debug by default

* fix log level / debug settings for workflows

* fix typo
2024-12-26 20:16:53 +11:00
Oliver d4ee8c53b2
Fix default value for SESSION_COOKIE_SECURE (#8767)
- Default value was previously 'True'
- Documentation indicated that it was 'False'
- Value in config_template.yaml was 'False' (but commented out)
2024-12-26 11:25:58 +11:00
Oliver ae7f4e33d5
Zero stock fix (#8766)
* Change backend validation

- Allow stock adjustments with zero quantity

* Frontend changes
2024-12-26 10:42:07 +11:00
Oliver c79fc281fd
Fix typo (#8757)
- registraton -> registration
2024-12-25 07:38:39 +11:00
Matthias Mair fe68dc7318
Refactor fix formatting exclusion (#8746)
* fix ruff exclusions

* aut-format

* Fix docstrings

* more fixes

* ignore error(s)

* fix imports

* adjust descriptions for build
2024-12-25 07:16:24 +11:00
dependabot[bot] 02e43061b2
Bump jinja2 from 3.1.4 to 3.1.5 in /src/backend (#8751)
* Bump jinja2 from 3.1.4 to 3.1.5 in /src/backend

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: indirect
...

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

* fix req

---------

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>
2024-12-24 11:54:10 +11:00
Matthias Mair 7f1cc4658b
Fix REST registration endpoint (#8738)
* Re-add html account base
Fixes #8690

* fix base template

* override dj-rest-auth pattern to fix fixed token model reference

* pin req

* fix urls.py

* move definition out to separate file

* fix possible issues where email is not enabled but UI shows that registration is enabled

* fix import order

* fix token recovery

* make sure registration redirects

* fix name change

* fix import name

* adjust description

* cleanup

* bum api version

* add test for registration

* add test for registration requirements
2024-12-24 11:53:25 +11:00
Oliver 8fcebefa0b
Handle error when loading icon pack (#8753)
* Handle error when loading icon pack

* Update
2024-12-24 10:18:00 +11:00
Matthias Mair ec6280dacd
MFA add better logging (#8745)
* add better logging

* use structlog
2024-12-24 07:22:28 +11:00
Matthias Mair 728e0894aa
Factor out helper (#8744)
* facour out helper

* fix import path
2024-12-24 07:20:27 +11:00
Oliver 71eb2814d4
Remove django-import-export (#8685)
* Remove django-import-export requirement

* Update settings.py

* Clean up admin files

* Remove much of the old BOM exporter framework

* Add note for future self

* Remove dead unit test files

* Remove defunct AjaxView classes

* Remove InvenTreeRoleMixin

* Update docs for data import

* Export docs
2024-12-24 07:19:36 +11:00
Oliver f31ba657cc
API error handling (#8739)
* API error handling

- Add error handlers to various API calls

* Fix return type
2024-12-24 07:18:56 +11:00
github-actions[bot] 933330fa51
New Crowdin translations by GitHub Action (#8683)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-23 10:36:39 +11:00
Matthias Mair aa905166c5
Switch to zoneinfo from pytz (#7645)
* switch to zoneinfo from pytz

* fix lookup

* fix assert

* fix another round of assertions
2024-12-23 08:46:31 +11:00
Joe Rogers 0bcad6b340
Add separate dialog for 'Ship Order' button (#8734) 2024-12-22 16:08:45 +11:00
Oliver d8207c88f0
Remove unused setting (#8731) 2024-12-21 08:33:31 +11:00
Oliver aabcf52cd2
Forms fixes (#8722)
* Refactor form fields

- Allow error message to be passed through via field definition
- Return error information to onFormError

* Fix debounce issue for text fields

* Fix for useForm hook

* Badge fix

- Fix badge rendering for SalesOrderShipment

* Cleanup unit test
2024-12-20 14:53:39 +11:00
Oliver 68ac4118e9
[UI] Link fix (#8726)
- Fixes anchor issues in stock tracking table
2024-12-20 12:21:21 +11:00
Oliver 130bc84b44
Badge fix (#8725)
- Fix badge rendering for SalesOrderShipment
2024-12-20 12:13:00 +11:00
Matthias Mair aad5575cd2
Fix MFA auth flow (#8720)
* Re-add html account base
Fixes #8690

* fix base template
2024-12-20 07:21:22 +11:00
Oliver 53792693f5
Allow backup_value to be specified to the 'getkey' report helper (#8719) 2024-12-19 09:24:01 +11:00
Matthias Mair 17fd7f32a4
consider INVENTREE_RESTRICT_ABOUT setting (#8717) 2024-12-19 08:37:39 +11:00
Oliver 6634bc54bd
Remove javascript rendering (#8713) 2024-12-19 07:34:01 +11:00
Oliver 88bfb23362
Cleanup tags (#8712)
* Remove part_allocation_count tag

* Remove more dead tags
2024-12-19 07:33:48 +11:00
Oliver e37e72357a
Cleanup old settings (#8709)
* Use LABEL_ENABLE and REPORT_ENABLE settings in PUI

* Cleanup base.html

- Should reduce db hits slightly

* Remove defunct homepage settings

* Cleanup old settings

* Adjust unit test
2024-12-19 07:31:59 +11:00
Matthias Mair 1c9f56011c
Various SAST fixes (#8718)
* fix type

* fix typing

* fix python:S5713

* fix python:S1066

* fix python:S3516

* fix python:S5727

* fix python:S5886
2024-12-19 07:31:33 +11:00
Oliver 1493bbaac6
[Refactor] Template fix (#8710)
* Commonize favicon template

* Cleanup templates
2024-12-19 01:18:13 +11:00
Oliver 378d69f0b3
[UI] Enhanced null checks (#8706)
* Extra null check in SettingList.tsx

* Null checks on error responses
2024-12-19 00:59:56 +11:00
Oliver 1eaf3a4594
Image upload error (#8700)
* Add helper function for displaying API error message

* Provide feedback on image upload

* Update notification
2024-12-18 23:24:18 +11:00
Oliver 4569fd273d
Cast barcode scan IDs to list (#8701)
- Fixes issues with limitations on old MySQL server
2024-12-18 16:51:32 +11:00
Oliver 1910612725
Fix for table update (#8698)
- Retain data when updating a single record
- Fixes https://github.com/inventree/InvenTree/issues/8693
2024-12-18 14:21:31 +11:00
Oliver 9f1d1abd5b
Remove "crispy forms" integration (#8684)
* Remove "crispy forms" integration

- No longer doing any back-end form rendering

* Remove django-formtools package

* Fix comment in settings.py

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-12-18 09:25:14 +11:00
Oliver 886d1b39cf
Remove old javascript file (#8697) 2024-12-18 09:14:45 +11:00
Matthias Mair 8fcb3c2506
Refactor auth adaptations into dedicated file (#8687)
* Update docker.yaml (#278)

* reset

* rename functions to better reflect function

* move authentication behaviour overrides to explicit file

* fix import order

* fix import path
2024-12-17 22:20:21 +11:00
Oliver acb756eacc
Remove custom context processors (#8540)
* Remove custom context processors

- Only merge after 0.17.0 release
- Remove code which injects custom context variables into CUI requests
- Not needed for new API-based PUI code
- Speeds up requests - remove unnecessary DB hits

* Remove broken import

* Remove custom staticfile processing

- No longer needed as CUI is gone
2024-12-17 13:48:43 +11:00
Matthias Mair 24f433c948
Remove CUI (#8384)
* remove CUI

* fix loading

* fix login middleware

* remove css template functions

* tmp fix for recurtion

* remove old test

* fix assertations

* fix middleware tests

* re-add plugin tags

* remove thirdpartjs

* re-add mfa urls

* remove old js

* remove cui tags

* simplify error testing

* use license endpoint for testing instead

* disable successful test

* revert de-activation

* remove references to old UI customisation

* update docs to remove reference to removed page

* disable availabilty check

* possible fix to importing problem

* Revert "possible fix to importing problem"

This reverts commit ee9fccdc8c.

* remove old get_context_data

* fix migration

* remove unused function

* remove unused stuff

* remove unused template

* fix formatting of readme
2024-12-17 12:30:41 +11:00
Matthias Mair d4be203b03
small style changes (#8681) 2024-12-17 10:31:21 +11:00
github-actions[bot] 5d2329651a
New Crowdin translations by GitHub Action (#8668)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-17 10:09:12 +11:00
Oliver 3041d9050b
Bump version number (#8677)
- Update to 0.18.0 dev
- Will likely become 1.0.0 dev
2024-12-17 09:16:38 +11:00
Oliver d42435c841
[Refactor] Barcode scanning (#8658)
* Enhance SupplierPart barcode mixin

- Provide richer response based on available data

* Add comment

* Add new fields to BarcodePOReceiveSerializer

* Add "supplier" information to serializer

* Add 'is_completed' method for PurchaseOrderLineItem

* Refactor SupplierBarcodeMixin

* Tweak error message

* Logic fix

* Fix response data

* Improved error checking

* Bump API version

* Bump API version

* Error handling

- Improve get_supplier_part method
- Error handling
- Wrap calls to external plugins

* Enhanced unit testing and exception handling

* More exception handling

* Fix circula imports

* Improve unit tests

* Adjust filtering

* Remove outdated tests

* Remove success code for matching item
2024-12-17 07:39:49 +11:00
Oliver 169f4f8350
[PUI] Order Parts Wizard (#8602)
* Add generic <WizardDrawer />

* Add a wizard hook

- Similar to existing modal form hook

* Slight refactor

* Simple placeholder table

* Only purchaseable parts

* Add callback to remove selected part

* Add step enum

* Improve wizard

* Render supplier image

* Add validation checks for wizard

* Further wizard improvements

* add error support

* Improvements

* Refactoring

* Add error checking

* Order from part detail page

* Implement from SalesOrder view

* Implement from build line table

* Implement from StockItem table

* Add to StockDetail page

* Cleanup PartTable

* Refactor to use DataTable interface

* Simplify wizard into single step

* Refactoring

* Allow creation of new supplier part

* Cleanup

* Refactor <PartDetail>

* Fix static hook issue

* Fix infinite useEffect

* Playwright tests
2024-12-16 23:07:33 +11:00
Oliver 34b70d0a39
PUI: Adjust test result table (#8667)
- Allow disable of results for "disabled" tests
- Controlled via additional table filter
2024-12-16 14:28:27 +11:00
github-actions[bot] 88ab59359f
New Crowdin translations by GitHub Action (#8654)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-16 09:50:27 +11:00
Matthias Mair 7bfd36f7cb
Refactor: Move settings definitions (and most validators) out of models.py (#8646)
* move out settings definitions

* fix import paths

* move validators into appropiate settings

* fix refactor error

* fix import paths

* move types out

* add validator tests

* add option to reload internal issues

* fix tests
2024-12-13 11:57:11 +11:00
Matthias Mair dd83735710
Fix vulnerable dependencies (#8655)
* bump container reqs

* bump vul frontend dep

* fix tests
2024-12-12 08:38:11 +11:00
Oliver 1adc42d422
Filter fix (#8652)
* Allow ordering  by IPN

* Update table
2024-12-11 15:44:00 +11:00
github-actions[bot] ad6bd635e6
New Crowdin translations by GitHub Action (#8632)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-11 15:43:47 +11:00
Oliver 3554429baa
SalesOrder Data Migration (#8585)
* Add data migration to remedy bug

* Add migration tests

* Remove faulty migration test

* Tweak filter

* Update migration file

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-12-11 07:52:18 +11:00
Michael 5aae93e635
Added first example to plugin unit test (#8636)
* Start documentation chapter for plugin tests

* Added env variables to the doc

* Fix style errors

* Further style bugs

* Reformat environment variables

* Reformat environment variables

* Add comments from wolflu05

* Add text to the intro

* Added first example the plugin unit test

* Addred line it function

* Typo

* Typo

* Typo
2024-12-11 07:27:44 +11:00
Oliver 64dc5659bc
Add ITEM_RECEIVED event (#8651)
* Add ITEM_RECEIVED event

- Triggered when an item is recevied against a purchase order

* Adjust unit test
2024-12-11 07:21:35 +11:00
Oliver 4a8cb6f7f3
Add IPN column to RelatedPartTable (#8650) 2024-12-10 21:23:23 +11:00
dependabot[bot] d1c06ed12a
Bump nanoid from 3.3.7 to 3.3.8 in /src/frontend (#8647)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 19:52:05 +11:00
dependabot[bot] 987e0272f4
Bump django from 4.2.16 to 4.2.17 in /src/backend (#8634)
* Bump django from 4.2.16 to 4.2.17 in /src/backend

Bumps [django](https://github.com/django/django) from 4.2.16 to 4.2.17.
- [Commits](https://github.com/django/django/compare/4.2.16...4.2.17)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

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

* fix req

---------

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>
2024-12-09 07:37:13 +11:00
Oliver 82bce192e6
Fix URL generation error (#8630)
- Implement better helper function for handling URL generation
- Handle errors in said function
2024-12-06 14:44:13 +11:00
Oliver 9f120ef76f
Bug fix for stock transfer (#8631)
- Prevent duplication of tracking data
2024-12-06 14:41:28 +11:00
github-actions[bot] 4e36c7a2d7
New Crowdin translations by GitHub Action (#8589)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-05 19:53:16 +11:00
Oliver 744dc895e9
Fix ordering issue in notifications table (#8626) 2024-12-04 17:56:56 +11:00
Oliver 1a8b030819
[PUI] Supplier part badges (#8625)
* API fixes for SupplierPart

- Move API filtering into SupplierPartFilter class
- Correct field annotation for detail view

* Add "in stock" and "no stock" badges to SupplierPart detail

* Update details

* Annotate 'on_order' quantity for SupplierPart

* Add "has_stock" filter to SupplierPart API

* Improve API query efficiency

* Add 'has_stock' filter to table

* Update <SupplierPartDetail>

* Bump API version
2024-12-03 15:21:06 +11:00
dependabot[bot] 47b8f8fb32
Bump pyjwt from 2.10.0 to 2.10.1 in /src/backend (#8619)
* Bump pyjwt from 2.10.0 to 2.10.1 in /src/backend

Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.10.0 to 2.10.1.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.10.0...2.10.1)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: indirect
...

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

* fix req

---------

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>
2024-12-03 14:04:39 +11:00
Matthias Mair a20fd9d231
[PUI] fix Table Context Menu Links (#8623)
* Add switch to disable context menu
Fixes #8553

* make attachment links right-clickable
2024-12-03 09:07:18 +11:00
Matthias Mair 4f3e8cb0a0
[PUI] infinite loop if classic frontend is disabled (#8614)
Fixes #8575
2024-12-02 21:42:31 +11:00
Oliver 21cd285599
[PUI] Url fixes (#8615)
* Refactor URL generation

- Use built-in URL function
- Refactor "admin" button
- Refactor API image
- Refactor printing actions
- Refactor attachment link

* Refactor URL generation for icon packs
2024-12-02 18:49:15 +11:00
Oliver 147ca53629
Build required widget (#8610)
* Implement "required for build orders" dashboard widget

* Allow dashboard widges to be optionally disabled

* Fix for enabled check
2024-12-02 13:41:31 +11:00
Matthias Mair f7697bd481
make logic simpler (#8613) 2024-12-02 10:49:28 +11:00
Matthias Mair f9487597fb
[PUI] Make dashboard header look less like a widget (#8611)
* blend in header

* move indicator
2024-12-02 10:48:44 +11:00
Michael 8ac852728e
Added a comment on database creation for local testing (#8603)
* New pic

* Marked external icon in picture

* Added a comment on database creation for unittest

* Update contributing.md

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-12-02 09:47:49 +11:00
Oliver 7a3ceb9d6e
Fix for hasOwn (#8600)
- Also add null check on function call
- Closes https://github.com/inventree/InvenTree/issues/8595
2024-11-30 21:32:48 +11:00
Oliver 3149ae79ce
Allow settings value to be nullified (#8596)
* Allow settings value to be nullified

* Additional null check

* Bump API version

* Fix for unit test
2024-11-30 15:30:28 +11:00
Oliver 327884ca26
[PUI] Barcode title (#8591)
* Increase query limit

* PUI: Barcode UI tweaks

- Small visual tweaks to barcode dialogs
2024-11-29 17:32:15 +11:00
Oliver 20d862e350
Return Order - Improvements (#8590)
* Increase query limit

* Add "quantity" field to ReturnOrderLineItem model

* Add 'quantity' to serializer

* Optionally split stock when returning from customer

* Update the line item when splitting

* PUI updates

* Bump API version

* Add unit test
2024-11-29 17:06:35 +11:00
Oliver dd9a6a8a2d
Event enum (#8573)
* Add enumeration for stock events

* Update function def

* Refactor build events

* Plugin events

* Update order events

* Overdue order events

* Add documentation

* Revert mkdocs.yml

* Stringify event name

* Enum cleanup

- Support python < 3.11
- Custom __str__

* Add unit tests

* Fix duplicated code

* Update unit tests

* Bump query limit

* Use proper enums in unit tests
2024-11-29 12:05:05 +11:00
Oliver 390828d166
Hide "location" column in certain conditions (#8587) 2024-11-29 10:45:24 +11:00
github-actions[bot] ced695b099
New Crowdin translations by GitHub Action (#8536)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-29 10:45:13 +11:00
Matthias Mair 7478a2853a
[PUI] Fix stock item state rendering (#8572)
* fix rendering of stock status

* update api to support custom status

* Revert "update api to support custom status"

This reverts commit e7ff5aa398.
2024-11-29 07:48:19 +11:00
Oliver db128f9322
Bug fix: record shipment date (#8580)
* Bug fix: record shipment date

- Ref: https://github.com/inventree/InvenTree/pull/6449

* Update unit test
2024-11-28 15:48:06 +11:00
Oliver 49cb63cb54
Add "stock" table to "category" page (#8579)
- Ref: https://github.com/inventree/InvenTree/discussions/8578
2024-11-28 15:15:04 +11:00
Oliver c074250ce6
Stock Transfer Improvements (#8570)
* Allow transfer of items independent of status marker

* Update test

* Display errors in stock transsfer form

* Add option to set status when transferring stock

* Fix inStock check for stock actions

* Allow adjustment of status when counting stock item

* Allow status adjustment for other actions:

- Remove stock
- Add stock

* Revert error behavior

* Enhanced unit test

* Unit test fix

* Bump API version

* Fix for playwright test

- Added helper func

* Extend playwright tests for stock actions
2024-11-28 07:06:58 +11:00
Oliver 28ea275d1a
Consumed filter (#8574)
* Add API filter for 'consumed' status

* Add filter to table

* Bump API vession
2024-11-28 00:59:14 +11:00
Oliver a48d23b161
Set status when returning from customer (#8571)
* Set status when returning from customer

* Fix default customer for return order table

* Set status when receiving items against a ReturnOrder

* Bump max query time for currency endpoint

* Bump API version
2024-11-28 00:09:18 +11:00
Oliver 81e87a65e2
[PUI] Fix stock actions (#8569)
* Fix useAssignStockItems

- Only allow "salable" parts

* Assign item to customer

* Adjust playwright tests
2024-11-27 15:01:07 +11:00
Matthias Mair af39189e7e
Add SelectionList concept (#8054)
* Add SelectionList model, APIs and simple tests

* Add managment entries

* Add field to serializer

* add more tests for parameters

* Add support for SelectionList to CUI

* Add selection option to PUI

* fix display

* add PUI admin entries

* remove get_api_url

* fix modeldict

* Add models for meta

* Add test for inactive lists

* Add locking and testing for locking

* ignore unneeded section

* Add PUI testing for adding parameter

* Add selectionList admin

* also allow creating entries

* extend tests

* force click

* and more testing

* adapt test?

* more assurance?

* make test more robust

* more retries but shorter runs

* Update playwright.config.ts

* Add docs

* Add note regarding administration

* Adapt to https://github.com/inventree/InvenTree/pull/8093

* make help text more descriptive

* fix migration

* remove unneeded UI entries

* add lables and describtions to TableFields

* factor out selectionList forms

* add key to button

* cleanup imports

* add editable fields

* Add function to add row

* fix render warning

* remove dead parameter

* fix migrations

* fix migrations

* fix format

* autofix

* fix migrations

* fix create / update loop

* fix addition of empty lists

* extend tests

* adjust changelog entry

* fix updating loop

* update test name

* merge migrations

* simplify request

* - Add entry count to list
- Move parameter table to default accordion

* fix test

* fix test clearing section

---------

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2024-11-27 13:30:39 +11:00
Oliver 20fb1250f8
Add new report filters for accessing database tables (#8560)
* Add new report filters for accessing database tables

* Simplify

* Handle exception

* Add docs

* Update docstrings
2024-11-27 07:51:27 +11:00
Oliver 368f3b7bd4
Remove regex dependency (#8547)
* Remove regex from requirements file

* Fix order of operations

- Remove hidden chars before removing HTML tags

* Remove requirement for regex package

* Additional unit tests

* Remove debug msg

* Fix for newline removal

* Fix variable shadowing

* Defer import of PIL.Image
2024-11-26 20:29:51 +11:00
Oliver 9d2ca5e617
Set null location on stock item: (#8565)
- When consumed by a build order
- When shipped to a customer
2024-11-26 20:29:37 +11:00
Oliver 7b1b476851
Handle pre-rendering when classic frontend is disabled (#8563) 2024-11-26 20:29:19 +11:00
Oliver 86c4a67bf3
Add location when creating multiple serials (#8564) 2024-11-26 20:29:07 +11:00
Matthias Mair 594dc49b84
Bump backend deps (#8559)
* bump backend deps

* bump api
2024-11-26 09:25:06 +11:00
Matthias Mair 5cda270e4b
Small SAST fixes (#8534)
* fix various middle-high SAST errors

* fix another small issue

* add default
2024-11-26 09:15:44 +11:00
Matthias Mair 0f194af585
Fix spelling of InvenTree in code base (#8561)
* fix spelling of InvenTree in code

* fix spelling in frontend
2024-11-26 08:29:47 +11:00
Oliver d26a683cf1
Add unit test (#8550)
- Unit test to ensure event is fired when stock item is created OR updated
- Ref: https://github.com/inventree/InvenTree/pull/8546
- Ref: https://github.com/inventree/InvenTree/issues/8452
2024-11-25 22:43:17 +11:00
Oliver 51d981a102
Add playwright tests (#8549)
- Add checks for invalid logins
2024-11-25 22:34:35 +11:00
Volker ee9980e481
after_save_stock_item (#8546)
This pull request addresses the issue discussed in #8452
2024-11-25 22:02:22 +11:00
Oliver 809a978f7d
API date filter updates (#8544)
* Add 'stocktake_before' and 'stocktake_after' filters for StockItem API

* Enable new filters for StockItemTable

* Update CUI table filters

* Add more date filter options for orders

* Add date filters to BuildList

* Update BuildOrderTable filters

* Add more order date filters

* Cleanup PurchaseOrderFilter code

* Implement more PUI table filters

* Add "Completion Date" column to PurchaseOrderTable

* Update ReturnOrderTable

* Add 'text' option for TableFilter

* filter state management

* Bump API version

* Sorting for table filters

* Add playwright tests for stock table filtering

* Playwright updates

- Add some helper functions for common operations

* Refactoring for Playwright tests
2024-11-25 21:36:31 +11:00
Matthias Mair 66a769edca
[PUI] SSO improvments (#8527)
* disable PUI SSO login button if not fully set up
see https://github.com/inventree/InvenTree/issues/7972

* refactor provider urls to also support oidc providers

* cleanup
2024-11-25 07:25:39 +11:00
Oliver e2e0ecc674
Remove dummy migration file (#8537) 2024-11-22 09:51:44 +11:00
Jacob Felknor 94089c94b7
Add PO wildcard default setting (#8532)
* add PO wildcard default setting

* Revert "add PO wildcard default setting"

This reverts commit 6cc577fa73.

* use custom format spec for "wildcard with default" reference pattern

* add wildcard with default to docs

* add test for wildcard with default
2024-11-22 09:27:06 +11:00
github-actions[bot] 6250901c2f
New Crowdin translations by GitHub Action (#8491)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-21 15:00:52 +11:00
Oliver 01aa8bb2ba
Plugins installation improvements (#8503)
* Append plugins dir to pythonpath

* Error handling in plugin helpers

* Install plugin into "plugins" directory

* Use plugins dir when installing from plugins.txt

* Implement removal of plugin from plugins dir

* Remove the dist-info dirs too

* Cleanup

* Catch errors

* Specify plugin location for CI

* Remove plugins.txt support

* Improve regex for plugin matching

* Revert "Remove plugins.txt support"

This reverts commit 0278350351.

* Remove PLUGIN_ON_STARTUP support

* Better error catching for broken packages

* Cleanup

* Revert "Cleanup"

This reverts commit a40c85d47d.

* Improved exception handling for plugin loading

* More logging

* Revert uninstall behaviour

* Revert python path update

* Improve check for plugins file

* Revert check on startup

* Better management of plugins file

- Use file hash to determine if it should be reloaded

* Fix docstring

* Update unit tests

* revert gh env

* No cache

* Update src/backend/InvenTree/plugin/installer.py

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

* Use hashlib.file_digest

* Remove --no-cache-dir

* Revert "Use hashlib.file_digest"

This reverts commit bf84c8155e.

* Add note for future selves

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-11-21 07:38:26 +11:00
Oliver 13440a6eed
Better handling for undefined values in SettingsList (#8531) 2024-11-20 20:17:30 +11:00
Oliver 41a9b6897a
Cleanup format_number (#8529)
-  Removed unused line
2024-11-20 12:26:13 +11:00
Matthias Mair ad6f8596eb
fix refreshInstance type and remove return (#8478)
* fix refreshInstance type and remove return

* Add seperate refresh function with promise as return

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-11-20 09:38:59 +11:00
Oliver 3a81e0380d
Improve plugin panels (#8523)
* Improve plugin panels

- Do not prepend plugin name unless necessary
- Allows for "cleaner" navigation URLs

* Fix typo
2024-11-20 09:28:02 +11:00
Matthias Mair 4aa7c59f5b
Bump backend linting deps (#8526)
* upgrade deps

* bump eslint
2024-11-20 08:54:37 +11:00
Oliver 7fcf068f05
Relation update (#8524)
* Add "note" field to PartRelated model

* Improved API

* Add field to serializer

* Implement in RelatedPartTable

* Bump API version
2024-11-20 08:54:19 +11:00
dependabot[bot] 2bc6ddbd95
Bump cross-spawn from 7.0.3 to 7.0.6 in /src/frontend (#8517)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-11-20 07:47:15 +11:00
Oliver db70597755
Add empty context menu (#8519)
* Add empty context menu

- For tables without "row actions"
- Show an "empty" menu
- For UX consistency across all tables

* Fix for playwright tests

- Recent changes to the demo dataset...

* Fix typo
2024-11-20 00:01:19 +11:00
Matthias Mair e4a39692ff
Add structlog (#7937)
* Add structlog
Closes #3960

* fix formatting

* make log writing optional

* ignore logfiles

* fix variable naming
2024-11-19 19:48:20 +11:00
Oliver 03c3417841
[Refactor] Remove 'test statistics' (#8487)
* [Refactor] Remove 'test statistics'

* Bump API version
2024-11-19 01:05:38 +11:00
Oliver 6bf6733268
UI link fix (#8508)
* Add tags to test if CUI or PUI are enabled

* Fix PUI redirect
2024-11-18 11:32:33 +11:00
Oliver 3037243de2
Small tweak to plugin staticfile collection output (#8498) 2024-11-16 15:38:07 +11:00
Oliver 10e88cd3e4
Use ApiIcon for plugin panels (#8496)
- Richer set of icons available
- Allows plugin to define their own icon
2024-11-16 14:57:17 +11:00
Jacob Felknor f9d3f43b02
configurable ldap group classes (#8475)
* configurable ldap group classes

* remove accidental duplicate line

* fix style issues

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-11-16 09:08:27 +11:00
dependabot[bot] 6fcd691070
Bump @eslint/plugin-kit from 0.2.0 to 0.2.3 in /src/backend (#8492)
Bumps [@eslint/plugin-kit](https://github.com/eslint/rewrite) from 0.2.0 to 0.2.3.
- [Release notes](https://github.com/eslint/rewrite/releases)
- [Changelog](https://github.com/eslint/rewrite/blob/main/release-please-config.json)
- [Commits](https://github.com/eslint/rewrite/compare/core-v0.2.0...plugin-kit-v0.2.3)

---
updated-dependencies:
- dependency-name: "@eslint/plugin-kit"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-16 08:38:50 +11:00
Oliver fbe222f6eb
Fix for "installed in" display (#8480)
* Fix for "installed in" display

- Allow "details" field to be passed custom params

* Add extra debug to link checking

* API: fix for StockTrackingList entry

* Display links for stock items in tracking entry table

* Generate absolute links for item renderers

* Revert "Generate absolute links for item renderers"

This reverts commit 878fba91d0.

* Bump API version

* Add playwright tests
2024-11-15 23:28:47 +11:00
Oliver b5599c91ea
[Plugins] Pass queryClient through to plugin (#8486) 2024-11-15 17:31:47 +11:00
github-actions[bot] 7a3bed5b40
New Crowdin translations by GitHub Action (#8455)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-15 12:10:55 +11:00
Matthias Mair 65e4b69c16
Add row context (right click) additionally to actions in tables (#8013)
* Add row context

* fix lockfile

* fix type

* fix styling

* formatting fixes
2024-11-15 10:50:08 +11:00
Matthias Mair ee01ac592f
fix various sonarlint warnings (#8479)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2024-11-14 16:58:39 +11:00
Oliver 9d8f874bf3
Remove "locked" badge (#8477)
- Has snuck back in due to merge conflicts
2024-11-14 16:11:12 +11:00
Oliver da112211e5
Format number (#8482)
* Add extra options for 'format_number' helper

* Update documentation

* Improved typing hints and docs cleanup

* Fix link
2024-11-14 16:11:01 +11:00
Oliver 246f17113f
Fix for locate item plugins (#8473)
* A hook for caching active plugins

* Add LocateItemButton

* Implement "locate" button for location detail page too

* Fix for StockApiMixin.get_serializer

- Recent refactoring removed 'path_detail' attribute

* Fix offloading of 'locate'

* Remove debug msg

* Add custom message

* Remove force_async call

* Add playwright tests
2024-11-13 06:49:48 +11:00
Oliver 7b50f3b1d3
[PUI] Page titles (#8467)
* Add <PageTitle /> component

* Use useEffect to override hard-coded value

* Ensure page titles are tracked across the site

* Adjust unit tests

* Playwright test updates

* Tweak tests

* Update InvenTreeTable.tsx

Revert unused change
2024-11-13 06:49:28 +11:00
Oliver 113b9e9fd9
CUI: Fix for navbar logo (#8472)
- Closes https://github.com/inventree/InvenTree/pull/6901
2024-11-12 22:36:12 +11:00
Oliver 1eae56ff1e
Catch invalid decimal conversion (#8470)
- Thanks to  fuzzers reported by sentry.io
2024-11-12 19:56:00 +11:00
Oliver 9ab532a067
Improve null checks for SalesOrder.shipment (#8469) 2024-11-12 19:55:49 +11:00
Matthias Mair 0872beaba9
[PUI] Switch linting to biome (#8317)
* bump pre-commit

* add biome

* autofixes

* use number functions

* fix string usage

* use specific variable definition

* fix missing translations

* reduce alerts

* add missing keys

* fix index creation

* fix more strings

* fix types

* fix function

* add missing keys

* fiy array access

* fix string functions

* do not redefine var

* extend exlcusions

* reduce unnecessary operators

* simplify request

* use number functions

* fix missing translation

* add missing type

* fix filter

* use newer func

* remove unused fragment

* fix confusing assigment

* pass children as elements

* add missing translation

* fix imports

* fix import

* auto-fix problems

* add autfix for unused imports

* fix SAST error

* fix useSelfClosingElements

* fix useTemplate

* add codespell exception

* Update pui_printing.spec.ts

* Update pui_printing.spec.ts

* add vscode defaults
2024-11-12 11:03:08 +11:00
Chris Thorn e7cfb4c3c0
Add level indicators and path to stock location and part category dropdowns (#8366)
* Add level indicators and path to stock location dropdown

* Add level indicators and path to part category dropdown

* Updated stock location string to include location path

* Fix PUI form test (set location)

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2024-11-12 09:48:16 +11:00
Oliver ea1cc4d8dc
Fix for useReturnOrderLineItemFields (#8462)
- Remove 'responsible' field from form-set
- Not actually available on the endpoint
2024-11-11 12:28:44 +11:00
Matthias Mair 9cd0394dc4
Remove unneeded AjaxView usage (#8461)
* remove unneeded AjaxView usage

* add schema

* bump schema version

* make schema more acurate

* exclude not found view

* make script also axept base api
2024-11-11 09:11:20 +11:00
Oliver 255a5d083e
[PUI] Part allocations (#8458)
* Add new backend filters for BuildLine API

* PUI: Better display of part allocations against build orders

* Add 'order_outstanding' filter to SalesOrderLineItem API

* Add new table showing outstanding SalesOrder allocations against a part

* Update playwright test

* Cleanup

* Bump API version

* Add more table columns

* Tweak UsedInTable

* Another table tweak

* Tweak playwright tests
2024-11-09 20:22:26 +11:00
github-actions[bot] a8e833a226
New Crowdin translations by GitHub Action (#8436)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-08 23:05:35 +11:00
Oliver 2c294d6ebe
Sales order improvements (#8445)
* Migration for SalesOrderAllocation

- Allow allocation against order with null shipment

* Enhaced query efficiency

* Further API cleanup

* Adjust serializer

* PUI updates

* Enable editing of allocation shipment

* Improve shipment filtering

* Add sub-table for salesorderlineitem

* Add helper method to SalesOrder to return pending SalesOrderAllocations

* Fix for CUI

* Update form for CUI

* Prevent SalesOrder completion with incomplete allocations

* Fixes for StockItem API

* Frontend refactoring

* Code cleanup

* Annotate shipment information to SalesOrder API endpoint

* Update frontend PUI

* Additional filtering for SalesOrderAllocation

* Bump API version

* Hide panel based on user permissions

* js linting

* Unit test fix

* Update playwright tests

* Revert diff

* Disable playwright test (temporary)

* View output from build table
2024-11-08 23:05:24 +11:00
Oliver 656950aea3
UI consolidation (#8450)
* UI consolidation

- Combine "suppliers" and "manufactuers" onto same tab

* Update StylishText.tsx

Remove unused import
2024-11-08 23:05:13 +11:00
Matthias Mair cd9f491dc6
Remove coupling of tests to cui (#8389)
* remove coupling of tests to cui

* all testing for PUI absolute urls

* remove overlapping test

* refactor middleware check

* move static things into global

* factor out test target

* re-add api exception

* keep using settings.js for now
2024-11-08 19:36:33 +11:00
Oliver 8f24119f29
Fix for stock item edit (#8451)
- Pass stockItem instance through to form
2024-11-08 13:22:46 +11:00
Oliver 011108cb50
Adjustments to default template file (#8440)
* Adjustments to default template file

- Do not specify SAMESITE_COOKIE options by default
- Fallback to the values in settings.py

* Update config_template.yaml
2024-11-08 10:50:13 +11:00
Oliver c062d5e48d
Cleanup modals (#8432)
* Cleanup modals

* Fix for playwright test

* Playwright test updates
2024-11-06 21:53:37 +11:00
Oliver e46ae1a4e6
Enable ordering of BomList by 'reference' (#8437) 2024-11-06 10:29:16 +11:00
Oliver 245803b0d4
[PUI] Updates for AdminButton (#8434)
* [PUI] Updates for AdminButton

- Hide if django admin interface is disabled
- Use correct admin URL

* Adjust InfoView

* Add playwright tests
2024-11-06 09:27:43 +11:00
Oliver 93a8090e99
Fix for links in notification drawer (#8435) 2024-11-06 08:15:19 +11:00
Oliver f470d30493
Improve optional chaining checks (#8431)
- Fixes bug where part_detail is potentially undefined
2024-11-06 06:04:13 +11:00
Oliver 7b640a4f88
Build hide incomplete (#8433)
* PUI panel tab updates

Hide build order tabs for cancelled or complete orders

* Fix a // TODO entry
2024-11-06 00:45:39 +11:00
Oliver d6745137f6
Enable printing actions for PartTable (#8430) 2024-11-05 23:57:49 +11:00
github-actions[bot] b4310bf91e
New Crowdin translations by GitHub Action (#8412)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-04 22:33:04 +11:00
Oliver 4df42cd776
PO receive fix (#8423)
* Add "active" filter to PurchaseOrderLineItem.part field

* Fix for allocation serial numbers to incoming items

* Validate serial numbers per line item
2024-11-04 14:10:17 +11:00
Oliver c9079d9a0e
Ignore MissingRate errors (#8420)
* Improved permission checking for data importing

- Permission checks on the imported model type

* Improved validation for DateField

* Ignore MissingRate errors

- Do not send these to sentry
2024-11-03 18:23:34 +11:00
Oliver abad36786f
Importer permissions (#8419)
* Improved permission checking for data importing

- Permission checks on the imported model type

* Improved validation for DateField

* Fix for unit test
2024-11-03 17:43:09 +11:00
Oliver 504655c92d
Fix for potential MissingKey error (#8422) 2024-11-03 17:42:24 +11:00