mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	also validate serial number
This commit is contained in:
		| @@ -39,6 +39,7 @@ import label.models | |||||||
| from InvenTree.status_codes import StockStatus, StockHistoryCode | from InvenTree.status_codes import StockStatus, StockHistoryCode | ||||||
| from InvenTree.models import InvenTreeTree, InvenTreeAttachment | from InvenTree.models import InvenTreeTree, InvenTreeAttachment | ||||||
| from InvenTree.fields import InvenTreeModelMoneyField, InvenTreeURLField | from InvenTree.fields import InvenTreeModelMoneyField, InvenTreeURLField | ||||||
|  | from InvenTree.serializers import extract_int | ||||||
|  |  | ||||||
| from users.models import Owner | from users.models import Owner | ||||||
|  |  | ||||||
| @@ -236,17 +237,7 @@ class StockItem(MPTTModel): | |||||||
|         serial_int = 0 |         serial_int = 0 | ||||||
|  |  | ||||||
|         if serial is not None: |         if serial is not None: | ||||||
|  |             serial_int = extract_int(str(serial)) | ||||||
|             serial = str(serial) |  | ||||||
|  |  | ||||||
|             # Look at the start of the string - can it be "integerized"? |  | ||||||
|             result = re.match(r'^(\d+)', serial) |  | ||||||
|  |  | ||||||
|             if result and len(result.groups()) == 1: |  | ||||||
|                 try: |  | ||||||
|                     serial_int = int(result.groups()[0]) |  | ||||||
|                 except: |  | ||||||
|                     serial_int = 0 |  | ||||||
|  |  | ||||||
|         self.serial_int = serial_int |         self.serial_int = serial_int | ||||||
|  |  | ||||||
|   | |||||||
| @@ -32,7 +32,7 @@ from company.serializers import SupplierPartSerializer | |||||||
|  |  | ||||||
| import InvenTree.helpers | import InvenTree.helpers | ||||||
| import InvenTree.serializers | import InvenTree.serializers | ||||||
| from InvenTree.serializers import InvenTreeDecimalField | from InvenTree.serializers import InvenTreeDecimalField, extract_int | ||||||
|  |  | ||||||
| from part.serializers import PartBriefSerializer | from part.serializers import PartBriefSerializer | ||||||
|  |  | ||||||
| @@ -72,6 +72,11 @@ class StockItemSerializerBrief(InvenTree.serializers.InvenTreeModelSerializer): | |||||||
|             'supplier_part', |             'supplier_part', | ||||||
|             'uid', |             'uid', | ||||||
|         ] |         ] | ||||||
|  |      | ||||||
|  |     def validate_serial(self, value): | ||||||
|  |         if extract_int(value) > 2147483647: | ||||||
|  |             raise serializers.ValidationError('serial is to to big') | ||||||
|  |         return value | ||||||
|  |  | ||||||
|  |  | ||||||
| class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): | class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user