Skip to content

Commit 7ddbd5f

Browse files
authored
Add choice fields for business criticality, platform, lifecycle, and origin (#13740)
* feat(serializers, filters): add choice fields for business criticality, platform, lifecycle, and origin * feat(serializers): allow null values for choice fields in ProductSerializer * feat(serializers): make choice fields optional in ProductSerializer
1 parent 1e9777b commit 7ddbd5f

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

dojo/api_v2/serializers.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2103,6 +2103,11 @@ class ProductSerializer(serializers.ModelSerializer):
21032103
findings_count = serializers.SerializerMethodField()
21042104
findings_list = serializers.SerializerMethodField()
21052105

2106+
business_criticality = serializers.ChoiceField(choices=Product.BUSINESS_CRITICALITY_CHOICES, allow_blank=True, allow_null=True, required=False)
2107+
platform = serializers.ChoiceField(choices=Product.PLATFORM_CHOICES, allow_blank=True, allow_null=True, required=False)
2108+
lifecycle = serializers.ChoiceField(choices=Product.LIFECYCLE_CHOICES, allow_blank=True, allow_null=True, required=False)
2109+
origin = serializers.ChoiceField(choices=Product.ORIGIN_CHOICES, allow_blank=True, allow_null=True, required=False)
2110+
21062111
tags = TagListSerializerField(required=False)
21072112
product_meta = ProductMetaSerializer(read_only=True, many=True)
21082113

dojo/filters.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1423,10 +1423,10 @@ class ApiProductFilter(DojoFilter):
14231423
name = CharFilter(lookup_expr="icontains")
14241424
name_exact = CharFilter(field_name="name", lookup_expr="iexact")
14251425
description = CharFilter(lookup_expr="icontains")
1426-
business_criticality = CharFilter(method=custom_filter, field_name="business_criticality")
1427-
platform = CharFilter(method=custom_filter, field_name="platform")
1428-
lifecycle = CharFilter(method=custom_filter, field_name="lifecycle")
1429-
origin = CharFilter(method=custom_filter, field_name="origin")
1426+
business_criticality = MultipleChoiceFilter(choices=Product.BUSINESS_CRITICALITY_CHOICES)
1427+
platform = MultipleChoiceFilter(choices=Product.PLATFORM_CHOICES)
1428+
lifecycle = MultipleChoiceFilter(choices=Product.LIFECYCLE_CHOICES)
1429+
origin = MultipleChoiceFilter(choices=Product.ORIGIN_CHOICES)
14301430
# NumberInFilter
14311431
id = NumberInFilter(field_name="id", lookup_expr="in")
14321432
product_manager = NumberInFilter(field_name="product_manager", lookup_expr="in")

0 commit comments

Comments
 (0)