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]
a08784acce
chore(deps): bump the dependencies group with 2 updates ( #10053 )
...
Bumps the dependencies group with 2 updates: [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer ) and [github/codeql-action](https://github.com/github/codeql-action ).
Updates `sigstore/cosign-installer` from 3.9.1 to 3.9.2
- [Release notes](https://github.com/sigstore/cosign-installer/releases )
- [Commits](398d4b0eee...d58896d6a1
)
Updates `github/codeql-action` from 3.29.2 to 3.29.3
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](181d5eefc2...d6bbdef45e
)
---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
dependency-version: 3.9.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: github/codeql-action
dependency-version: 3.29.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
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:55 +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
dependabot[bot]
6ac563264c
chore(deps): bump crowdin/github-action in the dependencies group ( #10022 )
...
Bumps the dependencies group with 1 update: [crowdin/github-action](https://github.com/crowdin/github-action ).
Updates `crowdin/github-action` from 2.8.0 to 2.9.0
- [Release notes](https://github.com/crowdin/github-action/releases )
- [Commits](297234bae0...9fd07c1c5b
)
---
updated-dependencies:
- dependency-name: crowdin/github-action
dependency-version: 2.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-15 09:20:22 +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