Oliver
d10b2dd49b
Admin site enhancements ( #10099 )
...
* Fix autocomplete fields for PurchaseOrderLineItem
* Add inline admin for SalesOrderLineItem
2025-07-29 15:32:48 +10:00
Oliver
d33f07a3fc
PurchaseOrder table improvements ( #10098 )
...
Clear table after receiving items
2025-07-29 14:38:01 +10:00
Oliver
0ef5b12747
Sticky headers ( #9022 )
...
* Add user setting
* Use value of user setting
* Fix user for global
* Stickiness
* Updated docs
2025-07-29 10:43:36 +10:00
Oliver
d01869a917
Enhanced permission checks for API ( #10096 )
...
* Enhanced permission checks for API
- Ensure user is authenticated
- Raise PermissionDenied
* Add unit test for unauthenticated user
* Exclude lines from coverage
2025-07-29 10:43:25 +10:00
Oliver
aee45887b3
min version note ( #10097 )
...
* min version note
* Adjust text
2025-07-29 09:45:20 +10:00
Oliver
548a95cc19
Sort search fields ( #10095 )
...
* Sort search fields
* add api version bump
---------
Co-authored-by: Matthias Mair <code@mjmair.com >
2025-07-29 00:11:10 +02:00
Oliver
47ccbfe972
[wip] Plugin dev docs ( #10090 )
...
* Plugin index page
* backend vs frontend
* Plugin creator docs
* Feature list
* More docs
* More images
* Additional docs
* Cleanup unit test docs
* Cleanup
* Update frontend docs
* Update
* Improve examples
* Update file list
2025-07-28 19:38:28 +10:00
Oliver
2d7775852e
Prevent re-rendering ( #10093 )
2025-07-28 18:59:55 +10:00
Joe Rogers
90069707b1
Add missing nullable annotations, search_field schema documentation ( #10092 )
...
* Add search_fields list to schema documentation
* Add missing nullable annotations
* Bump api version
2025-07-28 16:15:58 +10:00
gunstr
c8f82d3e90
Update to Bare Metal installation docs ( #10086 )
...
* Install PostgreSQL client when needed
* Fix supervisor path to server/worker
* Supervisor IP configuration
2025-07-27 23:40:49 +10:00
Oliver
010c855e86
Prevent 'modelRenderer' passing through ( #10085 )
...
- Not recognized by underlying component
2025-07-26 18:10:10 +10:00
Oliver
b2a5533b7a
Stock filters ( #10083 )
...
* Stock filters
- Add "supplier" filter
- Add "manufacturer" filter
* Fix docstring
2025-07-26 16:59:26 +10:00
Oliver
16f7051d25
Plugin doc tweaks ( #10084 )
...
Organize builtin plugins by category
2025-07-26 16:48:33 +10:00
Joe Rogers
9ca406278a
Correct api version numbers ( #10081 )
2025-07-26 15:30:21 +10:00
Oliver
1085625af4
[Refactor] Notification plugins ( #9735 )
...
* Refactor notification concept
- Notifications handled by plugins
* Cleanup
* Only send email if template provided in context
* Logic cleanup
* Fix log_error call
* Refactor error logging
- Ensure plugin slug is correctly attached
- Consistent format
- Logic fixes
* More robust plugin lookup
* Refactor calls to tringger_notification
* Tweak for build stock notification
* Low stock notification refactor
- Actually *use* the notification system
- Fix for email template
* Check stock only when build is issued
* Updated documentation
* Add PluginUserSetting class
- Allows plugins to define per-user settings
* Add API endpoints for PluginUserSetting model
* Placeholder for user-plugin-settings page
* Refactoring frontend code
* Placeholder panel
* Adds user interface for changing user-specific plugin settings
* Tweaks
* Remove old model
* Update documentation
* Playwright tests
* Update API version
* Fix unit test
* Fix removed arg
* Fixes for email notifications
- Track status of sending notifications
- Add helper "activate" method for plugin class
- Update unit tests
* Fix barcode tests
* More unit test fixes
* Test fixes
* Fix for settings models with extra fields
* Enhance unit test
* Remove old test file
* Check for null target_fnc
* Improve DB query efficiency
- Provide a flat list of active keys to plugin.is_active
- Prevents DB fetching (in certain circumstances)
- Add registry.active_plugins() method
* Bump query limit up for test
- In practice, this API endpoint is ~10 queries
* Handle potential errors
* Increase query limit for API test
* Increase query limit for some tests
* Bump API version
* Tweak unit test
* Tweak unit test
* Increased allowed queries
* fix user plugin settings
* Fix for unit test
* Update debug msg
* Tweak API
* Fix endpoint
* Remove "active plugin keys" code
* Restore previous behaviour
* Fix unit tests
* Tweak unit test
* Update src/backend/InvenTree/build/tasks.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/backend/InvenTree/plugin/base/integration/NotificationMixin.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Func updates
* Format
* Add notification settings
* Refactor plugin settings groups
* Fix func type
* Adjust message
* Additional unit tests
* Additional playwright tests
* Additional playwright test
---------
Co-authored-by: Matthias Mair <code@mjmair.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-26 13:05:59 +10:00
Oliver
f862867e2b
Adjust form padding ( #10080 )
...
- Prevent scrollbar from rendering over components
2025-07-26 13:05:41 +10:00
Oliver
6e81fa2e7b
Add "duplicate" action for PartParameterTEmplate ( #10076 )
...
* Add "duplicate" action for PartParameterTEmplate
* Update src/frontend/src/tables/part/PartParameterTemplateTable.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix style
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-25 16:15:12 +10:00
Oliver
0e0abf2d75
[plugin] Library updates ( #10070 )
...
* Expose lingui modules to plugins
* Add i18n object to plugin context
* Expose form types
* Update package.json requirements
* Externalize react and mantine when building @inventreedb/ui components
* Externalize lingui packages too
* Extern <AddItemButton />
2025-07-25 01:23:34 +10:00
github-actions[bot]
a301214ac9
New Crowdin translations by GitHub Action ( #10013 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-24 09:48:45 +10:00
Oliver
090f657f11
Refactor BomValidationInfo into component ( #10064 )
...
- Cleaner code
- Don't fetch for non-assembly parts
2025-07-24 08:17:08 +10:00
Oliver
d563db6e7e
Custom event when bulk-creating items ( #10063 )
2025-07-23 22:17:07 +10:00
Oliver
dfd9fe44a4
[Refactor] BOM Validation ( #10056 )
...
* Add "bom_validated" field to the Part model
* Check bom validity of any assemblies when a part is changed
* Improved update logic
* Fixes for circular imports
* Add additional info to BOM validation serializer
* More intelligent caching
* Refactor
* Update API filter
* Data migration to process existing BomItem entries
* Add "BOM Valid" filter to part table
* Add dashboard widget
* Display BOM validation status
* Tweak dashboard widget
* Update BomTable
* Allow locked BOM items to be validated
* Adjust get_item_hash
- preserve "some" backwards compatibility
* Bump API version
* Refactor app URL patterns
* Fix import sequence
* Tweak imports
* Fix logging message
* Fix error message
* Update src/backend/InvenTree/part/migrations/0141_auto_20250722_0303.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update exception handling
* Try info level debug
* Disable exchange rate update
* Add registry ready flag
* Add is_ready func
* Cleaner init code
* Protect against plugin access until ready
* Fix dashboard widget filter
* Adjust unit test
* Fix receiver name
* Only add plugin URLs if registry is ready
* Cleanup code
* Update playwright tests
* Update docs
* Revert changes to urls.py
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-23 20:16:00 +10:00
Oliver
20477fbfcc
Plugin sequence fix ( #10057 )
...
* Fix error message
* Add registry ready flag
* Add is_ready func
* Cleaner init code
* Protect against plugin access until ready
* Add decorator for registry entrypoint funcs
* Tweak return value
* Only add plugin URLs if registry is ready
* Fix load logic
* Refactor @registry_entrypoint decorator
* Tweak
* Typing
* Reimplement is_ready property
2025-07-23 18:54:26 +10:00
Oliver
73231ce921
[ui] Enable form auto-fill ( #10061 )
...
* Enable form auto-fill
- If a single value is available, pre-fill
- Must be enabled per-field
* Tweak playwright tests for increased reliability
* Fix deps
2025-07-23 18:32:04 +10:00
Oliver
89279ef091
[bug] Part param edit ( #10059 )
...
* Fix for BooleanField
- Ensure that an "undefined" value reads "false" by default
* Tweak part parameter form
* Enhanced playwright tests
* Better boolean field management
* Update src/frontend/src/forms/PartForms.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/frontend/src/components/forms/ApiForm.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-23 18:31:39 +10:00
Oliver
283d5d6050
[ui] Better formatting for badges ( #10060 )
...
* Better formatting for badges
* Stock detail too
2025-07-23 13:19:33 +10:00
dependabot[bot]
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