10348 add decimal custom field

This commit is contained in:
Arthur 2022-09-20 11:26:33 -07:00 committed by jeremystretch
parent 3b156a5330
commit 298eda1fa8
2 changed files with 2 additions and 3 deletions

View File

@ -1,6 +1,5 @@
import re import re
from datetime import datetime, date from datetime import datetime, date
import decimal
import django_filters import django_filters
from django import forms from django import forms
@ -499,7 +498,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
# Validate decimal # Validate decimal
if self.type == CustomFieldTypeChoices.TYPE_DECIMAL: if self.type == CustomFieldTypeChoices.TYPE_DECIMAL:
if type(value) is not decimal.Decimal: if type(value) is not str:
raise ValidationError("Value must be a decimal.") raise ValidationError("Value must be a decimal.")
if self.validation_minimum is not None and value < self.validation_minimum: if self.validation_minimum is not None and value < self.validation_minimum:
raise ValidationError(f"Value must be at least {self.validation_minimum}") raise ValidationError(f"Value must be at least {self.validation_minimum}")

View File

@ -432,7 +432,7 @@ class CustomFieldAPITest(APITestCase):
object_type=ContentType.objects.get_for_model(VLAN), object_type=ContentType.objects.get_for_model(VLAN),
default=[vlans[0].pk, vlans[1].pk], default=[vlans[0].pk, vlans[1].pk],
), ),
CustomField(type=CustomFieldTypeChoices.TYPE_DECIMAL, name='decimal_field', default=123.45), CustomField(type=CustomFieldTypeChoices.TYPE_DECIMAL, name='decimal_field', default='123.45'),
) )
for cf in custom_fields: for cf in custom_fields:
cf.save() cf.save()