Oliver
436bfed234
Order click-through on pricing panel ( #12307 )
2026-07-06 22:09:02 +10:00
Oliver
e6a12564f3
[feature] Consumable part ( #12295 )
...
* Add "consumable" field to the Part model
* Add frontend integration
* Add badge
* Add docs
* Updated docs
* Add API filtering for new field
* Adjust API filters
* Update backend logic
* Adjust frontend
* Additional unit tests
* Update API version
* update test
* Add consumable icon
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-06 21:12:24 +10:00
Oliver
47ed86ef9a
[UI] Pricing override ( #12306 )
...
* Correct display of pricing overrides
* Add min/max override reference lines
* Fix BarChart component
2026-07-06 20:46:28 +10:00
Matthias Mair
c56fe7f612
reduce duplication ( #12302 )
2026-07-05 14:52:37 +02:00
Miklós Márton
5df2adae6d
Fix OpenAPI multipart file fields to use binary format ( #12298 )
...
* Fix OpenAPI multipart file fields to use binary format
Fixes #11246
* Update API version
* fix api version
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-04 07:58:53 +10:00
Oliver
f93c813bb4
[db] Fix for UUID fields ( #12301 )
2026-07-04 07:57:55 +10:00
Oliver
4895fbc9fe
[UI] Add "IPN" column to installed items table ( #12297 )
2026-07-03 19:27:32 +10:00
Oliver
4cb29f37c6
[UI] Snippet editor ( #12299 )
...
* Implement admin editor for report snippets
* Report asset management
* Add playwright test for report snippets
* Add playwright test for "Report Assets" panel
* Updated docs
2026-07-03 19:04:50 +10:00
Oliver
15c64d6695
[API] Refactor API for duplicating objects ( #12294 )
...
* Implement generic serializer for custom model duplication
* Apply pattern to BuildOrder
* Add more generic options
* Bump API version
* Adjust default option
* Refactor existing implementations
* Dynamic class typing
* Add duplicate field to more model types
- Company
- ManufacturerPart
- SupplierPart
- SalesOrderShipment
* Implement parameter duplication for more models:
- Company
- ManufacturerPart
- SupplierPart
* Simplify code
* Refactor
2026-07-03 18:04:59 +10:00
Matthias Mair
5595a0a52b
fix test assumption ( #12296 )
2026-07-03 16:46:06 +10:00
dependabot[bot]
2722d5450d
chore(deps): bump the dependencies group across 1 directory with 27 updates ( #12260 )
...
* chore(deps): bump the dependencies group across 1 directory with 27 updates
Bumps the dependencies group with 27 updates in the /src/frontend directory:
| Package | From | To |
| --- | --- | --- |
| [@codemirror/search](https://github.com/codemirror/search ) | `6.7.0` | `6.7.1` |
| [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core ) | `6.1.20` | `6.1.21` |
| [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/daygrid ) | `6.1.20` | `6.1.21` |
| [@fullcalendar/interaction](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/interaction ) | `6.1.20` | `6.1.21` |
| [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar-react ) | `6.1.20` | `6.1.21` |
| [@mantine/carousel](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/carousel ) | `9.2.1` | `9.3.2` |
| [@mantine/charts](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/charts ) | `9.2.1` | `9.3.2` |
| [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core ) | `9.2.1` | `9.3.2` |
| [@mantine/dates](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dates ) | `9.2.1` | `9.3.2` |
| [@mantine/dropzone](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dropzone ) | `9.2.1` | `9.3.2` |
| [@mantine/form](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/form ) | `9.2.1` | `9.3.2` |
| [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks ) | `9.2.1` | `9.3.2` |
| [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals ) | `9.2.1` | `9.3.2` |
| [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications ) | `9.2.1` | `9.3.2` |
| [@mantine/spotlight](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/spotlight ) | `9.2.1` | `9.3.2` |
| [@mantine/vanilla-extract](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/vanilla-extract ) | `9.2.1` | `9.3.2` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.57.0` | `10.58.0` |
| [mantine-contextmenu](https://github.com/icflorescu/mantine-contextmenu ) | `9.2.1` | `9.3.0` |
| [mantine-datatable](https://github.com/icflorescu/mantine-datatable ) | `9.2.2` | `9.3.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form ) | `7.78.0` | `7.79.0` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core ) | `7.29.7` | `8.0.1` |
| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react ) | `7.29.7` | `8.0.1` |
| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript ) | `7.29.7` | `8.0.1` |
| [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime ) | `7.29.7` | `8.0.0` |
| [@playwright/test](https://github.com/microsoft/playwright ) | `1.60.0` | `1.61.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.9.2` | `25.9.3` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react ) | `5.2.0` | `6.0.2` |
Updates `@codemirror/search` from 6.7.0 to 6.7.1
- [Changelog](https://github.com/codemirror/search/blob/main/CHANGELOG.md )
- [Commits](https://github.com/codemirror/search/commits )
Updates `@fullcalendar/core` from 6.1.20 to 6.1.21
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases )
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/v6.1.21/CHANGELOG.md )
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.21/packages/core )
Updates `@fullcalendar/daygrid` from 6.1.20 to 6.1.21
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases )
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/v6.1.21/CHANGELOG.md )
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.21/packages/daygrid )
Updates `@fullcalendar/interaction` from 6.1.20 to 6.1.21
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases )
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/v6.1.21/CHANGELOG.md )
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.21/packages/interaction )
Updates `@fullcalendar/react` from 6.1.20 to 6.1.21
- [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.20...v6.1.21 )
Updates `@mantine/carousel` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/carousel )
Updates `@mantine/charts` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/charts )
Updates `@mantine/core` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/core )
Updates `@mantine/dates` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/dates )
Updates `@mantine/dropzone` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/dropzone )
Updates `@mantine/form` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/form )
Updates `@mantine/hooks` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/hooks )
Updates `@mantine/modals` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/modals )
Updates `@mantine/notifications` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/notifications )
Updates `@mantine/spotlight` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/spotlight )
Updates `@mantine/vanilla-extract` from 9.2.1 to 9.3.2
- [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/9.3.2/packages/@mantine/vanilla-extract )
Updates `@sentry/react` from 10.57.0 to 10.58.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/10.57.0...10.58.0 )
Updates `mantine-contextmenu` from 9.2.1 to 9.3.0
- [Changelog](https://github.com/icflorescu/mantine-contextmenu/blob/main/CHANGELOG.md )
- [Commits](https://github.com/icflorescu/mantine-contextmenu/commits )
Updates `mantine-datatable` from 9.2.2 to 9.3.0
- [Changelog](https://github.com/icflorescu/mantine-datatable/blob/main/CHANGELOG.md )
- [Commits](https://github.com/icflorescu/mantine-datatable/commits )
Updates `react-hook-form` from 7.78.0 to 7.79.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.78.0...v7.79.0 )
Updates `@babel/core` from 7.29.7 to 8.0.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/v8.0.1/packages/babel-core )
Updates `@babel/preset-react` from 7.29.7 to 8.0.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/v8.0.1/packages/babel-preset-react )
Updates `@babel/preset-typescript` from 7.29.7 to 8.0.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/v8.0.1/packages/babel-preset-typescript )
Updates `@babel/runtime` from 7.29.7 to 8.0.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/v8.0.0/packages/babel-runtime )
Updates `@playwright/test` from 1.60.0 to 1.61.0
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.60.0...v1.61.0 )
Updates `@types/node` from 25.9.2 to 25.9.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@vitejs/plugin-react` from 5.2.0 to 6.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@6.0.2/packages/plugin-react )
---
updated-dependencies:
- dependency-name: "@codemirror/search"
dependency-version: 6.7.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@fullcalendar/core"
dependency-version: 6.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@fullcalendar/daygrid"
dependency-version: 6.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@fullcalendar/interaction"
dependency-version: 6.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@fullcalendar/react"
dependency-version: 6.1.21
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/carousel"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/charts"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/core"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/dates"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/dropzone"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/form"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/hooks"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/modals"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/notifications"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/spotlight"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@mantine/vanilla-extract"
dependency-version: 9.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@sentry/react"
dependency-version: 10.58.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: mantine-contextmenu
dependency-version: 9.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: mantine-datatable
dependency-version: 9.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: react-hook-form
dependency-version: 7.79.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@babel/core"
dependency-version: 8.0.1
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: "@babel/preset-react"
dependency-version: 8.0.1
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: "@babel/preset-typescript"
dependency-version: 8.0.1
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: "@babel/runtime"
dependency-version: 8.0.0
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: "@playwright/test"
dependency-version: 1.61.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@types/node"
dependency-version: 25.9.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@vitejs/plugin-react"
dependency-version: 6.0.2
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
* lower @vitejs/plugin-react
* fix matching
* temp fix for the non-loading of plugin settings
* remove loading badge for now
* fix test
* make test more precise
* fix syntax
* fix memo issues
* remove wasLoaded hack
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-03 08:30:12 +10:00
Oliver
836a05a104
[UI] Tweak unique keys ( #12293 )
...
- Reduce reliance on mutable idx
2026-07-02 20:06:53 +10:00
Oliver
5532946473
[UI] Fix imports ( #12292 )
...
- Adjust import structure
- Prevent wall-of-text warnings from vite
2026-07-02 18:28:12 +10:00
Miklós Márton
6865b0b6e6
Add playwright test for part image upload ( #11597 )
2026-07-01 22:48:13 +10:00
Oliver
9594ba9a98
Display login errors to user ( #12288 )
...
* Improved error message extraction
* Updated playwright test
2026-07-01 22:39:49 +10:00
Oliver
609e5ee105
Check build complete ( #12289 )
...
* Display non-field errors in table field
* Refactor validation for build output completion
- Run validation BEFORE trying to complete (serializer validation)
- Refactor and simplify common code
* Adjust unit tests
* Fix typing
* Remove debug
2026-07-01 16:47:33 +10:00
Oliver
09f85aeae9
[UI] Tree select in form fields ( #12217 )
...
* Add TreeField component
* Add chevrons in dropdown menu
* Custom node rendering
* Add childIdentifier
* Ensure full value gets displayed
* Fix for search results
* Refactor old renderers
* Override field types
* use definition filters
* Better location validation messages
* Tweaks
* Fix unit test
* Include icon
* Fix playwright test
* Fix call to onValueChange
* Updated playwright tests
* Use pathstring in selectedLabel (if available)
* Mark structural nodes
* Retain selected value when dropdown open
* Add better placeholder values
* Simplify field selection
2026-06-30 22:59:04 +10:00
github-actions[bot]
7a81aa216f
New Crowdin translations by GitHub Action ( #12251 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-30 22:27:02 +10:00
Oliver
304c54530c
Allow stock adjustment from "category" detail view ( #12256 )
2026-06-30 19:28:37 +10:00
Oliver
fb280d80e7
Fix for STOCK_COUNT event ( #12281 )
...
* Fix for STOCK_COUNT event
- Prevent double emission of event type string
* adjust unit test
2026-06-30 18:54:35 +10:00
Oliver
6111aace1f
[UI] Table field refactor ( #12274 )
...
* Use callback funcs
* Don't use idx to identify rows
* Add debug function for finding why a component re-rendered
* Do not pass 'control' through to each row
* Prevent unnecessary re-rendering of table rows
* Adjust order of operations for hooks
* Keep props hidden
* Use lightweight NumberInput
* Use NumberInput elsewhere
* Add comment
* use rowId instead of idx
* Generic row memos
* Compare errors too
* Fix for BomItemSubstituteRow
* Adjust more forms
* memoize quantity
* Memoize build lines
* Fix re-rendering issues for build allocation
* Fix for useConsumeBuildLinesForm
* Fix for transfer order table
* Fix useReceiveLineItems
* Remove memoized pattern
* Fix row keys
* Cleanup
* Create useStockItems hook for memoizing items
* Refactoring
* More refactoring
* Remove obj reference
- preventing shallow comparison from working
* Add error message to useWhyDidYouUpdate
* Cleanup
* Cleanup dead code
* Adjust modal width
* Change attr name
* Remove autoFillFilters prop
* Adjustments for serialized stock
* Fix typing
* Bump frontend version
* Adjustments for playwright testing
* Fix ref issue
* Remove debug entry
* Update CHANGELOG.md
* Reintroduce index to table header
* Refactor common component
2026-06-30 18:10:40 +10:00
Oliver
414aac0224
Fix stocktake bug for counting serialized items ( #12280 )
...
* Fix stocktake bug for counting serialized items
* Add unit test
2026-06-30 15:39:05 +10:00
Oliver
635ea8179e
[UI] Fix 'available' display ( #12279 )
...
- Hide entirely for items not "in_stock"
2026-06-30 09:53:40 +10:00
Oliver
f7e267cca8
Fix dashboard issue ( #12275 )
2026-06-30 00:44:25 +10:00
suzunn
0470dc34b7
fix: preserve supplier import stock workflow ( #12215 )
...
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-06-30 00:24:00 +10:00
Oliver
12825aa1f4
[UI] Fix stock dates ( #12272 )
...
* [UI] Fix stock dates
- Display creation date
- Display stocktake date
* Switch to date type
2026-06-29 16:01:33 +10:00
Oliver
5b1a7db07f
[UI] Table tweaks ( #12271 )
...
* [UI] Make part cell text copyable
* Reduce text size
* Reduce text size
2026-06-29 16:01:15 +10:00
Oliver
1da71ca3b9
[UI] Stock column fix ( #12268 )
...
* [UI] Fix StockColumn component
* stock table rendering tweaks
2026-06-27 11:29:40 +10:00
Matthias Mair
56679e4b31
chore(backend): dep bump ( #12258 )
...
* general deps bump
* cleanup other dep files
2026-06-26 09:56:01 +10:00
Matthias Mair
8f73d9291b
chore(backend): typing fixes ( #12247 )
...
* bump ty
* various fixes
* fix settings
* bump stubs
* update pre-commit setup
* update ignore
* fix various issues
* fix style
* fix ignores
* fix wrong ty warnings
* ignore __class__ type checking errors
see https://github.com/astral-sh/ty/issues/3122
* fix exception logging
* update ignoring
* bump ty further
* add cleanup cmd
* Merge branch 'master' of https://github.com/inventree/InvenTree into typechecking-remove-ignore
* bump ty
* remove now unused class ignores
2026-06-26 08:04:36 +10:00
Oliver
e847d96a88
Bug fix for exception handler ( #12257 )
2026-06-26 08:02:38 +10:00
Oliver
b99b80957f
[UI] Improve revision selector ( #12254 )
...
- Display upstream revisions too
2026-06-26 00:02:50 +10:00
Oliver
39b74c7e87
Skip "many" fields in DataExport ( #12255 )
...
- Exporting multi-dimensional datasets requires a custom exporter
2026-06-25 22:44:32 +10:00
Matthias Mair
496b20e08f
fix js-yaml, esbuild vulns ( #12190 )
...
* fix js-yaml, esbuild vulns
* update bump
* upgrade vite
2026-06-25 16:06:02 +10:00
Oliver
e5fa67ca9f
Project code active ( #12250 )
...
* Add 'active' field to the ProjectCode model
- Allows retiring of old project codes without deleting
* Update UI table
* Refactor ProjectCodeField
* Add unit test
* Bump API version and CHANGELOG
2026-06-25 14:26:53 +10:00
github-actions[bot]
d1f91e8b4e
New Crowdin translations by GitHub Action ( #12238 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-25 10:51:57 +10:00
Neil Beukes
4cfefc18c1
Allow stock transfer to merge into existing stock (optional) #6951 ( #12022 )
...
* working on merge transfer
* fix history when merging
* update messaging, add 'added' line in history
* reworked history logic
* removed old transfer logic
* remove formatting changes from vite file
* Bumped API version, added entry in docs for new global setting
* removed the tracking item overwrite, Use existing tracking event from transfer
* run pre-commit checks
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-25 00:24:33 +10:00
Matthias Mair
de736ee5de
!feat(backend): bump minimum python version ( #12223 )
...
* bump ci versions
* bump installer version
* bump tooling version ref
* bump doc refs
* bump / refactor code refs
* bump debug ref
* remove now unneeded deps
* bump release version
* remove distutils
* fix finder call
* remove old compat code
* add changelog entry
* lower cov target for now
2026-06-24 17:42:35 +10:00
Oliver
09f11a27d9
[report] Tweak datamatrix helper ( #12240 )
...
* [report] Tweak datamatrix helper
- Add support for "rectangular" display
- Support different image output formats
* Fix unit tests
2026-06-24 17:42:32 +10:00
Oliver
7e59c92422
1.5.0 ( #12239 )
...
* Add release entry for 1.4.0
* Add blank entry for 1.5.0
* Bump version to 1.5.0 dev
2026-06-24 13:53:58 +10:00
Oliver
74dc21b81c
[bug] Allocated query fix ( #12234 )
...
* Fix BuildLineFilter.filter_allocated
- Required for mysql backend
* Spoecify output field
2026-06-24 12:49:43 +10:00
Oliver
75b27bd10a
[UI] Tweak "order parts" wizard ( #12236 )
...
- Order supplier parts by "primary" value
- Attempt to auto-fill primary supplier part
2026-06-24 12:49:30 +10:00
Oliver
184ec37975
[UI] Tweak today color ( #12235 )
...
- Make "today" more obvious in calendar views
2026-06-24 12:49:19 +10:00
github-actions[bot]
6a2094e2a0
New Crowdin translations by GitHub Action ( #12192 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-24 11:44:51 +10:00
Matthias Mair
f21bc2d06f
extend barcode scans API ( #12233 )
...
* extend barcode scans with user perm check
* fix import
* fix call
* align error message
* add missing permissions to test
* remove erronous assign
* ensure permission erros knock through
2026-06-24 10:45:26 +10:00
Phil
3bf410c313
color scheme: Use the users prefered mode by default ( #12227 )
...
* color scheme: Use the users prefered colour scheme if one isn't defined in the store
* fix style
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-23 16:26:06 +10:00
Matthias Mair
ec845c61cd
Bump ty ( #12211 )
...
* bump ty
* various fixes
* fix settings
* bump stubs
* update pre-commit setup
* update ignore
* fix various issues
* fix style
* fix ignores
* fix wrong ty warnings
2026-06-22 08:26:31 +10:00
Oliver
50577da65a
Add meaningful message on CSRF failure ( #12216 )
...
* Add meaningful message on CSRF failure
* Add link to CSRF_FAILURE_VIEW
* Add unit test for new CSRF feedback
2026-06-20 23:49:36 +10:00
dependabot[bot]
204cff2f88
chore(deps): bump undici from 6.26.0 to 8.5.0 in /src/frontend ( #12214 )
...
Bumps [undici](https://github.com/nodejs/undici ) from 6.26.0 to 8.5.0.
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v6.26.0...v8.5.0 )
---
updated-dependencies:
- dependency-name: undici
dependency-version: 8.5.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-20 13:14:34 +02:00
Oliver
5eaac37303
Fix signup warning ( #12213 )
...
- Should only fire on an actual signup attempt
2026-06-20 20:13:14 +10:00
dependabot[bot]
c4d67b65d7
chore(deps): bump undici from 8.4.1 to 8.5.0 in /src/frontend ( #12200 )
...
Bumps [undici](https://github.com/nodejs/undici ) from 8.4.1 to 8.5.0.
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v8.4.1...v8.5.0 )
---
updated-dependencies:
- dependency-name: undici
dependency-version: 8.5.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>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-20 12:02:19 +02:00
Oliver
ca16e6ec0a
Report locale updates ( #12208 )
...
* Optional 'locale' arg to format_money
- Allows override of system locale when generating reports
* Updated documentation
* Add unit tests
* Handle invalid locale
* Handle invalid locale
* Add new global setting to control currency locale in reports
* Use setting in reports
* Add CHANGELOG entry
* Further unit tests
* Add unit tests for new setting
* Update docs
* More docs
* Refactoring:
- Change REPORT_CURRENCY_LOCALE to REPORT_LOCALE
* Extend unit testing
* Refactor format_number
* Add unit tests for explicit format strings
* Update examples for format_date
* Updated unit tests
* Cleanup unit tests
* Fix more tests
* Adjust wording
* Remove global setting - simplify code
* Simplify unit tests
* Revert 'min_digits' to 'leading'
* Fix docs
* Refactor the render_currency function
- Move all functionality into report.py
* Cleanup duplicate code
* Updated docs
* Allow user to specify date_format
* Add support for 'leading' digits in render_currency
* Bug fix
* Fix unit test
* Add tests for "include_symbol"
2026-06-20 11:00:12 +10:00
dependabot[bot]
8a092b4d1d
chore(deps): bump the dependencies group across 1 directory with 12 updates ( #12210 )
...
* chore(deps): bump the dependencies group across 1 directory with 12 updates
Bumps the dependencies group with 12 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3 ) | `1.43.23` | `1.43.28` |
| [botocore](https://github.com/boto/botocore ) | `1.43.23` | `1.43.28` |
| [django-js-asset](https://github.com/feincms/django-js-asset ) | `3.1.2` | `4.0.1` |
| [django-money](https://github.com/django-money/django-money ) | `3.6.0` | `3.6.1` |
| [grpcio](https://github.com/grpc/grpc ) | `1.81.0` | `1.81.1` |
| [protobuf](https://github.com/protocolbuffers/protobuf ) | `6.33.6` | `7.35.1` |
| [sentry-sdk](https://github.com/getsentry/sentry-python ) | `2.61.1` | `2.62.0` |
| [structlog](https://github.com/hynek/structlog ) | `25.5.0` | `26.1.0` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.68.1` | `4.68.2` |
| [wcwidth](https://github.com/jquast/wcwidth ) | `0.7.0` | `0.8.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `1.17.3` | `2.2.1` |
| [zopfli](https://github.com/fonttools/py-zopfli ) | `0.4.2` | `0.4.3` |
Updates `boto3` from 1.43.23 to 1.43.28
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.23...1.43.28 )
Updates `botocore` from 1.43.23 to 1.43.28
- [Commits](https://github.com/boto/botocore/compare/1.43.23...1.43.28 )
Updates `django-js-asset` from 3.1.2 to 4.0.1
- [Changelog](https://github.com/feincms/django-js-asset/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/feincms/django-js-asset/compare/3.1.2...4.0.1 )
Updates `django-money` from 3.6.0 to 3.6.1
- [Release notes](https://github.com/django-money/django-money/releases )
- [Changelog](https://github.com/django-money/django-money/blob/main/docs/changes.rst )
- [Commits](https://github.com/django-money/django-money/compare/3.6.0...3.6.1 )
Updates `grpcio` from 1.81.0 to 1.81.1
- [Release notes](https://github.com/grpc/grpc/releases )
- [Commits](https://github.com/grpc/grpc/compare/v1.81.0...v1.81.1 )
Updates `protobuf` from 6.33.6 to 7.35.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases )
- [Commits](https://github.com/protocolbuffers/protobuf/commits )
Updates `sentry-sdk` from 2.61.1 to 2.62.0
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/2.61.1...2.62.0 )
Updates `structlog` from 25.5.0 to 26.1.0
- [Release notes](https://github.com/hynek/structlog/releases )
- [Changelog](https://github.com/hynek/structlog/blob/main/CHANGELOG.md )
- [Commits](https://github.com/hynek/structlog/compare/25.5.0...26.1.0 )
Updates `tqdm` from 4.68.1 to 4.68.2
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.68.1...v4.68.2 )
Updates `wcwidth` from 0.7.0 to 0.8.1
- [Release notes](https://github.com/jquast/wcwidth/releases )
- [Commits](https://github.com/jquast/wcwidth/compare/0.7.0...0.8.1 )
Updates `wrapt` from 1.17.3 to 2.2.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases )
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst )
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.2.1 )
Updates `zopfli` from 0.4.2 to 0.4.3
- [Release notes](https://github.com/fonttools/py-zopfli/releases )
- [Commits](https://github.com/fonttools/py-zopfli/compare/v0.4.2...v0.4.3 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-js-asset
dependency-version: 4.0.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: django-money
dependency-version: 3.6.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: grpcio
dependency-version: 1.81.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: protobuf
dependency-version: 7.35.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: sentry-sdk
dependency-version: 2.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: structlog
dependency-version: 26.1.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.68.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: wcwidth
dependency-version: 0.8.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: wrapt
dependency-version: 2.2.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: zopfli
dependency-version: 0.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
* general bump
* bump dev tools
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-20 09:50:45 +10:00
Oliver
6657000d89
[UI] Fix NewsWidget ( #12205 )
2026-06-19 17:18:59 +10:00
Oliver
01fb74af25
[UI] Tree improvements ( #12204 )
...
* Hide expand icon for items without children
* Add searching to CategoryTree API
* Add "level" filter
* Automatically include parent tree when searching
* Include tree_id field
* Add search input to NavigationTree
* Add more API filters
* Load child nodes iteratively
* Fix dynamic loading of nodes
* Highlight selected item
* Include pathstring
* Fix insertion order
* Auto-expand to the selected ID
* Add "no results" message
* Refactor into generic components
* Expand to multi level
* Use async node loading functionality
* Add hovercard
* Implement same functionality for StockLocationTree API endpoint
* Adjust spacing
* Add connecting lines
* Add playwright test
* Bump API version
* Add CHANGELOG entry
* Update docs
* Update screenshot
2026-06-19 15:33:12 +10:00
dependabot[bot]
6285a11a65
chore(deps): bump pypdf from 6.13.0 to 6.13.3 in /src/backend ( #12201 )
...
* chore(deps): bump pypdf from 6.13.0 to 6.13.3 in /src/backend
Bumps [pypdf](https://github.com/py-pdf/pypdf ) from 6.13.0 to 6.13.3.
- [Release notes](https://github.com/py-pdf/pypdf/releases )
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/py-pdf/pypdf/compare/6.13.0...6.13.3 )
---
updated-dependencies:
- dependency-name: pypdf
dependency-version: 6.13.3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-19 13:47:50 +10:00
Oliver
f70d3e68d8
[UI] Fix status renderer functions ( #12202 )
...
Broken in recent refactor
2026-06-19 10:45:11 +10:00
dependabot[bot]
5ddccf8913
chore(deps): bump dompurify from 3.4.9 to 3.4.11 in /src/frontend ( #12199 )
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.4.9 to 3.4.11.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.9...3.4.11 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.4.11
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 09:29:50 +10:00
Oliver
29b8ed91d2
[API] Adjust permissions for machine restart ( #12197 )
...
* [API] Adjust permissions for machine restart
Can only be actioned by a staff user
* Fix import
* Wrong class
* Extend unit test
* Bump API version
* Update CHANGELOG
2026-06-18 22:18:14 +10:00
Oliver
5b97acb79f
[bug] Fix double save ( #12194 )
...
* Prevent double-save when creating an order
* Prevent double-save for BuildOrder
* More fixes
* Additional unit tests
* Revert code, remove create method against StockTrackingList
* Fix mixins
2026-06-18 20:18:46 +10:00
Oliver
2ca86808bb
Fix order event name ( #12196 )
2026-06-18 20:00:18 +10:00
dependabot[bot]
c2f213a6c0
chore(deps): bump form-data from 4.0.5 to 4.0.6 in /src/frontend ( #12175 )
...
Bumps [form-data](https://github.com/form-data/form-data ) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases )
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.6
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>
2026-06-18 18:36:16 +10:00
Oliver
fc15f30f8f
Report Generation Updates ( #12187 )
...
* Fix for TemplateEditor
- Allow dragging of split section
* Cleaner report template code
* Pass correct error message through
* Prevent multiple retries if running in worker thread
* Handle report merge error
* Add playwright tests for broken report printing
* Reduce scope for exception messages
* Reduce comment deltas
* Adjust unit test
* Raise ValidaitonError
* Handle message parsing
* Additional comment
* Fix unit tests
2026-06-18 13:41:44 +10:00
Oliver
4b29032c6e
System Health Checks ( #12193 )
...
* Add worker health check invoke task
* Increase frequency of heartbeat task
* Adjust default threshold for worker health check
* Add server_health invoke func
2026-06-18 12:46:46 +10:00
github-actions[bot]
c126e2b0af
New Crowdin translations by GitHub Action ( #12167 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-18 11:47:28 +10:00
dependabot[bot]
dbda5a783a
chore(deps): bump dompurify from 3.4.8 to 3.4.9 in /src/frontend ( #12174 )
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.4.8 to 3.4.9.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.8...3.4.9 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.4.9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-18 09:57:52 +10:00
Matthias Mair
f602714dc9
fix(backend): import session metadata ( #12184 )
...
* add storage for historic import metadata for reporting and display purposes
fixes breakage fromhttps://github.com/inventree/InvenTree/pull/12169
* add api bump
* re-enable test
* fix migration
* ensure session is not overwritten
* fix statusrender without custom key
2026-06-18 08:10:32 +10:00
John Luetke
83a6729755
Change order custom status via api ( #11982 )
...
* Set custom_status_key via API
Refactor `custom_status_key` to be writable via the API and validate that the proposed value is valid for the current order status
* Refactor status_text serializer to consider custom status label
* Update api_version.py
* Additional unit testagainst N + 1
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2026-06-17 17:59:37 +10:00
Oliver
546958a1cb
[UI] Additional table filters ( #12186 )
2026-06-17 15:02:07 +10:00
Oliver
38008d8204
Mysql filter fix ( #12185 )
...
* Improve "available" filter for BuildLine API endpoint
* Fix typo
* Additional unit tests
* Additional playwright tests
2026-06-17 14:50:17 +10:00
Oliver
a670eabd10
[import] specify fk lookup field ( #12180 )
...
* Raise error on multiple matches
* add new field to handle lookup_field selection
* Add unit tests
* Update frontend
* Bump API version
* Ensure string-iness of lookup field
2026-06-17 11:03:26 +10:00
Matthias Mair
91a4b2a1a5
fix(frontend): adress broken UI tests ( #12183 )
...
* try different matching mechanism
* fix for changes in #12168
* disable broken test from https://github.com/inventree/InvenTree/pull/12169
* revert observability perm change
2026-06-17 09:39:00 +10:00
dependabot[bot]
7da65c8e50
chore(deps): bump cryptography from 48.0.0 to 48.0.1 in /src/backend ( #12176 )
...
* chore(deps): bump cryptography from 48.0.0 to 48.0.1 in /src/backend
Bumps [cryptography](https://github.com/pyca/cryptography ) from 48.0.0 to 48.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/48.0.0...48.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 48.0.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-16 20:47:42 +02:00
Oliver
a8e5c83a94
Stocktake exporter updates ( #12179 )
...
* Optionally exclude zero-stock entries
* Add more columns to exported dataset
* Adjust unit test
* More test fixes
2026-06-16 14:14:51 +10:00
Matthias Mair
92419b3bdf
bump frontend ( #12137 )
...
* bump react-router
* upgrade to remove uuid
* upgrade
* bump a bit more
* lower mantine
2026-06-16 08:35:17 +10:00
Oliver
6c18e64020
Permissions fix ( #12168 )
...
* Tighten API permissions
- Require authenticated user for NotFoundView
- Hide 'active_plugins' behind is_authenticated
* Patch permissions hole in GlobalSettingsPermissions
* Additional API unit tests
* Require auth for observability endpoint
* Add explicit permission for PluginAdminDetail
* Bump API version
* Update unit tests
* Revert changes
2026-06-15 22:06:49 +10:00
Oliver
3c17367e3c
Data import permissions ( #12169 )
...
* Update data importer child permissions
- Row data
- Column data
* Add unit tests
* Cleanup session data after import is completed
* Further scope narrowing
2026-06-15 21:03:44 +10:00
Oliver
aece90512c
[UI] Edit cat param ( #12166 )
...
* Refactor form hook components
* Reset values when opening form
* Rebuild form field
2026-06-15 20:07:40 +10:00
Oliver
d951638e75
Part category parameters ( #12165 )
...
* Add parameter support for PartCategory
* Update frontend
* Bump API version
* Update CHANGELOG
2026-06-15 18:49:01 +10:00
Oliver
0b5db2f16a
Suppress dulwich warnings ( #12163 )
...
- Prevent erroneous dulwich warning messages
2026-06-14 18:20:57 +10:00
Khairil
9706bc672a
fix: support non-integer PKs in NotificationMessage (fixes UUID overflow) ( #12162 )
...
NotificationMessage.target_object_id and source_object_id were typed as
PositiveIntegerField, which overflows when the referenced model uses a
UUID primary key (e.g. MachineConfig). Django's GenericForeignKey stores
the PK as a string in the database, so the field type should be
CharField to accommodate any PK type (int, UUID, slug, etc.).
Changes:
- common/models.py: change target_object_id and source_object_id from
PositiveIntegerField to CharField(max_length=255) on NotificationMessage
- common/migrations/0044: AlterField migration for both columns
- order/tests.py: update assertion from integer 1 to str(1) since
CharField will now store the PK as a string
Fixes #12131
Signed-off-by: kaizeenn <khairil0153@gmail.com>
2026-06-14 18:20:16 +10:00
github-actions[bot]
43396284fa
New Crowdin translations by GitHub Action ( #12156 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-14 17:29:15 +10:00
Oliver
6638dba0b9
SelectionList Updates ( #12139 )
...
* Adjust panel layout
* edit list on click
* Optionally fetch selection list items
* Display in DetailDrawer
* Fix component locations
* Refactor entry table
* Add new entry
* Disable if locked
* Only validate choices if provided via API
* Mark "choices" as read-only
* Prevent delete of locked items
* Add more API unit tests
* Bump API version
* Adjust unit tests
* Default include choices
* Updated playwright test
* Improve test robustness
2026-06-14 12:12:15 +10:00
Oliver
2b4f303770
Improve security posture of PDF reporting ( #12160 )
...
* Add custom URL fetcher for PDF rendering
* Fix for report helper functions
* Use new fetcher
* Additional unit tests
* Add new setting to control remote URL fetching
* validate URLs against SSRF
* Add global setting to disable URL fetching entirely
* Update docs
* Fix capitalization
* Fix logging backend
* Update CHANGELOG
2026-06-14 10:55:51 +10:00
Oliver
b294bba66b
[UI] Calendar Updates ( #12161 )
...
* Adjust delay values
* Add extra info to tooltip
* Additional padding
* Adjust padding for scrollbar
* Adjust month title as calendar scrolls
2026-06-14 10:52:22 +10:00
Matthias Mair
457fe16f9c
feat(frontend): add more general hotkeys ( #12138 )
...
* add admin button hotkey
* add duplicate hotkey
* generalised hotkeys for actions
* move to fnc
* fix type checking
* more hotkeys!
* add the first primary action to the hotkeys
* small fixes
* use capital hotkeys
* add keys for navigation
* add panel navigation hotkeys
* remove admin hotkey - navigating to attachments is imo more helpful
* address conflict on macos
2026-06-13 19:57:57 +10:00
Oliver
e4178b1fb8
[UI] Calendar month colors ( #12157 )
...
Discriminate months which slightly different colors
2026-06-13 19:56:40 +10:00
Sanidhya
3bce9c0a15
Remember last used label template and printer plugin per model type ( #12146 )
...
* Remember last used label template and printer plugin per model type
* Added playwright test for printing preference persistence and format code
* Used waitFor for react-select assertions for test case fixing and persist plugin key correctly
* Updated the problem resolution code and the tests
* Fixed printing test assertion to avoid word boundary failure with concatenated text
2026-06-13 13:30:42 +10:00
dependabot[bot]
d8ae8723ff
chore(deps): bump the dependencies group across 2 directories with 16 updates ( #12159 )
...
* chore(deps): bump the dependencies group across 2 directories with 16 updates
Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin ).
Bumps the dependencies group with 15 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [idna](https://github.com/kjd/idna ) | `3.17` | `3.18` |
| [pip](https://github.com/pypa/pip ) | `26.1.1` | `26.1.2` |
| [prek](https://github.com/j178/prek ) | `0.4.3` | `0.4.4` |
| [boto3](https://github.com/boto/boto3 ) | `1.43.17` | `1.43.23` |
| [botocore](https://github.com/boto/botocore ) | `1.43.17` | `1.43.23` |
| [django-redis](https://github.com/jazzband/django-redis ) | `6.0.0` | `7.0.0` |
| [django-structlog](https://github.com/jrobichaud/django-structlog ) | `10.0.0` | `10.1.0` |
| [dulwich](https://github.com/dulwich/dulwich ) | `1.2.5` | `1.2.6` |
| [grpcio](https://github.com/grpc/grpc ) | `1.80.0` | `1.81.0` |
| [protobuf](https://github.com/protocolbuffers/protobuf ) | `6.33.6` | `7.35.0` |
| [pypdf](https://github.com/py-pdf/pypdf ) | `6.12.2` | `6.13.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python ) | `2.61.0` | `2.61.1` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.67.3` | `4.68.1` |
| [weasyprint](https://github.com/Kozea/WeasyPrint ) | `68.1` | `69.0` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `1.17.3` | `2.2.1` |
Updates `mkdocs-git-revision-date-localized-plugin` from 1.5.2 to 1.5.3
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases )
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.5.2...v1.5.3 )
Updates `idna` from 3.17 to 3.18
- [Release notes](https://github.com/kjd/idna/releases )
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md )
- [Commits](https://github.com/kjd/idna/compare/v3.17...v3.18 )
Updates `pip` from 26.1.1 to 26.1.2
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/pip/compare/26.1.1...26.1.2 )
Updates `prek` from 0.4.3 to 0.4.4
- [Release notes](https://github.com/j178/prek/releases )
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md )
- [Commits](https://github.com/j178/prek/compare/v0.4.3...v0.4.4 )
Updates `boto3` from 1.43.17 to 1.43.23
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.17...1.43.23 )
Updates `botocore` from 1.43.17 to 1.43.23
- [Commits](https://github.com/boto/botocore/compare/1.43.17...1.43.23 )
Updates `django-redis` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/jazzband/django-redis/releases )
- [Changelog](https://github.com/jazzband/django-redis/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jazzband/django-redis/compare/6.0.0...7.0.0 )
Updates `django-structlog` from 10.0.0 to 10.1.0
- [Changelog](https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst )
- [Commits](https://github.com/jrobichaud/django-structlog/compare/10.0.0...10.1.0 )
Updates `dulwich` from 1.2.5 to 1.2.6
- [Release notes](https://github.com/dulwich/dulwich/releases )
- [Changelog](https://github.com/jelmer/dulwich/blob/main/NEWS )
- [Commits](https://github.com/dulwich/dulwich/compare/dulwich-1.2.5...dulwich-1.2.6 )
Updates `grpcio` from 1.80.0 to 1.81.0
- [Release notes](https://github.com/grpc/grpc/releases )
- [Commits](https://github.com/grpc/grpc/compare/v1.80.0...v1.81.0 )
Updates `protobuf` from 6.33.6 to 7.35.0
- [Release notes](https://github.com/protocolbuffers/protobuf/releases )
- [Commits](https://github.com/protocolbuffers/protobuf/commits )
Updates `pypdf` from 6.12.2 to 6.13.0
- [Release notes](https://github.com/py-pdf/pypdf/releases )
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/py-pdf/pypdf/compare/6.12.2...6.13.0 )
Updates `sentry-sdk` from 2.61.0 to 2.61.1
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/2.61.0...2.61.1 )
Updates `tqdm` from 4.67.3 to 4.68.1
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.67.3...v4.68.1 )
Updates `weasyprint` from 68.1 to 69.0
- [Release notes](https://github.com/Kozea/WeasyPrint/releases )
- [Changelog](https://github.com/Kozea/WeasyPrint/blob/main/docs/changelog.rst )
- [Commits](https://github.com/Kozea/WeasyPrint/compare/v68.1...v69.0 )
Updates `wrapt` from 1.17.3 to 2.2.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases )
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst )
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.2.1 )
---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
dependency-version: 1.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: idna
dependency-version: '3.18'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pip
dependency-version: 26.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.4.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: boto3
dependency-version: 1.43.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.23
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-redis
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: django-structlog
dependency-version: 10.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: dulwich
dependency-version: 1.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: grpcio
dependency-version: 1.81.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: protobuf
dependency-version: 7.35.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: pypdf
dependency-version: 6.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: sentry-sdk
dependency-version: 2.61.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.68.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: weasyprint
dependency-version: '69.0'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: wrapt
dependency-version: 2.2.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix style
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-06-13 13:28:50 +10:00
Matthias Mair
1947db06e7
feat(ci): add flakeiness ( #12148 )
...
* add-flakeiness
* Update flakiness project in Playwright config
2026-06-12 02:02:42 +02:00
Oliver
3309032b26
Machine fixes ( #12154 )
...
* Handle missing machine location
- e.g. if location PK is invalid or has been deleted
* Add spotlight action for machine management panel
* Add unit test for code change
2026-06-11 16:32:14 +10:00
Oliver
39cc399a67
Improvements for template tables ( #12155 )
...
* Enable in-column filtering for model type
* Enable sorting by label size
* Enable backend ordering
* Improve filtering for report template table
* Update API version
2026-06-11 15:54:40 +10:00
github-actions[bot]
741f0e56c8
New Crowdin translations by GitHub Action ( #12069 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-11 13:38:01 +10:00
Christopher Johnson
7cca9cb326
Make plugin registry hash independent of plugin discovery order ( #12151 )
...
* Make plugin registry hash independent of plugin discovery order
calculate_plugin_hash() iterates self.plugins.items() in insertion
order, which is the plugin discovery order of the local process. Two
processes can hold the same registry state (same plugins, versions,
active flags) in a different order and compute different hashes,
ping-ponging the _PLUGIN_REGISTRY_HASH setting and triggering endless
registry reloads in check_reload().
Sort by slug before hashing so the hash represents the registry state
rather than the iteration order of any particular process. Add a
regression test that reverses the plugin dict and asserts the hash is
unchanged.
* Address review comments: explicit sort key, guard against vacuous test
---------
Co-authored-by: Nasawa <christopher@anigeek.com>
2026-06-11 10:26:26 +10:00
Oliver
73bfa53a35
[report] Printing fixes ( #12142 )
...
* Check model permissions for printing
* Add unit tests
* Prevent printing of disabled reports
* Updated unit test
* Adjust unit test for printing
* Update API and CHANGELOG
2026-06-10 16:59:39 +10:00
Oliver
a0d0dff237
[UI] User Filters ( #12143 )
...
* Enforce min width for drop-down filters
* Pass active filter to owner column
* Fix filter name
* Add active filter to UserFilter by default
2026-06-10 15:06:58 +10:00
Oliver
316335a0ea
[UI] Update parametric data table hover ( #12145 )
...
- Display last update date
- Display updating user
- Improved formatting
2026-06-10 15:06:45 +10:00
Oliver
245a002428
[UI] User management spotlight ( #12144 )
...
Add spotlight action to quickly jump to user management panel
2026-06-10 14:06:03 +10:00
Oliver
ca6f73e919
Remove reference to lead_time field ( #12133 )
...
Ref: https://github.com/inventree/InvenTree/discussions/8371#discussioncomment-17225032
2026-06-09 16:13:44 +10:00
Matthias Mair
3d527eb392
feat(frontend): add hotkey registration function and hotkey helper modal ( #12128 )
...
* add new hotkey registration interface and hotkey modal
* fix import
* add printing hotkey
* add todo
* add hotkey for barcode scanning
* register spotlight shortcut key
* sort keys
* render nicer overview
* fix props
* expose for plugins
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-06-09 13:05:52 +10:00