* change screenshot for plugin install to PUI
* Correct location of gunicorn config in docs
* Add more details to plugin installation doc
* remove unused file
* Add barcode buttons to related fields
- Only field types which support barcodes
* Add per-user settings for barcode support
* Fill form field with scanned data
* Updated docs
* Fix duplicate setting
* Add playwright tests
* Fix duplicate setting in docs
* Fix broken link
* Fix memo deps
* Fix typo
* Remove setting
* Updated playwright tests
* Improved typing
* Enable input controls in PDF reports
Modify options passed to WeasyPrint.
* Changelog update for issue #10969.
* Add usage notes for PDF forms to report docs (#10969).
* Update version checks:
- Add error code for old python version
- Fix min python version in docs
- Various spelling fixes in docs
* Fix docs link
* Revert change to docs version string
* Bug fix
* Add ParameterTemplate model
- Data structure duplicated from PartParameterTemplate
* Apply data migration for templates
* Admin integration
* API endpoints for ParameterTemplate
* Scaffolding
* Add validator for ParameterTemplate model type
- Update migrations
- Make Parameter class abstract (for now)
- Validators
* API updates
- Fix options for model_type
- Add API filters
* Add definition for Parameter model
* Add django admin site integration
* Update InvenTreeParameterMixin class
- Fetch queryset of all linked Parameter instances
- Ensure deletion of linked instances
* API endpoints for Parameter instances
* Refactor UI table for parameter templates
* Add comment for later
* Add "enabled" field to ParameterTemplate model
* Add new field to serializer
* Rough-in new table
* Implement generic "parameter" table
* Enable parameters for Company model
* Change migration for part parameter
- Make it "universal"
* Remove code for ManufacturerPartParameter
* Fix for filters
* Add data import for parameter table
* Add verbose name to ParameterTemplate model
* Removed dead API code
* Update global setting
* Fix typos
* Check global setting for unit validation
* Use GenericForeignKey
* Add generic relationship to allow reverse lookups
* Fixes for table structure
* Add custom serializer field for ContentType with choices
* Adds ContentTypeField
- Handles representation of content type
- Provides human-readable options
* Refactor API filtering for endpoints
- Specify ContentType by ID, model or app label
* Revert change to parameters property
* Define GenericRelationship for linking model
* Refactoring some code
* Add a generic way to back-annotate and prefetch parameters for any model type
* Change panel position
* Directly annotate parameters against different model serializers
* remove defunct admin classes
* Run plugin validation against parameter
* Fix prefetching for PartSerializer
* Implement generic "filtering" against queryset
* Implement generic "ordering" by parameter
* Make parametric table generic
* Refactor segmented panels
* Consolidate part table views
* Fix for parametric part table
- Only display parameters for which we know there is a value
* Add parametric tables for company views
* Fix typo in file name
* Prefetch to reduce hits
* Add generic API mixin for filtering and ordering by parameter
* Fix hook for rebuilding template parameters
* Remove serializer
* Remove old models
* Fix code for copying parameters from category
* Implement more parametric tables:
- ManufacturerPart
- SupplierPart
- Fixes and enhancements
* Add parameter support for orders
* Add UI support for parameters against orders
* Update API version
* Update CHANGELOG.md
* Add parameter support for build orders
* Tweak frontend
* Add renderer
* Remove defunct endpoints
* Add migration requirement
* Require contenttypes to be updated
* Update migration
* Try using ID val
* Adjust migration dependencies
* fix params fixture
* fix schema export
* fix modelset
* Fixes for data migration
* tweak table
* Fix for Category Parameters
* Use branch of demo dataset for testing
* Add parameteric build order table
* disable broken imports
* remove old model from ruleset
* correct test
* Table tweaks
* fix test
* Remove old model type
* fix test
* fix test
* Refactor mixin to avoid specifying model type manually
* fix test
* fix resolve name
* remove unneeded import
* Tweak unit testing
* Fix unit test
* Enable bulk-create
* More fixes
* More unit test tweaks
* Enhancements
* Unit test fixes
* Add some migration tests
* Fix admin tests
* Fix part tests
* adapt expectation
* fix remaining typecheck
* Docs updates
* Rearrange models
* fix paramater caching
* fix doc links
* adjust assumption
* Adjust data migration unit tests
* docs fixes
* Fix docs link
* Fixes
* Tweak formatting
* Add doc for setting
* Add metadata view for parameters
* Add metadata view for ParamterTemplate
* Update CHANGELOG file
* Deconflict model_type fields
* Invert key:value
* Revert "Invert key:value"
This reverts commit d555658db2.
* fix assert
* Update API rev notes
* Initial unit tests for API
* Test parameter create / edit / delete via the API
* Add some more unit tests for the API
* Validate queryset annotation
- Add unit test with large dataset
- Ensure number of queries is fixed
- Fix for prefetching check
* Add breaking change info to CHANGELOG.md
* Ensure that parameters are removed when deleting the linked object
* Enhance type hinting
* Refactor part parameter exporter plugin
- Any model which supports parameters can use this now
- Update documentation
* Improve serializer field
* Adjust unit test
* Reimplement checks for locked parts
* Fix unit test for data migration
* Fix for unit test
* Allow disable edit for ParameterTable
* Fix supplier part import wizard
* Add unit tests for template API filtering
* Add playwright tests for purchasing index
* Add tests for manufacturing index page
* ui tests for sales index
* Add data migration tests for ManufacturerPartParameter
* Pull specific branch for python binding tests
* Specify target migration
* Remove debug statement
* Tweak migration unit tests
* Add options for spectacular
* Add explicit choice options
* Ensure empty string values are converted to None
* Don't use custom branch for python checks
* Fix for migration test
* Fix migration test
* Fix reference target
* Remove duplicate enum in spectactular.py
* Add null choice to custom serializer class
* [UI] Edit shipment details
- Pass "pending" status through to the form
* New migration strategy:
part.0144:
- Add new "enabled" field to PartParameterTemplate model
- Add new ContentType fields to the "PartParameterTemplate" and "PartParameter" models
- Data migration for existing "PartParameter" records
part.0145:
- Set NOT NULL constraints on new fields
- Remove the obsolete "part" field from the "PartParameter" model
* More migration updates:
- Create new "models" (without moving the existing tables)
- Data migration for PartCataegoryParameterTemplate model
- Remove PartParameterTemplate and PartParameter models
* Overhaul of migration strategy
- New models simply point to the old database tables
- Perform schema and data migrations on the old models first (in the part app)
- Swap model references in correct order
* Improve checks for data migrations
* Bug fix for data migration
* Add migration unit test to ensure that primary keys are maintained
* Add playwright test for company parameters
* Rename underlying database tables
* Fixes for migration unit tests
* Revert "Rename underlying database tables"
This reverts commit 477c692076.
* Fix for migration sequencing
* Simplify new playwright test
* Remove spectacular collision
* Monkey patch the drf-spectacular warn function
* Do not use custom branch for playwright testing
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* docs: brief writeup for env-vars on webserver in Dockerfile
Mates with https://github.com/inventree/InvenTree/pull/10900
nit, fix: spacing
2 -> 1
* docs: relocate
And simplify
---------
Co-authored-by: Karl Quinsland <contact@kquinsland.com>
* feat(backend): bump to 5.2 lts / python 3.11
This will give us support till 2027-10 (PEP 664)
* bump dependencies
* fix dflt version
* remove 3.9 precaution
* changes for 5.2
* changes for py 3.10
* debug command
* lower crypto again
* another lowering
* fix version string
* lower minimum version to 3.11
* update refs
* fix text
* reaking: remove now unsupported OS
* disable break
* remove temp changes
* fix ruff call
* fix remaining ruff warnings
* remove old arg
* lower allauth reqs
* replace old method
* fix issue with args passing beeing depreceated
* add changelog entries
* bump dependencies a bit further
* fix broken image init for now
might need a refactor
* fix another test
* refactor image name lookup
* mroe refactoring
* ensure str does not cause an issue
* update referenced function
* fix cal sig
* simplify method and add test
* refactor
* ignore wrong typings
* fix deprecated feature
* simplify
* ensure image tests do their job
* simplify
* re-add type check
* fix test
* fix assertations - wonder how long this was broken
* bump to newer versions
* bump deps
* fix assertation
* 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
* bump vers
* fix ssl?
Added build dependencies for libbz2, libffi, and libssl.
* try empty buildpack
* clean up
* fix ref
* remove things we now do not need anymore
* add 22.04 as a target
* cleanup installer
* add changelog entry
* add dotenv
* update skript
* make task more robust for package usage
* ensure we have a site-url set
* fix style
* fix syntax
* 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
* 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
* 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
* 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
* 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
* move filtering of serializer fields out of functions into mixin
* fix def
* temp fix
* rollback rollback
* more adoption
* fix many serializer behaviour
* optimize mro
* set many serializer
* adjust default filtering
* fix import
* add missed field
* make can_filter suppport more complex scenarios:
- different filtername from fieldname
- multiple fields with one filtername
* fix removal
* fix schema?
* add missing def
* add test
* fix schema fields
* fix another serializer issue
* further fixes
* extend tests
* also process strings
* fix serializer for schema
* ensure popped values are persisted
* move test around
* cleanup
* simplify tests
* fix typo
* fix another test
* var tests
* disable additional tests
* make application of PathScopedMixin more intentional -> more efficient
* make safer to use with various sanity checks
* fix list serializer
* add option to ignore special cases
* generalize addition
* remove generalize addition
* re-add missing schema generation exception
* remove new duplication
* fix style
* adjust naming and docs, add typing to clean stuff up
* simplify more
* fix ref calc
* Update django-dbbackup version
* Specify STORAGES option for dbbackup
* Add more backup configuration
* Support custom date formats
* Add connector options
* Extend functionality of invoke backup
* Add extra options for restore task
* Add invoke task for finding additional backups
* Small tweaks
* Add docs around backup / restore
* Fix typo
* Add example for GCS storage
* More docs
* commit initial draft for supplier import
* complete import wizard
* allow importing only mp and sp
* improved sample supplier plugin
* add docs
* add tests
* bump api version
* fix schema docu
* fix issues from code review
* commit unstaged changes
* fix test
* refactor part parameter bulk creation
* try to fix test
* fix tests
* fix test for mysql
* fix test
* support multiple suppliers by a single plugin
* hide import button if there is no supplier import plugin
* make form submitable via enter
* add pui test
* try to prevent race condition
* refactor api calls in pui tests
* try to fix tests again?
* fix tests
* trigger: ci
* update changelog
* fix api_version
* fix style
* Update CHANGELOG.md
Co-authored-by: Matthias Mair <code@mjmair.com>
* add user docs
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* show warning text
* fix formatting
* try to gather site-url correctly
* protect envs that are set in the config
* raise issue if they appear
* prefer app setting over file config
* preserve setting if injected via envs
* Handle partial completion of build output
* Add 'quantity' field to BuildOutputComplete API endpoint
* Allow partial scrapping of build outputs
* Adjust column text
* Adjust "complete build output" form
* Change order of operations when completing build output
- Run validation checks *before* potentially splitting stock item
* Extract quantity from serializer
* Documentation
- Update screenshots
- Add note on partial completion
- Add note on partial scrapping
* Update CHANGELOG.md
* Update API version
* Add unit test for partial scrapping
* Tweak text
* Unit test for partial output completion
* Fix validation check for quantity field
* Adjust playwright tests
* Add ty for type checking
* fix various typing issues
* fix req
* more fixes
* and more types
* and more typing
* fix imports
* more fixes
* fix types and optional statements
* ensure patch only runs if it is installed
* add type check to qc
* more fixes
* install all reqs
* fix more types
* more fixes
* disable container stuff for now
* move typecheck to seperate job
* try to use putput for path
* use env instead
* fix typo
* add missing install
* remove unclear imports - not sure why this was done
* add kwarg names
* fix introduced issue in url call
* ignore import
* fix broken typing changes
* fix filter import
* reduce change set
* remove api-change
* fix dict
* ignore typing errors
* fix more type issues
* ignore errors
* style fix
* fix type
* bump ty
* fix more
* type fixes
* update ignores
* fix import
* fix defaults
* fix ignore
* fix some issues
* fix type
* Prevent virtual parts from being linked in a BuildOrder
* Hide "stock" tab for virtual parts
* Filter out virtual parts when creating a new stock item
* Support virtual parts in sales orders
* Add 'virtual' filter for BomItem
* Hide stock badges for virtual parts
* Tweak PartDetail page
* docs
* Adjust completion logic for SalesOrder
* Fix backend filter
* Remove restriction
* Adjust table
* Fix for "pending_line_items"
* Hide more panels for "Virtual" part
* Add badge for "virtual" part
* Bump API version
* Fix docs link
* Add wrapper function for machine registry
* Decorate entrypoint functions
* Docstrings
* Fix for boolean setting
* Add playwright tests
* Use proper entrypoints
* Ensure settings are fetched correctly
* Prevent recursion of machine registry decorator
* Fix machine status display
* Enhanced warning msg
* Add simple machine sample printer
* Adds playwright tests for machine UI
* re-throw exception
* Define 'machine' plugin mixin class
* Adjust machine discovery
* Use plugin mixins for registering machine types and drivers
* Adjust unit test
* Remove plugin static files when deactivating
* Force machine reload when plugin registry changes
* Add plugins specific to testing framework
* Add test for plugin loading sequence
* Add session caching
- Significantly reduce DB hits
* Enhanced unit testing and test plugins
* Refactor unit tests
* Further unit test fixes
* Adjust instance rendering
* Display table of available drivers
* Cleanup
* ADjust unit test
* Tweak unit test
* Add docs on new mixin type
* Tweak machine overview docs
* Tweak playwright tests
* Additional unit test
* Add unit test for calling machine func
* Enhanced playwright tests
* Account for database not being ready
* Add field to "update" existing records
* Ensure the ID is first
* Prevent editing of "ID" field
* Extract db instance
* Bump API version
* Prevent edit of "id" field
* Refactoring
* Enhanced playwright tests for data importing
* Update docs
* Update src/backend/InvenTree/importer/models.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/frontend/src/forms/ImporterForms.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix silly AI mistake
* Fix for table pagination
- Ensure page does not exceed available records
* Bug fix for playwright test
* Add end-to-end API testing
* Fix unit tests
* Adjust table page logic
* Ensure sensible page size
* Simplify playwright test
* Simplify test again
* Tweak unit test
- Importing has invalidated the BOM?
* Adjust playwright tests
* Further playwright fixes
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Adds "consumed" field to BuildLine model
* Expose new field to serializer
* Add "consumed" column to BuildLineTable
* Boolean column tweaks
* Increase consumed count when completing allocation
* Add comment
* Update migration
* Add serializer for consuming build items
* Improve build-line sub-table
* Refactor BuildItem.complete_allocation method
- Allow optional quantity to be specified
- Adjust the allocated quantity when consuming
* Perform consumption
* Add "BuildConsume" API endpoint
* Implement frontend form
* Fixes for serializer
* Enhance front-end form
* Fix rendering of BuildLineTable
* Further improve rendering
* Bump API version
* Update API description
* Add option to consume by specifying a list of BuildLine objects
* Add form to consume stock via BuildLine reference
* Fix api_version
* Fix backup colors
* Fix typo
* Fix migrations
* Fix build forms
* Forms fixes
* Fix formatting
* Fixes for BuildLineTable
* Account for consumed stock in requirements calculation
* Reduce API requirements for BuildLineTable
* Docs updates
* Updated playwright testing
* Update src/frontend/src/forms/BuildForms.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/frontend/src/tables/build/BuildLineTable.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add unit test for filters
* Add functional tests
* Tweak query count
* Increase max query time for testing
* adjust unit test again
* Prevent consumption of "tracked" items
* Adjust playwright tests
* Fix table
* Fix rendering
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add warning that the log is useless by default
* Add setting to enhance email log again
* add missing test for #10109
* add test for delete protections
* add error code
* Update email.md
* Update email.md
* Bulk creation of test results
- Add BulkCreateMixin class
- Add frontend support
* Refactor test result serializer
- Allow lookup by template name
* Updated unit test
* Add unit tests
* Add row actions
* Docs
* Fix failing tests
* Bump API version
* Fix playwright tests
* Add "StockReturn" API endpoint
- Provide multiple items
- Provide quantity for each item
* Add frontend form
* update frontend forms
* Refactor frontend
* Allow splitting quantity
* Refactoring backend endpoints
* cleanup
* Update unit test
* unit tests
* Bump API version
* Fix unit test
* Add tests for returning build items to stock
* Playwright tests
* Enhanced unit tests
* Add docs
* Remove STOCKTAKE ruleset
* Adjust wording of settings
* Cleanup
* Improve text for global settings
* Add BulkDeleteMixin to "stocktake" endpoint
* Frontend updates
* Migrations
- Remove field 'last_stocktake' from Part model
- Remove fields 'user' and 'note' from PartStocktake model
- Remove model PartStocktakeReport
* Frontend cleanup
* Rename global setting
* Rewrite stocktake functionality
* Cleanup
* Adds custom exporter for part stocktake data
* Frontend cleanup
* Bump API version
* Tweaks
* Frontend updates
* Fix unit tests
* Fix helper func
* Add docs
* Fix broken link
* Docs updates
* Adjust playwright tests
* Add unit testing for plugin
* Add unit testing for stock history creation
* Fix unit test
* Adds error code for transition handler issues #10088
* Adds error codes for mandatory plugins #10094
* add more links
* Add error code for global overrides
* disable coverage for a case that can not happen
* Improve formatting for <ConfigValueList>
- Only used for email settings currently
* API updates:
- Allow delete operations of email record
- Allow bulk delete operations of email record
* Table updates:
- Improved table rendering
- Allow delete ops
* Display timestamp in email table
* Add setting to control email cleanup interval
* Add scheduled task to delete old emails
* Bump API version
* feat(cache): Add support for cache password in Redis configuration
* Add cache password configuration option to documentation
* Fix the complaints from CI checks
* Add setting for "mandatory" plugins
* Add 'is_active' method to PluginConfig model
* Check against plugin config object by priority
* Prevent plugin from reporting its own 'active' status
* Refactor get_plugin_class for LabelPrint endpoint
* Fix typo
* Mark internal plugin methods as "final"
- Prevent plugins from overriding them
* Enhanced checks for bad actor plugins
* Enhanced unit test for plugin install via API
* Playwright tests for plugin errors
* Test that builtin mandatory plugins are always activated
* Force mandatory plugins to be marked as active on load
* API unit tests
* Unit testing for plugin filtering
* Updated playwright tests
- Force one extra plugin to be mandatory in configuration
* Adjust unit tests
* Updated docs
* Tweak unit test
* Another unit test fix
* Fix with_mixin
- Checking active status first is expensive...
* Make with_mixin call much more efficient
- Pre-load the PluginConfig objects
- Additional unit tests
- Ensure fixed query count
* Fix the 'is_package' method for PluginConfig
* Tweak unit test
* Make api_info endpoint more efficient
- with_mixin is now very quick
* Run just single test
* Disable CI test
* Revert changes to CI pipeline
* Fix typo
* Debug for test
* Style fix
* Additional checks
* Ensure reload
* Ensure plugin registry is ready before running unit tests
* Fix typo
* Add debug statements
* Additional debug output
* Debug logging for MySQL
* Ensure config objects are created?
* Ensure plugin registry is reloaded before running tests
* Remove intentional failure
* Reset debug level
* Fix CI pipeline
* Fix
* Fix test mixins
* Fix test class
* Further updates
* Adjust info view
* Test refactoring
* Fix recursion issue in machine registry
* Force cache behavior
* Reduce API query limits in testing
* Handle potential error case in with_mixin
* remove custom query time code
* Prevent override of is_mandatory()
* Prevent unnecessary reloads
* Tweak unit tests
* Tweak mandatory active save
* Tweak unit test
* Enhanced unit testing
* Exclude lines from coverage
* (final)? cleanup
* Prevent recursive reloads
---------
Co-authored-by: Matthias Mair <code@mjmair.com>