Coverage for src/backend/InvenTree/generic/states/serializers.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 17:47 +0000

1"""Serializer classes for handling generic state information.""" 

2 

3from django.utils.translation import gettext_lazy as _ 

4 

5from rest_framework import serializers 

6 

7 

8class GenericStateValueSerializer(serializers.Serializer): 

9 """API serializer for generic state information.""" 

10 

11 class Meta: 

12 """Meta class for GenericStateValueSerializer.""" 

13 

14 fields = ['key', 'logical_key', 'name', 'label', 'color', 'custom'] 

15 

16 key = serializers.IntegerField(label=_('Key'), required=True) 

17 

18 logical_key = serializers.CharField(label=_('Logical Key'), required=False) 

19 

20 name = serializers.CharField(label=_('Name'), required=True) 

21 

22 label = serializers.CharField(label=_('Label'), required=True) 

23 

24 color = serializers.CharField(label=_('Color'), required=False) 

25 

26 custom = serializers.BooleanField(label=_('Custom'), required=False) 

27 

28 

29class GenericStateClassSerializer(serializers.Serializer): 

30 """API serializer for generic state class information.""" 

31 

32 class Meta: 

33 """Meta class for GenericStateClassSerializer.""" 

34 

35 fields = ['status_class', 'values'] 

36 

37 status_class = serializers.CharField(label=_('Class'), read_only=True) 

38 

39 values = serializers.DictField( 

40 child=GenericStateValueSerializer(), label=_('Values'), required=True 

41 )