Commit Graph
100 Commits
Author SHA1 Message Date
Oliver Walters 488f558e6a Add unit testing for HTML content 2026-05-25 05:40:16 +00:00
Oliver Walters d99487bf11 Support user locale 2026-05-25 05:38:05 +00:00
Oliver Walters 407ba3f9de Display note info 2026-05-24 10:52:07 +00:00
Oliver Walters d798aacb04 Layout tweaks 2026-05-24 10:40:12 +00:00
Oliver Walters 5813c4baea edit / delete existing notes from the UI 2026-05-24 10:33:09 +00:00
Oliver Walters 9e91663d07 Update note accessors 2026-05-24 10:10:28 +00:00
Oliver Walters 8377f53b6f Run nh3 cleaner over backend notes 2026-05-24 10:08:33 +00:00
Oliver Walters 754a4c2e74 Fix migration conflict 2026-05-24 09:42:19 +00:00
Oliver Walters 433892018f Merge commit 'dd1edce2e59172c86e85fdd09d6ed01d3fcfefe4' into block-notes 2026-05-24 09:40:54 +00:00
Oliver dd1edce2e5 Set reasonable table height (#11998) 2026-05-24 11:02:28 +10:00
Oliver 6530052471 [docs] Update documentation (#11997)
* Rearrange import / export docs

* Additional data export docs

* Additional docs for custom states

* Fix broken links
2026-05-24 10:05:06 +10:00
Oliver Walters 38e3c86307 Merge commit '749c4715ee022bdb39b500f5c3776c1ee18411e3' into block-notes 2026-05-23 23:30:06 +00:00
Oliver 749c4715ee Offload build output functions: (#11990)
* Offload build output functions:

- cancel output
- scrap output
- complete output

Perform these in the background worker, and monitor for progress on the frontend.

* Refactor "build cancel"

- Offload expensive ops to background worker

* Offload build complete task

* Remove @atomic decorator from functions

- Allows operations to be performed "incrementally"
- If one task times out, the next task will get the rest

* Bug fix

* Bump API version

* Fix isInTestMode check

* Handle case where task returns immediately

* Fix docstring

* fix test_api

* Tweak order of operations

* additional unit testing for further coverage

* Adjust unit tests

* Offload order completion tasks

* Remove bad code

* Updated playwright test

* Robustify playwright tests

* Bump number of allowed queries

* Revert "Remove bad code"

This reverts commit 3a3ac3bdc7.

* Revert "Offload order completion tasks"

This reverts commit 6066dabe43.
2026-05-24 09:26:43 +10:00
Oliver 7d61203be8 Global part lock (#11995)
* Add new global setting

* Update lock checks

* Bug fix for task comparison

* Update user interface

* Hide locked field if locking not enabled

* Update existing unit tests

* Update docs
2026-05-24 07:41:52 +10:00
Oliver 8e7465dd24 Enable table ordering (#11992)
- Closes https://github.com/inventree/InvenTree/issues/10987
2026-05-24 00:30:27 +10:00
Oliver a1ed5bcf94 Bug fix for task comparison (#11993) 2026-05-24 00:18:56 +10:00
Oliver Walters 5cd7bfa1e4 Merge commit '27ca0836e7c7e46ebb41ea98d507972ae7a6b018' into block-notes 2026-05-23 12:41:47 +00:00
Oliver 27ca0836e7 [refactor] Attachment images (#11961)
* Add new Attachment model fields:

- is_image
- thumbnail

* Cache if the attachment is an image

* Add new setting for controlling max upload size

* Validate uploaded attachment file

* Add tqdm for progress bars

* Refactor migrations

- Don't need is_image field
- Can introspect from the thumbnail

* Data migration for existing attachments

* Bump API version

* Update tests and validators

* Add "is_image" field to the Attachment model

* Offload to background task

* Implement unit tests

* Docs

* Add unit test for data migration

* Additional unit test

* Omit migration tests from code coverage

* Additional unit tests
2026-05-22 23:37:32 +10:00
Oliver 5489656016 [UI] Fix settings rendering (#11987)
- Do not duplicate global plugin settings
2026-05-22 15:19:01 +10:00
Oliver 5718b49bf1 Fix text size in build line table (#11986) 2026-05-22 14:37:48 +10:00
OliverandMatthias Mair 8ae0a5ea66 Tree delete API (#11979)
* Add API serializer for deleting a location

* Add serializer for part category delete

* Bump API version

* Fix unit tests

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-05-22 14:37:36 +10:00
Oliver 8b9ea43b5b [UI] Lock action (#11981)
- Toggle part lock directly from existing icon
2026-05-22 10:21:23 +10:00
Oliver e392348654 [UI] Calendar tooltips (#11980)
* Allow tooltips for calendar entries

* Render tooltip for purchase order calendar

* Calendar tooltip renderers

* Add tooltip for build calendar

* Add key to filter list

* Display responsible owner
2026-05-22 00:17:11 +10:00
Oliver Walters 7315c344f1 Merge branch 'block-notes' of github.com:SchrodingersGat/InvenTree into block-notes 2026-05-21 11:50:11 +00:00
Oliver Walters 0c1aa65cb9 Remove old deps 2026-05-21 11:49:41 +00:00
Oliver Walters 136c9256cb remove old editor 2026-05-21 11:47:58 +00:00
Oliver Walters 36e81c40c9 Sanitize before uploading 2026-05-21 11:46:37 +00:00
Oliver Walters 689bd1f224 Refactor save UX 2026-05-21 11:45:01 +00:00
Oliver Walters df340e363c Load notes into editor 2026-05-21 09:59:47 +00:00
Oliver fd3d64de99 Merge branch 'master' into block-notes 2026-05-21 19:59:00 +10:00
Oliver Walters 9e8764d28a Fix conflict (for now) 2026-05-21 09:27:08 +00:00
Oliver Walters c7d11dc939 Mark content field as 'safe' 2026-05-21 09:25:19 +00:00
Oliver Walters d77be246ae Add unit test 2026-05-21 07:51:05 +00:00
Oliver Walters c18fd25431 Update serializer 2026-05-21 07:26:54 +00:00
Oliver Walters ab0da25de8 Add "primary" field to Note model 2026-05-21 07:26:28 +00:00
Oliver 3f3433685d Normalize BomItem quantity (#11975)
- Limit decimal places before save
- Prevents error in BomItem validation
2026-05-21 16:43:49 +10:00
Oliver Walters ac8e8d978c Add "no notes" item 2026-05-20 12:31:31 +00:00
Oliver Walters bc197f9409 Omit migration tests from code coverage 2026-05-20 12:22:19 +00:00
Oliver Walters a0e528a509 Create new notes 2026-05-20 12:13:59 +00:00
Oliver Walters 51d8468e76 Fix serializer 2026-05-20 11:57:02 +00:00
Oliver Walters 6df13fe156 Add note mixin support for existing models 2026-05-20 11:50:55 +00:00
Oliver Walters 88158610af Add notes fetch 2026-05-20 11:43:17 +00:00
Oliver 9cac925e91 Prevent edit serial (#11964)
* Add new global setting

* Run serial number validation check

* Disable field in frontend

* Add unit test

* Docs tweak
2026-05-19 17:06:05 +10:00
Oliver Walters 19c497fb19 Merge commit '99358eb4e7e4b051fd35c0b72c5d75e11ea5f2ec' into block-notes 2026-05-19 06:43:01 +00:00
Oliver 99358eb4e7 Remove image download support (#11962)
* Remove image download support

- Helper function remains (it is used in the supplier plugin mixin)
- No longer available to user
- Close massive security hole entirely
- Will be defunct soon anyway (moving to generic attachments)

* Update CHANGELOG.md

* Bump API version

* Fix for unit tests
2026-05-19 07:02:05 +10:00
Oliver Walters 1078475acb API / serializer updates 2026-05-18 14:18:04 +00:00
Oliver Walters 176733d762 Add basic tab group for switching notes 2026-05-18 14:07:58 +00:00
Oliver Walters 71d51ff7b4 Add new generic "notes" model 2026-05-18 13:56:34 +00:00
Oliver Walters 01bc34e08a Add new notes editor using blocknote 2026-05-18 13:46:47 +00:00
Oliver Walters eff83e745e Install packages for blocknote 2026-05-18 13:42:11 +00:00
Oliver acc2786e44 [feature] Rename attachments (#11920)
* Implementation

* Update API and CHANGELOG

* Annotate response type

* Simplify attachment renaming

- Use the existing API endpoint

* Capture the actual saved path

* Tweak attachment table fields

* Use built-in validation

* Update docs

* Unit testing

* Ignore some lines from coverage

* Check if file exists before deleting
2026-05-18 20:02:46 +10:00
Oliver 73c7820ac0 Fix for dashboard item logic (#11960)
- Render cached value
2026-05-17 20:21:08 +10:00
OliverandMatthias Mair 9f78e994c2 [UI] Mantine 9 (#11947)
* Update mantine deps

* Get it to compile

* Update QueryCount widgets

- use new RollingNumber component

* Table updates

- Remove "hack" for column ordering

* "Fix" the column pinning bug (maybe?)

* Fix ColumnRenderers.tsx

* Fix login code for playwright

* Remove hashing requirement

* Fix build tests

* More fixes

* More test fixes

* Fix playwright test for dashboard item

* Update frontend version

* Update changelog

* Reduce query repeats

* More playwright fixes

* Further playwright fixes

* Fix for useFilterSet hook

* Fix unique key error

* Fix rendering issues when opening edit forms

* reduce console errors

* Fix unique key issues in search drawer

* Update frontend CHANGELOG.md

* More form tweaks

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-05-17 19:26:37 +10:00
Oliver c09848422c [UI] Panel indicator badges (#11956)
* Refactor panel indicator dots

- Allow indicator status to be fetched async

* Add indicator dot for attachments

* Support parameters panel

* Refactor

- Expose more types to @lib
- Define new PanelIndicatorType type
- Support old interface
2026-05-17 10:58:23 +10:00
Oliver d6f257dc58 Receive items requrires the "add" role - POST action (#11946) 2026-05-15 11:51:58 +10:00
Oliver c931ab6815 [bug] Bulk edit fix (#11945)
* Prevent editing of items which do not point directly to the part

* Allow table to define which records can be selected
2026-05-15 00:24:22 +10:00
Oliver 6e2a867c92 [bug] Fix for report generation context (#11941)
* Provide explicit user information to report context

* Pass user information through to offloaded task

* Pass user information back to the plugin

* Fix user passing

* Add more complex unit test for report printing

- Test debug ON / OFF
- Test merge ON / OFF
- Check generated data output

* Unit testing for label generation

* Further refactoring

- Remove "request" from printing context entirely

* Simplify argument drilling

* Robustify unit tests
2026-05-14 11:25:20 +10:00
Oliver 3d2577b411 [UI] Refactor order table filters (#11939)
* Refactor build order filters

- Common set of filters for build order views

* Refactor PurchaseOrder filters

* Update company table

* Refactor SalesOrder filters

* Refactor common filters

* Refactor ReturnOrder table filters
2026-05-13 20:24:40 +10:00
Oliver 573c82f98d Refactor part table filters (#11938)
- Expose extended filters to the parameteric table
2026-05-13 18:08:28 +10:00
OliverandCopilot d0acbf1191 [UI] Adjust week start date (#11934)
* Adjust week start date

Co-authored-by: Copilot <copilot@github.com>

* Change to global setting

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-13 17:32:59 +10:00
OliverandCopilot 727ca62883 External order checks (#11935)
* Add new global settings

Co-authored-by: Copilot <copilot@github.com>

* Validation logic

Co-authored-by: Copilot <copilot@github.com>

* Remove one setting

- Already covered if build order requires validation

* Add unit test

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-13 15:16:34 +10:00
Oliver 5d72eb4f1d [API] Role fix (#11932)
- Allow users to view BOM validation information with bom.view role
2026-05-12 14:39:40 +10:00
Oliver b6a304e553 Block SO allocation until tests pass (#11915)
* Add new global setting

* Check item before allocating

* add unit test
2026-05-11 20:09:34 +10:00
Oliver 35aa4d33d3 Maximum stock level (#11914)
* Add "maximum_stock" field

* Add API filter

* Update API version

* Update CHANGELOG

* Frontend updates

* Add dashboard widget

* docs

* Add API tests
2026-05-10 20:55:05 +10:00
OliverandMatthias Mair bb2a72a6fb Support physical units for BOM lines (#11631)
* Add new "raw_amount" field to BomItem model

* Batch process data migration

* Update migration

* Calculate 'quantity' from 'raw_amount' field

* Improve decimal formatting in migration

* Allow raw_amount in serializer

* Adjust frontend form

* API validation and unit tests

* Additional playwright tests

* Update API version and CHANGELOG

* Updated docs

* Fix docstring

* Better handling of empty values

* Tweak unit tests

* Tweak unit test

* Fix unit test

* Adjust form field text

* Adjust migration file

* Tweak playwright tests

* Fix unit test

* Adjust serializers / import-export / playwright

* Fix migration

* Fix validation

* Loosen comparison

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-05-10 15:32:34 +10:00
Oliver 9a2b82d582 Fix lazy loading of context modals (#11911) 2026-05-10 09:11:39 +10:00
Oliver 04ef8a497a Remove rollup-plugin-visualizer (#11903) 2026-05-09 15:04:46 +10:00
OliverandCopilot 583c7ad5f2 [UI] Optimize bundle (#11896)
* lazy load global window modules

- Required for plugins
- Can be separated from the "main.tsx" code

Co-authored-by: Copilot <copilot@github.com>

* Defer modal loading

Co-authored-by: Copilot <copilot@github.com>

* Rollup visualiser tool

* Remove debug msg

* Rearrange to reduce deltas

* Refactor CodeEditor and PdfPreview

* Split NotesPanel

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-09 12:44:05 +10:00
Oliver 47f9dd9470 Remove unnecessary print statement (#11902) 2026-05-09 11:53:36 +10:00
Oliver cbf3fc9f57 [UI] Smaller text for PathColumn (#11888)
Reduce text size in tables
2026-05-08 08:47:20 +10:00
OliverandCopilot 12d32b1d80 [UI] Adjust default dashboard (#11889)
- Only display "news" for superuser

Co-authored-by: Copilot <copilot@github.com>
2026-05-08 00:45:46 +10:00
OliverandCopilot 3be740c019 [UI] Fix child builds panel (#11886)
* [UI] Fix child builds panel

- Adjust logic for displaying or hiding child build panel

Co-authored-by: Copilot <copilot@github.com>

* Add brief playwright test

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-08 00:02:11 +10:00
OliverandCopilot 5c65cf901f Line number int (#11885)
* Add migration

Co-authored-by: Copilot <copilot@github.com>

* Update model on save

Co-authored-by: Copilot <copilot@github.com>

* Add API filter aliases

Co-authored-by: Copilot <copilot@github.com>

* Improved query for data migration

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-07 22:48:47 +10:00
OliverandCopilot e16eb4a94d Supplier part form (#11884)
* Fix SupplierPart sub-form

Co-authored-by: Copilot <copilot@github.com>

* Fix details panel for SupplierPart page

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-07 22:48:44 +10:00
Oliver 66ecb1c9ff Fix verbose flag for worker task (#11883) 2026-05-07 14:19:22 +10:00
OliverandCopilot 81fbf52c60 Delete output check (#11881)
* Allow deletion of serialized build output

- If calling "delete_output" on a BuildOrder
- Only will delete an in_production output
- Ignore the global setting in this case

Co-authored-by: Copilot <copilot@github.com>

* Add unit test

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-06 16:14:49 +10:00
Oliver aae97eeb40 [UI] Fix for parameter form (#11875)
- Ensure string field is properly selected
2026-05-05 19:31:59 +10:00
OliverandCopilot 6f1d40d546 [UI] Add Admin button for SalesOrderShipment (#11874)
Co-authored-by: Copilot <copilot@github.com>
2026-05-05 18:25:58 +10:00
OliverandCopilot 5c4c583e8e [UI] Adjust stock column for virtual parts (#11873)
- Display "virtual part" instead

Co-authored-by: Copilot <copilot@github.com>
2026-05-05 14:47:08 +10:00
OliverandCopilot 18e3c5a0e9 Prevent delete serialized stock (#11872)
* Add setting to prevent deletion of serialized stock

Co-authored-by: Copilot <copilot@github.com>

* Add unit test

Co-authored-by: Copilot <copilot@github.com>

* Update CHANGELOG

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-05 10:43:02 +10:00
OliverandCopilot 3c3964062f UI tweak (#11871)
* [UI] Small visual tweaks for plugin settings panel

Co-authored-by: Copilot <copilot@github.com>

* Refactor common code

Co-authored-by: Copilot <copilot@github.com>

* Reduce code duplication

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-05 10:15:04 +10:00
Oliver 24f8c2bbb4 Ensure DB settings are strings (#11866)
- Null values are NOT allowed!
2026-05-04 14:40:59 +00:00
Oliver 0c9cb5e4a4 [refactor] bulk operation batch size (#11864)
* Fetch models properly during migration

* Specify batch_size when performing bulk_update operations

* Enforce batch_size for bulk_create operations

* Fix typo

* Revert typo fix

- Changes API schema
2026-05-05 00:31:37 +10:00
OliverandMatthias Mair 00d6f1c3ab [feature] Bulk replace (#11861)
* Allow bulk replace of BOM items

* Add "locked" filter for UsedIn table

* Add playwright tests

* docs

* Bump API version

* Update CHANGELOG

* Update api_version.py

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-05-04 23:13:23 +10:00
Oliver 118bc63b6b Enable verbosity option for worker command (#11862) 2026-05-04 21:15:42 +10:00
Oliver 2a5925f4f7 [UI] BOM pricing fix (#11860)
* Ensure BOM pricing is fetched

* Enable IPN sorting for "used-in" table

* Update playwright tests
2026-05-04 21:15:32 +10:00
Oliver f4b7999f0f Update BOM compare screenshot (#11857)
- Ref: https://github.com/inventree/InvenTree/pull/11853#issuecomment-4365807990
2026-05-03 21:07:48 +10:00
Oliver 79521f974f [UI] Adjust form properties (#11855)
- Remove certain properties from downstream components
- Reduces unnecessary console errors
2026-05-03 19:37:23 +10:00
Oliver 12c060c7d1 [UI] Remove debug message (#11854) 2026-05-03 19:23:33 +10:00
Oliver 24ce51c5ca [UI] BOM compare (#11853)
* Refactor existing components

* Select assembly for comparison

* Rough BOM comparison table

* Select  display mode

* Layout tweaks

* Reset secondary part when drawer is closed

* Responsive grids

* Documentation

* Update CHANGELOG.md

* Add playwright tests

* Update wording

* Allow specification of secondary part with URL search params

* Update URL params when value changes

* Clearer display using icons

* Improve diff  layout

* Adjust playwright tests
2026-05-03 12:18:44 +10:00
Oliver f0edb002d0 Fix build order annotation (#11848)
- Closes https://github.com/inventree/InvenTree/issues/11830
2026-05-02 10:04:48 +10:00
Oliver 76407d71b8 [UI] Fix ReturnOrder table (#11845)
* [UI] Fix ReturnOrder table

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

* Add playwright test
2026-05-02 10:04:41 +10:00
Oliver 7269b0c21f Adjust app docs (#11849) 2026-05-02 10:04:35 +10:00
Oliver 768184e4f0 Update installer docs (#11846)
- Fix information on supported distros
2026-05-02 09:14:02 +10:00
OliverandCopilot c4a395ac0c [UI] Adjust frontend deps (#11840)
* Frontend deps

- Follow-up to https://github.com/inventree/InvenTree/pull/11831
- Pin vite version to 8.0.5

* Revert vite to 6.4.2

Co-authored-by: Copilot <copilot@github.com>

* Fix dependency warnings

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 07:19:00 +10:00
Oliver 6bbc511028 Ensure correct migration order (#11842)
- Ref: https://github.com/inventree/InvenTree/actions/runs/25208393963/job/73913547867?pr=11840
2026-05-01 22:30:38 +10:00
OliverandCopilot 679665d491 Adjust text color for stock column (#11841)
- Muted color output
- Fixes https://github.com/inventree/InvenTree/issues/11835

Co-authored-by: Copilot <copilot@github.com>
2026-05-01 17:06:36 +10:00
Oliver 35bbecf4b0 Fix minor typo (#11839) 2026-05-01 15:29:27 +10:00
OliverandCopilot 2b6952eabd BOM Ruleset (#11825)
* Add BOM role

* Adjust UI permissions

* Adjust docs

* Add data migratoin

* Specify role for BOM validation

* Tweak old migrati

* Fix role_required

* Update API version and CHANGELOG

Co-authored-by: Copilot <copilot@github.com>

* Update unit tests

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-28 12:29:57 +10:00
aeeca49a8f [setup] Database config (#11813)
* Adjust config template file

* Check UPPERCASE value as backup

* fix typing issue

* ignore ty issues for now

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 08:20:49 +10:00