* Patch for django-allauth 0.55.0
- Some breaking changes here
- Add logger error if auth provider cannot be imported
- Fix for API endpoints
* Only provide URLs for configured plugins
* Update for django-allauth 0.56.0
- Remove support for keycloak
- Remove example from configuration template
* Update django-allauth in requirements.txt
* Update requirements.in
* Refactor SSO functions into common file
* Update config template file
* Update docs
* Fix template files
* Log SSO exceptions to the database
- WIll help greatly with debugging installs
* Add note about error handling in docs
* Add FilterSelectDrawer component
* Add descriptions for build order table filters
* Pass active filters through via UseTable hook
* Remove old FilterGroup component
* Add callback to remove selected filter
* Implement interface for adding new filters
* Prevent duplication of filters
* Hide "add filter" elements after creating new filter
* Improved rendering
* Implement more filters for stock item table
* Add some filters for stock location table
* Refactor filter choice method
- Add StatusFilterOptions callback
- Update filters for existing tables
* purchase order table filters
* Implement more table filters
* Fix unused imports
* Render display value, not raw value
* Cleanup
* UI improvements
* Add 'existing_image' field to part API serializer
* Ensure that the specified directory exists
* Fix serializer
- Use CharField instead of FilePathField
- Custom validation
- Save part with existing image
* Add unit test for new feature
* Bump API version
* Add override fields for part pricing
* Allow pricing override values to be specified via the API
* Fix serializer
* Update pricing docs
* Add UI elements for manually overriding pricing data
* Increment API version
* First draft for refactoring the api forms including modals
* Fix merging errors
* Fix deepsource
* Fix jsdoc
* trigger: deepsource
* Try to improve performance by not passing the whole definition down
* First draft for switching to react-hook-form
* Fix warning log in console with i18n when locale is not loaded
* Fix: deepsource
* Fixed RelatedModelField initial value loading and disable submit if form is not 'dirty'
* Make field state hookable to state
* Added nested object field to PUI form framework
* Fix ts errors while integrating the new forms api into a few places
* Fix: deepsource
* Fix some values were not present in the submit data if the field is hidden
* Handle error while loading locales
* Fix: deepsource
* Extend protection against recurisve BOMs
- Prevent part variants from being use BOMs for other variants of the same part
* Add unit tests for new BOM validation checks
* Cleanup urls.md
* Update unit tests
* Unit test update
* <ore unit test fixes
* Enable mysql checks as part of PR
* Add debug for CI
* Add delete_nodes method
- Ensure that the "parent" field is set to None before delete
- This means that we do not violate any ForeignKey constraints due to undefined order of operations
* Replace moneyed format_money function
* Update django-money to 3.3.0 and py-moneyed to 3.0
* Add CurrencyField migrations
* Fix checking if decimal_places is set
* Add currency formatting test
* Test fixing deepsource test patterns
* Revert "Test fixing deepsource test patterns"
This reverts commit 398ef93cd6.
* FIx requirements.txt formatting
* Revert "FIx requirements.txt formatting"
This reverts commit bb554b0758.
* updated typing to allow either link or action
* fixed typing
* made it possible to use an action instead of a link
* added ServerInfo Modal skeleton
* fixed anchor
* added content to ServerInfo
* Factored database lookup out
* Extended status API to CUI level
* extended ServerInfo to CUI level
* Made modal larger
* fixed default settings
* Refactored urls into seperate functions
* Refactored python version into seperate function
* Added endpoint and modal for PUI version modal
* switched to indirect imports to reduce imports
* Added copy button
* Added full copy button
* added default
* cleaned unused vars
* cleaned unused vars
* Refactored auth check for InfoView
* implemented suggested changes
* fixed check logic
* updated typing to allow either link or action
* fixed typing
* made it possible to use an action instead of a link
* added ServerInfo Modal skeleton
* fixed anchor
* added content to ServerInfo
* Factored database lookup out
* Extended status API to CUI level
* extended ServerInfo to CUI level
* Made modal larger
* fixed default settings
* Improve deletion behaviour for InvenTreeTree model
- Remove recursive call to function
- Handle database operations as bulk queries
- Ensure child nodes have their pathstring updated correctly
- Remove old @receiver hook
- Refactor StockLocation.delete method
- Refactor PartCategory.delete method
- Atomic transactions potentially problematic here
* Add docstring
* Fix method name
* Use bulk-update instead of recursive save when pathstring changes
* Improvements for tree delete method
- Handle case where item has already been deleted
* Raise exception rather than simply logging
* Update unit tests
* Improvements to unrelated unit test
* Fix urls.md
* Fix typo
* Add "responsible_owner" field to part model
- Will replace "responsible" field
* Data migration
- Adds 'responsible_owner' value for parts which have 'responsible' set
- Selects correct content type
- Performs reverse migratoin
* Update part serializer
- Point to the new field
- Rename to preserve compatibility
- OPTIONS metadata will take care of the rest
* Remove old 'responsible' field
* Bump API version
* Fix typo
* Fix serializer field
The use of `else` or `elif` becomes redundant and can be dropped if the last statement under the leading `if` / `elif` block is a `return` statement.
In the case of an `elif` after `return`, it can be written as a separate `if` block.
For `else` blocks after `return`, the statements can be shifted out of `else`. Please refer to the examples below for reference.
Refactoring the code this way can improve code-readability and make it easier to maintain.
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
To check if a variable is equal to one of many values, combine the values into a tuple and check if the variable is contained `in` it instead of checking for equality against each of the values.
This is faster, less verbose, and more readable.
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
There shouldn't be any blank lines after the function docstring.
Remove the blank lines to fix this issue.
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
* Implement simple "PartVariantTable" component
- Not yet nested
- More work needed for table nesting
* Fix issue rendering same image multiple times
- Use useId hook to generate random key
* Update PartParameter list API endpoint
- Allow part_detail extra field
- Add FilterSet class
- Allow filter to include variants
* Update PartParameterTable
- Display part column
- Allow returned parts to include templates of base part
- Hide actions for templated parameters
* Fix some code smells
* Track current panel selection in local storage
* Simplify part detail tabs
* Fix <PanelGroup> instances
* Handle missing model type for rendering
* Add some more API endpoints
* Add PartParameter table
* Add callback to create new part parameter
* Allow PartParameter list API endpoint to be searched
* More PanelGroup collapse tweaks
- Still requires more attention
* Fix logic for related part table
- Need to rebuild columns when part id changes
* Further fixes for related part table
* Re-implement change to PanelGroup
- useLocalStorage
- Change got clobbered in recent merge conflict
* Add part thumbnail to StockItemTable
* Add simple <YesNo> button
- Can be improved later
* Fix for PartTable
* Allow CORS requests to /static/ endpoint
* Updates to other existing tables
* Update URLs for dashboard items
* Show only the current modal over the backdrop, move others behind
* Added initial draft for tree picker
* Added filters to tree picker
* Added tree picker to more location fields
* Fixed bug with missing input group and filters side effect
* Added tree picker to part category inputs
* Added missing picker for part category parent input
* Fixed disabled items
* Fix js linting errors
* trigger: ci
* Bump api_version.py
* Update api_version.py
* Add tests for allocating a variant to a sales order line
* Add check for variants to match template allocation
* Tweak fixtures for inventree-python, improve test checks
* Optimize check for item variants
* don't ignore parts without stock in stocktake
#5621
* after including 0 stock parts, expect 14 parts to be in stocktake
---------
Co-authored-by: Oliver Lippert <oliver@lipperts-web.de>
* get_setting_object: Handle ProgrammingError
* Improved exception handling
- Address a few cases on application startup if the database is not ready (migrations not applied)
* Add "path_detail" to stock location serializer
- Requires ?path_detail=1 in URL query parameters
- Only avaialable on the StockLocation detail URL endpoint (not list, too expensive)
* Implement path_detail option for PartCategory detail API endpoint
* Add "path_detail" option to PartSerializer
* Add optional path_detail to StockItem serializer
* Cleanup
* Increment API version
* Add unit test for Part and PartCategory
* Remove debug statement