* Update models: add MetadataMixin
* Fix name of model in Metadata API definition
* Add API endpoints
* Update API version
* Fix syntax
* Add API endpoint for RO, RO line, RO line extra item
* Add Metadata to Contacts
* Fix link in API version
* Fix name of model
* Fix error?
* Fix error?
* Fix all errors, hopefully..
* Add tests for order, line, extraline metadata
Extend for PO, SO
* Add tests for metadata for Company-related models
* Fix spelling
* Consolidate metadata test for all part models into one test
* Add test for all Stock metadata
* Update stock test_api
* Add all metadata tests for orders
* Fix various errors in tests
* Fix model name
* Add migration files
* Update tests for metadata
* Resolve conflict around API version number
* Rename migration file
* Rename migration file
* Will Contact edit endpoint work better?
* Revert changes in URL definitions
* Remove test, duplicate
* Fix tests with fixed PK, not from fixtures, to use a dynamic PK
* Fix migration overlap
* Fix name of model in Metadata API definition
* Add API endpoint for RO, RO line, RO line extra item
* Update InvenTree/order/api.py
Thanks @matmair - missed that I changed this later on
Co-authored-by: Matthias Mair <code@mjmair.com>
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* fix .gitignore and spelling issues
* Fix setting get not cached correctly
* Add model to settings key type
* Fix plugin setting slug url
* Fix typo
* Fix resetting of related setting field
* Improved model comment
* Add user settings to remember the last/favourite label template
Fixes#4932
* Remove settings_value from translated templates
Thanks Oliver for the hint!
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add fields to PartParameterTemplateModel
- checkbox: Is the field a 'checkbox'
- choices: List of valid options
* Update javascript
* Adds unit test for PartParameterTemplate
- Checkbox cannot have units
- Checkbox cannot have choices
- Choices must be unique
* Improve API filtering
- Add "has_choices" filter
- Add "has_units" filter
* Prune dead code
* Update js functions for creating / editing parameters
* Update part parameter form
- Rebuild the "data" field based on the selected template
- Supports "string" / "boolean" / "select"
* Adjust data input based on parameter type
- Choice displays available options
- Checkbox displays boolean switch
- Otherwise displays text input
- Adds more unit testing
- Updates to forms.js for improved functionality
* Calculate numeric value for boolean parameters
* Update docs
* Bump API version
* Refactor model helpers into own file to allow helper import when apps not loaded yet
* Import helper functions at module level
* Added missing imports where vscode couldnt help because its no explicit import
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add RO to calendar output
* Update title and description to be more descriptive
* Add documentation
* Add simple test for RO calendar
* Lint/syntax
* Lint
* Changes to title, description
* Add validation to part units field
* Add "pack_units" field to the SupplierPart model
* Migrate old units to new units, and remove old field
* Table fix
* Fixture fix
* Update migration
* Improve "hook" for loading custom unit database
* Display part units column in part table
- Also allow ordering by part units
- Allow filtering to show parts which have defined units
* Adds data migration for converting units to valid values
* Add "pack_units_native" field to company.SupplierPart model
* Clean pack units when saving a SupplierPart
- Convert to native part units
- Handle empty units value
- Add unit tests
* Add background function to rebuild supplier parts when a part is saved
- Required to ensure that the "pack_size_native" is up to date
* Template updates
* Sort by native units first
* Bump API version
* Rename "pack_units" to "pack_quantity"
* Update migration file
- Allow reverse migration
* Fix for currency migration
- Handle case where no currencies are provided
- Handle case where base currency is not in provided options
* Adds unit test for data migration
* Add unit test for part.units data migration
- Check that units fields are updated correctly
* Add some extra "default units"
- each / piece
- dozen / hundred / thousand
- Add unit testing also
* Update references to "pack_size"
- Replace with "pack_quantity" or "pack_quantity_native" as appropriate
* Improvements based on unit testing
* catch error
* Docs updates
* Fixes for pricing tests
* Update unit tests for part migrations · 1b6b6d9d
* Bug fix for conversion code
* javascript updates
* JS formatting fix
* Fix for data migration
- Catch *all* exceptions
- We don't want an unhandled exception to break data migration
* Add more exception handling
* Fix typo
* fix cli call to get a fully running invoke
* use relativ import
This is importend when imported from outside
* Add version command
* Add more information to version command
* make print easier to understand
* Improved error handling for email support
- Prevent email sending if email not configured
- Check for tx email address before sending
(cherry picked from commit de541f811ede030ea5eb3136132731e1dafccc31)
* Update InvenTree/email.py
Co-authored-by: Matthias Mair <code@mjmair.com>
* Update InvenTree/email.py
Co-authored-by: Matthias Mair <code@mjmair.com>
* Fix location of file email.py
* Allow dummy emails in testing
* Provide default email in testing mode
* Fix to get test working
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* adds new field 'parameter type' to PartParameterTemplate model
* Move part parameter settings onto their own page
* Add "choices" and "regex" template types
* Adds validation for PartParameter based on template type
* javascript cleanup
* Fix for serializers.py
* Add unit testing for parameter validation
* Add filters
* Rename "type" field to "param_type"
- Should have seen that one coming
* Coerce 'boolean' value to True/False
* table update
* js linting
* Add requirement for "pint" package
* Add validator for physical unit types
- Revert a previous migration which adds "parameter type" and "validator" fields
- These will get implemented later, too much scope creep for this PR
- Add unit test for validation of "units" field
* Update PartParameter model
- Add data_numeric field (will be used later)
- Add MinLengthValidator to data field
* Run validation for part parameter data
- Ensure it can be converted to internal units
* Update admin interface to display partparameter values inline for a part
* Adds validation of part parameter data value
- Also converts to base units, and stores as "numeric" value
- Display "numeric" value in tables
- Create new file conversion.py for data conversion
* Update unit tests and fix some bugs
* Update docstring
* Add units to parameter columns in parameteric part table
* Allow part list to be ordered by a particular parameter value
- Annotate queryset with new "order_by_parameter" method
- Skeleton method for future work
* Bump API version
* Adds unit testing for sorting parts by parameter value
* Update historical data migrations
- Turns out RunPython.noop is a thing?
* Cache the unit registry
- Creating the unit registry takes a significant amount of time
- Construct when first called, and then cache for subsequent hits
- Massive improvement in performance
* Throw error on empty values when converting between units
* Data migration for converting existing part parameter values
* Handle more error cases
* Show parameteric table on top-level part page too
* Unit test for data migration
* Update credits in docs
* Improved error checking
* WIP docs updates
* Fix parameteric table filtering
* remove zoom property
* Fix for import path
* Update parameter docs
* Run background task to rebuild parameters when template changes
* Make "data_numeric" field nullable
- Defaulting to zero is not appropriate, as the actual value may be zero
- Sorting still seems to work just fine
* Fixes for unit test
* More unit test fixes
* Further fixes for unit tests
---------
Co-authored-by: Matthias Mair <code@mjmair.com>
* Added typing for settings
* Refactored common.BaseInvenTreeSetting model to make it more generic
* Use older syntax for union types
* Added protected option to typing
* Remove now unused code
* Remove old 'get_kwargs' method as it is replaced by 'get_filters_for_instance'
* Trigger ci
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* BuildOrder updates:
- Use batch code generation when creating a new build output
- Allow partial scrapping of build outputs
* Fixes for stock table
* Bump API version
* Update unit tests
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add delivery date setting to Shipment model
* Add delivery_date to serializer
* Correct test for is_delivered
* Add relevant fields to API and forms
* Add test
* Increment API version
* Move migration file because of conflict
* Adds "consumed_by" field to the StockItem model.
- Points to a BuildOrder instance which "consumed" this stock
- Marks item as unavailable
- Allows filtering against build order
* Allow API filtering
* Adds table of "consumed stock items" to build order page
* Update stock table to show "consumed by" stock status
* Add "consumed_by" link to stock item detail
* Optionally add 'buildorder' details to installStockItem method
* Update methodology for completing a build item
- Instead of deleting stock, mark as "consumed by"
* Fix history entry for splitting stock
* Bug fix
* track "consumed_by" field for tracked items also
* Update build docs
* Update allocation documentation
* Update terminology.md
* Unit test updates
* Fix conflicting migrations
* revert change
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update docs for status codes
* Adds API endpoint for scrapping individual build outputs
* Support 'buildorder' reference in stock tracking history
* Add page for build output documentation
* Build docs
* Add example build order process to docs
* remove debug statement
* JS lint cleanup
* Add migration file for stock status
* Add unit tests for build output scrapping
* Increment API version
* bug fix
* Add flag to API which allows using pack size when adding stock items manually
* Check for use_pack_size before pop
* Add test data and tests
* Improve data handling
* Add form field for use_pack_size when adding stock
* Add description of pack size to docs
* Don't check for supplier part if it is None
* Move form field to after supplier part, for better logic
* Fix wrong function
* Fix tests
* Adjust purchase price when using pack size
* Adjust help text for purchase price
* Adjust help text for purchase price some more
* Fix tests for purchase price of added stock
* Update api_version.py
* collect mixins dynamically
* remove unfinsihed option to reorder mixins
* clean up settings
* fix text
* fix mixin lookup
* stupid error
* fix assertations
* use regustered function instead of private dict
* switch to dict for reg
* fix test
* makke sure mixins also works with class
* cleanup
* fix reqs
* fix test assertations
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
The shopping cart icon for parts already on order was originally
implemented in 1b421fb59a but got broken in 27aa16d55d as the return
value of `makeIconBadge` is discarded.
Additionally, the FontAwesome JS renderer doesn't seem to like
non-empty content for this, so even when adding it back to `icons`,
it didn't get rendered properly. Instead, the count has to be added
to the title.
* Add option to hide plugin setting from auto-generated plugin setting page
* Change hide to hidden
* Added small note to docs about hidden settings
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
* Simplify query filtering for determining list of parts which require a component to build
* Fix .devcontainer file
(cherry picked from commit d4bd8ea0a9)
* Catch ValueError
* Add 'clean' method to MetadataMixin class
- Ensure that the "metadata" is a valid dict object
* Add "overwrite" option for set_metadata method
* Update unit tests
* full_clean -> clean
* Cleanup
* Fix for MetadataMixin
* Updates for unit tests
* Test
* Allow stock items to be transferred into the same location
* Add new code when moving into same location
* Update unit test
* Further unit test fixes
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* 'Tag' management
Fixes#83
* Add for ManufacturerPart, SupplierPart
* Add tags for StockLocation, StockItem
* fix serializer definition
* add migrations
* update pre-commit
* bump dependencies
* revert updates
* set version for bugbear
* remove bugbear
* readd bugbear remove isort
* and remove bugbear again
* remove bugbear
* make tag fields not required
* add ruleset
* Merge migrations
* fix migrations
* add unittest for detail
* test tag add
* order api
* reduce database access
* add tag modification test
* use overriden serializer to ensuer the manager is always available
* fix typo
* fix serializer
* increae query thershold by 1
* move tag serializer
* fix migrations
* content_types are changing between tests - removing them
* remove unneeded fixture
* Add basic docs
* bump API version
* add api access to the docs
* add python code
* Add tags to search and filters for all models
* Ignore variant stock when performing stocktake
- Including variant stock can cause duplicate counts of items
- Causes valuation numbers to be incorrect
* Fix unit tests
* Further unit test fixes
* Improve construct_absolute_url method
- Look for hard-coded site URL if provided
- Otherwise look for specified site URL
- Otherwise look at the provided request object
* Refactor existing code which used base URL setting
* Update docs
* Validate that a provided base URL is valid
* remove markuplint
* remove dedicated html step - will be done by pre-commit
* add djlint for django template linting
* Fix T003: Endblock should have name
* Fix H013: Img tag should have an alt attribute
* Fix H014: Found extra blank lines
* Fix T003: Endblock should have name
* Fix H013: Img tag should have an alt attribute
* small fixes
* Fix T001: Variables should be wrapped in a single whitespace
* Fix T003: Endblock should have name
* small fixes
* fix form method
* add entry to contributing
* fix template changes
* another fix
* use current version
* updated translation base
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add clipboard to tables and external link changes
* Clipboard icon added to tables for screens >1200px wide. Enables
copying of SKU/MPN/IPN from table cells where these otherwise are
hyperlinks
* External links now open in new tabs with noreferrer
* Move external links into separate template
* All statically rendered external links have been moved out to a new
template.
* Clean up comments
* Bug fix
- Pass options.modal through if provided when creating new barcodeDialog
* Fix for scanning from item context into location
* "Install Plugin" via GUI fails to add plugin to plugins.txt correctly for first plugin
Fixes#4719
* remove old change as it was not the root issue
* make sure plugins are always written on a new line
* Adds extra unit test for exporting sales orders
- Exporting sales orders to .xls currently throws exception
* Fix 'total_price' field when exporting orders
* Fix for unit test
* Write function to catch sentry.io events before sending
- Will let us ignore certain types of errors which we are not interested in
* Cleanup
* Include release info
* Allow sentry reporting in debug mode
* Consolidate DRF sentry code into InvenTree/sentry.py
* Add more error types to ignore
* update docs
* updated translation base
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
* Fix: New translations django.po from Crowdin
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add 'order_currency' to the various external order models
- By default will use the currency specified for the supplier (or customer)
- Can be specified per order, also
* Display order currency on order pgae
* Add 'order_currency' field
* Enable "blank" currency option (to default to the currency specified by the referenced company
* Fix default currency code when adding line items
* Remove 'total_price_currency' serializer field
- Now replaced with 'order_currency' for greater flexibility
* Bump api_version.py
* Update default order report templates
* Updated docs
* More docs updaes
* Adjust unit tests
* Use 'order_currency' in order tables
* Update purchase order api unit tests
* Fix missed translation of overallocation string
* Added missing translation prefix on string for Overallocation REJECT choice
* Fix missing translation in part admin panel
* Added missing translation prefix on string for "variant of" column in
admin panel