Commit Graph
100 Commits
Author SHA1 Message Date
Oliver Walters ada982d4e5 Merge branch 'generic-parameters' of github.com:SchrodingersGat/InvenTree into generic-parameters 2025-11-24 04:45:50 +00:00
OliverandGitHub 5c7c15ef1b Merge branch 'master' into generic-parameters 2025-11-24 15:44:41 +11:00
OliverandGitHub 276041ae54 [bug] Migration test fix (#10899)
* Pop instead of get

* Better error handling for unit registry

* Prevent caching during database migrations

* Remove debug msg

* Revert changes
2025-11-24 14:52:13 +11:00
OliverandGitHub 7d5429303e Error messages (#10894)
* Add INVE-E14 - Error in config file

* Add INVE-E14

* Fix duplicate code

* Fix numbering
2025-11-23 23:11:12 +11:00
Oliver Walters 4b2f510a73 Rough-in new table 2025-11-23 12:10:54 +00:00
Oliver Walters 8c120b03ec Add new field to serializer 2025-11-23 12:02:01 +00:00
Oliver Walters 3c03727500 Add "enabled" field to ParameterTemplate model 2025-11-23 11:59:31 +00:00
Oliver Walters f743023c83 Add comment for later 2025-11-23 09:19:02 +00:00
OliverandGitHub d6e1c37af2 Merge branch 'master' into generic-parameters 2025-11-23 19:56:37 +11:00
OliverandGitHub e590522909 [UI] Fix for PartTestResultTable (#10886)
* [UI] Fix for PartTestResultTable

- Filter properly by part instance

* Add a simple unit test

* Tweak unit test
2025-11-22 17:20:49 +11:00
OliverandGitHub a7ff1250ba [bug] Serialize location (#10882)
* Properly set location id when serializing stock

* Add correct tracking entries

* Add unit test
2025-11-22 12:56:31 +11:00
OliverandGitHub f50d568b23 [plugin] Add printing delay to sample machines (#10873)
* [plugin] Add printing delay to sample machines

- Useful for testing
- Default is zero

* Add backup_value to MachineSetting.get_setting

* Fix call to machine.get_setting

* Fix for printing logic

* Simplify code
2025-11-21 14:56:23 +11:00
OliverandGitHub d5ee647c6e [ui] Label fix (#10874)
* Fix for sales order allocations:

- Improve UX
- Clearer intent

* Same fix for build order

* Also for build line sub table
2025-11-21 12:43:01 +11:00
OliverandGitHub a76ec0a7b8 [UI] Suggested pricing (#10867)
* Refactor NumberField into separate component

* Add helper func to ensure a number is a number

* Use placeholder value for suggested sale price

* Fix for auto-fill

* Tweak price calculation

* Add UI testing for sales order price breaks

* Fix aria label name

* Annotate price breaks to supplier part

* Fetch price break data

* Support price breaks for purchase order pricing

* Fix required to prevent circular imports

* Add playwright tests for purchase order price breaks

* Bump API version

* Re-add output options for SupplierPriceBreakList

* Revert change

* Simplify unit test
2025-11-20 22:51:27 +11:00
OliverandGitHub 94f4ef5c1b Merge branch 'master' into generic-parameters 2025-11-20 22:32:29 +11:00
OliverandGitHub 835c7784f9 Implement caching for unit registry: (#10870)
* Implement caching for unit registry:

- Registry could become out of sync across sessions
- Implement a simple caching system

* Simplify code
2025-11-20 22:31:33 +11:00
OliverandGitHub 468efbacfc [UI] Delete stock fix (#10868)
* Add helper func getOverviewUrl

* Redirect to parent page when stock item is counted to zero
2025-11-20 06:34:25 +11:00
OliverandGitHub 18c2a934b8 Better handling of an invalid config file (#10857)
* Better handling of an invalid config file

* Remove dud line
2025-11-19 16:21:17 +11:00
a8f2a02d69 [bug] Media url fix (#10855)
* Bug fix for getMediaUrl

- Proper check for file type
- Fix "fully_qualified_url" for Attachment model

* Add unit test

* Fix typo

* Fix unit test

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2025-11-19 15:50:05 +11:00
OliverandGitHub 7b38fa30bb Fix for shipping virtual parts (#10853)
* Additional checks for virtual parts in sales order process

* Prevent allocation against virtual parts

* Fix order of operations

* Adjust part form fields based on selections

* Prevent order locking

* Updated playwright tests

* Add unit test
2025-11-19 15:40:41 +11:00
OliverandGitHub 40fbb4d810 Offload stock consume operations (#10856)
- These can be expensive if there are a lot of allocated items
- Offload to the background worker
2025-11-19 15:40:24 +11:00
OliverandGitHub d06d80fb99 Bug fix for sales order pricing (#10858)
* Bug fix for sales order pricing

- Clear sale price field if no pricing

* Adjust playwright tests
2025-11-19 14:49:51 +11:00
OliverandGitHub 2799c4d1fe Specify python version in netlify.toml (#10859) 2025-11-19 13:55:34 +11:00
OliverandGitHub dab7223245 Updates for data exporting (#10854)
- Add option to exclude email logs from import / export
- Fix for pluginusersetting
2025-11-19 07:58:22 +11:00
OliverandGitHub 57a2de6ffc [UI] Remove duplicate action (#10844)
- "Build Output" is same as "stock item" in this case
2025-11-17 19:52:35 +11:00
OliverandGitHub 770f7a292e [UI] Fix for form OPTIONS query (#10840)
* [UI] Fix for form OPTIONS query

- Fetch OPTIONs each time form is opened
- Ensure default values are filled correctly
- Prevent issues with latching form state

* Add comment

* Add playwright test

- Check that the reference field increments properly

* Fix other Playwright tests
2025-11-16 21:59:27 +11:00
OliverandGitHub aa9958bf11 [bug] State change fixes (#10832)
* Fix for setting custom status

* Fix for setting custom status when receiving stock items

* Allow caching for set_status

* Updated code and unit tests
2025-11-15 07:42:48 +11:00
OliverandGitHub af4d9efd1d devcontainer: Expose debug server on all ports (#10833)
- Required for new docker setup in devcontainer
2025-11-14 19:28:31 +11:00
OliverandGitHub 39d181ae5f Make icons red again (#10816) 2025-11-14 18:12:41 +11:00
OliverandGitHub ba9b5438b4 Char fix (#10827)
* Remove debouncing from text field

* Add debounce to data import field

* Only apply for strings values

* Fix unit test

* More unit test tweaks
2025-11-14 17:35:59 +11:00
OliverandGitHub 8cb808f613 Bug fix for loading boolean settings (#10826)
- Do not just cast to bool
- The string "False" casts to True in this case
- Use the function that supports strings
2025-11-14 08:26:24 +11:00
OliverandGitHub 0790dfff5b [UI] Auto-fill stock allocation for build order (#10819)
* Auto-fill stock allocation for build order

* Auto-fill allocation for sales orders

* Prevent recursive auto-fills
2025-11-13 23:16:32 +11:00
OliverandGitHub af6cce3aba [UI] Duplicate supplier part (#10809)
* Allow duplication of supplier part

* Bug fix for pack quantity display

* Allow duplication of ManufacturerPart
2025-11-12 00:08:45 +11:00
OliverandGitHub c1c9fa7dd3 Merge branch 'master' into generic-parameters 2025-11-11 23:27:27 +11:00
OliverandGitHub d829d3a548 [UI] Order form improvements (#10802)
* Auto-fill supplier parts in order wizard

* Copy supplier part SKU from order parts wizard

* Add "on_order" filter to BuildLine table

* Allow ordering by production and ordering quantities

* Allow specification of purchase price

* Bump API version

* Adjust UI testings
2025-11-11 17:29:18 +11:00
OliverandGitHub f3c1cc12af PO receive fix (#10807)
* Extract note field when receiving stock items against PO

* Fix tracking entry when receiving item
2025-11-11 17:29:09 +11:00
OliverandGitHub 77f80385c9 Fix for pricing display (#10804) 2025-11-11 16:19:20 +11:00
OliverandGitHub 246c084e6e Reduce log output for Pint library (#10803)
- Reduce clutter in app startup due to unit redefinition
2025-11-11 13:33:43 +11:00
Oliver Walters 59563e7b48 Refactor UI table for parameter templates 2025-11-10 13:11:15 +00:00
Oliver Walters 5f067e2c50 API endpoints for Parameter instances 2025-11-10 11:57:33 +00:00
Oliver Walters c1cd327fc2 Update InvenTreeParameterMixin class
- Fetch queryset of all linked Parameter instances
- Ensure deletion of linked instances
2025-11-10 11:19:40 +00:00
Oliver Walters c349152d30 Add django admin site integration 2025-11-10 11:16:30 +00:00
Oliver Walters 3ea0be2ef4 Add definition for Parameter model 2025-11-10 11:06:01 +00:00
Oliver Walters 86cc826671 API updates
- Fix options for model_type
- Add API filters
2025-11-10 10:37:03 +00:00
Oliver Walters 06688d8a56 Add validator for ParameterTemplate model type
- Update migrations
- Make Parameter class abstract (for now)
- Validators
2025-11-10 10:29:24 +00:00
Oliver Walters ed8b7732ea Merge branch 'generic-parameters' of github.com:SchrodingersGat/InvenTree into generic-parameters 2025-11-10 04:29:49 +00:00
Oliver Walters 1fd547efa8 Merge commit 'f3e84824690f0d01316847e053e4b036a188337d' into generic-parameters 2025-11-09 22:28:58 +00:00
OliverandGitHub 4914bf45a1 Merge branch 'master' into generic-parameters 2025-11-09 20:09:20 +11:00
OliverandGitHub 2dfe6b5f41 [UI] MFA Refactor (#10775)
* Install otpauth package

* Add separate MFASettings components

* Refresh methods after registering token

* Simplify layout

* Add modal for deleting TOTP code

* Display recovery codes

* Adjust text

* Register webauthn

* Add longer timeouts

* Add workflow for removing webauthn

* Cleanup SecurityContext.tsx

* Add playwright testing for TOTP registration

* Spelling fixes

* Delete unused file

* Better clipboard copy
2025-11-05 22:54:47 +11:00
OliverandGitHub d12102ba96 PurchaseOrderForms tweaks (#10773)
- Small visual changes
- Small bug fix for null record
2025-11-05 10:21:55 +11:00
OliverandGitHub dbb799a0e0 [UI] BOM part category (#10772)
* Add "Category" column to BOM Table

* Enable sorting by category in BOM table

* Add Category column to Buildline table

* Add Category filter to BuildLineTable

* Adjust queryset prefetch

* Bump API version and update CHANGELOG
2025-11-05 10:04:28 +11:00
OliverandGitHub fc3d130888 Refactor settings.py (#10766)
- Move drf-spectacular settings into separate file
- Cleanup settings.py core file
2025-11-05 07:00:58 +11:00
OliverandGitHub 7e943293c7 MFA middleware tweaks (#10768)
* MFA middleware tweaks

- Remove Check2FAMiddleware if MFA not enabled
- Refactor into middleware.py

* Update settings.py

- Disable MFA_SUPPORTED_TYPES if MFA_ENABLED is False

* Update docs
2025-11-05 07:00:42 +11:00
OliverandGitHub 2bc2966d22 Reduce text size (#10764)
- Smaller text for table hovercards
2025-11-04 15:00:52 +11:00
OliverandGitHub 8e20bc53db Consolidate data actions for BOM table (#10763)
* Consolidate data actions for BOM table

* Adjust playwright tests
2025-11-04 12:02:00 +11:00
OliverandGitHub 901846272b Auth Improvements (#10752)
* Return more detail in MFA failure response

* Reject auth requests for users who are inactive

* Move markdown config out of settings.py
2025-11-04 10:08:04 +11:00
OliverandGitHub 153bcc1d5c Search stock items by supplier data (#10750)
* Search stock items by supplier data

* Search by MPN or Manufacturer

* Update API version
2025-11-03 15:03:50 +11:00
OliverandGitHub 0997a18a62 Move "view" actions to the end of the list (#10749) 2025-11-03 14:28:31 +11:00
OliverandGitHub 91489e986c UI table updates (#10748)
- Add "IPN" col to SupplierPartTable
- Add "IPN" col to ManufacturerPartTable
2025-11-03 13:47:26 +11:00
OliverandGitHub 46615e447b Docs fix (#10738)
* Fix heading in helpers.md

* Helper func docs
2025-11-02 15:30:21 +11:00
OliverandGitHub 551da5a51f Bump version number to 1.2.0 dev (#10734)
* Bump version number to 1.2.0 dev

* Add release tag to CHANGELOG.md

* Add entry for upcoming 1.2.0

* Cleanup

* Remove links
2025-11-02 10:01:16 +11:00
OliverandGitHub 5ea39936b8 Order parts form (#10729)
* Improved SupplierPart rendering

* Adjust tooltips

* Remove debug msg

* Add component for loading and displaying part requirements

* Improved rendering

* Better icons
2025-11-01 10:14:53 +11:00
OliverandGitHub 442a616432 Support attachments against SupplierPart (#10724)
* Support attachments against SupplierPart

* Update CHANGELOG.md

* API update
2025-10-31 21:23:23 +11:00
OliverandGitHub 0527d78ae6 Report helpers (#10726)
* New report functions:

- create_currency: Create a new Money object
- convert_currency: Convert from one currency to another

* docs

* More checking on report tags

* Better formatting of report errors

* Add unit tests

* Remove error message

* Fix pathing for docs

* Add type hints

* Adjust unit tests
2025-10-31 21:23:10 +11:00
OliverandGitHub 46ea541bc4 Push BOM validation to background worker (#10727)
- Can take a significant amount of time
- Closes https://github.com/inventree/InvenTree/issues/10725
2025-10-31 20:41:31 +11:00
OliverandGitHub 16a753bf59 [UI] Plugin actions (#10720)
* Add backend code for custom actions

* docs

* Add sample action code

* Fetch plugin features

* Load plugins and call function

* Support icons

* Alert message

* Update CHANGELOG.md

* Rename action type

* Update docs

* pdated playwright tests
2025-10-31 09:41:32 +11:00
OliverandGitHub 62440893c1 [UI] More actions (#10719)
* Add more spotlight actions:

- Open user settings
- Open system settings

* Add some actions

* Multiple attempts in test code
2025-10-30 22:05:55 +11:00
Oliver Walters 4b8ce00fbf Scaffolding 2025-10-30 08:05:45 +00:00
OliverandGitHub ec9b6e7f84 Fix default storage target value (#10718)
* Fix default storage target value

* Use enum values for comparison

* Fix typo
2025-10-30 14:45:45 +11:00
OliverandGitHub c1bbef1a4d Format number fix (#10710)
* Improvements for format_number func

- Prevent accidental rendering in scientific notation

* Add multiplier argument to format_number
2025-10-29 16:02:08 +11:00
OliverandGitHub 51babacec0 [UI] Duplicate part fixes (#10709)
* Refactor part duplication

- Move duplication items into the form definition

* Expand to part variants table
2025-10-29 14:28:22 +11:00
OliverandGitHub c7593d983f [UI] Fix BuildLineTable (#10707)
- Closes https://github.com/inventree/InvenTree/issues/10700
2025-10-29 13:46:09 +11:00
Oliver Walters 36dfec34d0 API endpoints for ParameterTemplate 2025-10-28 11:36:07 +00:00
Oliver Walters 5748c2e684 Admin integration 2025-10-28 11:23:44 +00:00
Oliver Walters 44b9398c5d Apply data migration for templates 2025-10-28 11:17:58 +00:00
Oliver Walters 8bc131c93d Add ParameterTemplate model
- Data structure duplicated from PartParameterTemplate
2025-10-28 11:12:09 +00:00
OliverandGitHub f2b531bfbb [UI] Fixes (#10697)
* Fix for StockItemTestResultTable

- Fix column alignment

* Update rendering

* Refactor <SupplierPartTable />

- Formalize parameter arguments
2025-10-28 20:18:56 +11:00
OliverandGitHub 83f674e83f Missed one (#10696) 2025-10-28 17:54:48 +11:00
OliverandGitHub 7b4da23981 Docs tweak (#10695)
* Cleanup docs page for custom states

* Fix for address docs
2025-10-28 16:59:42 +11:00
OliverandGitHub 548f05e61c Enhancement for metadata OPTIONS checks (#10693)
* Enhancement for metadata OPTIONS checks

- Handle case where custom `role_required` attribute is set
- Allows integration for plugin views not associated with an internal model

* Cleanup logic
2025-10-28 11:23:24 +11:00
OliverandGitHub df8285d287 [docs] Tweak address docs (#10692)
* [docs] Tweak address docs

- Formatting improvements
- Add screenshot

* Remove blank line
2025-10-28 09:41:51 +11:00
OliverandGitHub 3d5b07b331 [docs] pypi classifer (#10687)
* [docs] pypi classifer

Add link to pypi classifier tag on pypi

* Tweak capitalization
2025-10-27 21:55:57 +11:00
OliverandGitHub 75ceef77e6 Fix pip install (#10684)
* Fix pip install

* Cleanup
2025-10-27 08:02:22 +11:00
OliverandGitHub 9f7f963d16 Better quantity rendering (#10680) 2025-10-26 20:11:11 +11:00
OliverandGitHub ee79869df3 [UI] Shipments dashboard widget (#10679)
- Add widget which displays number of pending shipments
2025-10-26 18:08:05 +11:00
OliverandGitHub 1f438bb734 [docs] Docs updates (#10678)
* Display PendingShipments panel

- Overview of all outstanding shipments

* Update UI tests

* add separate page for troubleshooting

* Restructure menus a bit

* Fix top-level page for mobile app

* Add option to override default value in docs

* Update global.md

* Formatting updates

* Update sales pages

* Move order images to "purchasing"

* Small tweaks

* Make "Concepts" a top-level documentation item

* Update image
2025-10-26 17:16:59 +11:00
OliverandGitHub c54f3f4a30 [UI] Shipments table (#10675)
* Display PendingShipments panel

- Overview of all outstanding shipments

* Update UI tests

* Bump API version
2025-10-26 16:45:27 +11:00
OliverandGitHub 636477ac13 Stock form fixes (#10673)
* Improve rendering of SupplierPart in forms

- Display pack_quantity

* Ensure boolean values have default
2025-10-26 11:40:32 +11:00
OliverandGitHub 23d580c4a9 Delete locations fix (#10672)
* Cleaner handling of inputs

* Fix for frontend form:

- Fix typo in field
- Better option defaults

* Tweak part category delete form

* Add frontend tests
2025-10-26 11:40:22 +11:00
OliverandGitHub b579ccdaa2 Remove junk file (#10671) 2025-10-26 09:27:25 +11:00
OliverandGitHub 8e1d621db9 Report tag fixes (#10668)
* remove duplicate template tag

* Add "multiplier" argument to render_currency

* Improve render_currency

- Enable conversion of non-money values to a Money instance

* Improve maths tags

- Convert values to Decimal
- Ability to cast result to different type

* Updated docs

* Improved feedback from maths tags

* Updated unit testing

* Improved rendering of printing errors

* Add extra test for render_currency tag

* Enfoce multiplier type

* Fix docstrings

* Improved error handling

* Remove defunct unit test

* Fix unit tests
2025-10-25 13:17:10 +11:00
OliverandGitHub a2682a75e9 Backup opts tweak (#10663)
* backup: spread connection options

- Combine custom options with default options
- Provide ability to override defaults

* Adjust default value
2025-10-24 20:06:53 +11:00
OliverandGitHub 1fa607b96a Table refactoring: (#10662)
- Display model type in the "view details" action
2025-10-24 15:55:43 +11:00
OliverandGitHub c4805504c0 Fix for 'price_breaks' field in PartSerializer (#10659)
* Fix for 'price_breaks' field in PartSerializer

- Revert change made in https://github.com/inventree/InvenTree/pull/10654

* Bump API version
2025-10-24 15:55:34 +11:00
OliverandGitHub 4e454f4c99 [UI] User column (#10661)
* Refactor user display columns

* More refactoring
2025-10-24 15:30:15 +11:00
OliverandGitHub 96dfee4018 [feature] Project code per line (#10657)
* Add project code to line items

* Refactor AbstractOrderSerialiazer

* Refactor AbstractOrderLineItem serializer

* Refactoring for AbstractExtraLineSerializer

* UI elements for extra line item project code

* UI for ReturnOrderLineItems

* UI elements for SalesOrderLineItem

* UI elements for PurchaseOrderLineItem

* Docs updates

* Update API version and CHANGELOG
2025-10-24 15:10:58 +11:00
OliverandGitHub c3d788eeeb Devcontainer tweaks (#10658)
* Expose port 8000 for InvenTree server container

* Expose dev server on all interfaces
2025-10-24 14:14:33 +11:00
OliverandGitHub 6df97e83f5 [UI] Implement "checked_by" for SalesOrderShipment (#10654)
* Add "checked" column to SalesOrderStatus table

* Add API filter for "checked" status

* Add Checked / Not Checked badge

* Add actions to check / uncheck shipment

* Add modal for changing checked_by status

* Display checked_by user

* Tweak wording

* Bump API version

* Update CHANGELOG file

* Update docs

* Add new global setting

- Prevent shipment completion which have not been checked

* Test if shipment has been checked

* Updated unit tests

* Updated type hinting

(may as well while I'm here)

* Adjust shipment icon

* Add "order_outstanding" filter for SalesOrderShipment table
2025-10-24 13:39:57 +11:00
OliverandGitHub ec33c57e85 SalesOrderShipment address (#10650)
* Adds "shipment_address" attribute to the SalesOrderShipment model:

- Allows different addresses for each shipment
- Defaults to the order shipment address (if not specified)

* Add unit testing for field validation

* Update SalesOrderShipment serializer

* Edit shipment address in UI

* Render date on shipment page

* Improve address rendering

* Update docs

* Bump API version

* Update CHANGELOG.md

* Fix API version
2025-10-23 16:37:43 +11:00
OliverandGitHub 754b2f2d66 [UI] Improve for change stock status (#10652)
- Pre-fill value if only one status set
2025-10-22 17:16:56 +11:00