mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-17 12:35:46 +00:00
* Adds new plugin mixin for performing custom validation steps * Adds simple test plugin for custom validation * Run part name and IPN validators checks through loaded plugins * Expose more validation functions to plugins: - SalesOrder reference - PurchaseOrder reference - BuildOrder reference * Remove custom validation of reference fields - For now, this is too complex to consider given the current incrementing-reference implementation - Might revisit this at a later stage. * Custom validation of serial numbers: - Replace "checkIfSerialNumberExists" method with "validate_serial_number" - Pass serial number through to custom plugins - General code / docstring improvements * Update unit tests * Update InvenTree/stock/tests.py Co-authored-by: Matthias Mair <code@mjmair.com> * Adds global setting to specify whether serial numbers must be unique globally - Default is false to preserve behaviour * Improved error message when attempting to create stock item with invalid serial numbers * Add more detail to existing serial error message * Add unit testing for serial number uniqueness * Allow plugins to convert a serial number to an integer (for optimized sorting) * Add placeholder plugin methods for incrementing and decrementing serial numbers * Typo fix * Add improved method for determining the "latest" serial number * Remove calls to getLatestSerialNumber * Update validate_serial_number method - Add option to disable checking for duplicates - Don't pass optional StockItem through to plugins * Refactor serial number extraction methods - Expose the "incrementing" portion to external plugins * Bug fixes * Update unit tests * Fix for get_latest_serial_number * Ensure custom serial integer values are clipped * Adds a plugin for validating and generating hexadecimal serial numbers * Update unit tests * Add stub methods for batch code functionality * remove "hex serials" plugin - Was simply breaking unit tests * Allow custom plugins to generate and validate batch codes - Perform batch code validation when StockItem is saved - Improve display of error message in modal forms * Fix unit tests for stock app * Log message if plugin has a duplicate slug * Unit test fix Co-authored-by: Matthias Mair <code@mjmair.com>
27 lines
687 B
Python
27 lines
687 B
Python
"""Validation methods for the build app"""
|
|
|
|
|
|
def generate_next_build_reference():
|
|
"""Generate the next available BuildOrder reference"""
|
|
|
|
from build.models import Build
|
|
|
|
return Build.generate_reference()
|
|
|
|
|
|
def validate_build_order_reference_pattern(pattern):
|
|
"""Validate the BuildOrder reference 'pattern' setting"""
|
|
|
|
from build.models import Build
|
|
|
|
Build.validate_reference_pattern(pattern)
|
|
|
|
|
|
def validate_build_order_reference(value):
|
|
"""Validate that the BuildOrder reference field matches the required pattern."""
|
|
|
|
from build.models import Build
|
|
|
|
# If we get to here, run the "default" validation routine
|
|
Build.validate_reference_field(value)
|