mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 16:48:16 -06:00
Add missing form fields & table columns for validation attributes
This commit is contained in:
parent
7391a471b0
commit
837d402f1d
@ -6,6 +6,7 @@ from extras.models import *
|
||||
from netbox.forms import NetBoxModelBulkEditForm
|
||||
from utilities.forms import BulkEditForm, add_blank_choice
|
||||
from utilities.forms.fields import ColorField, CommentField, DynamicModelChoiceField
|
||||
from utilities.forms.rendering import FieldSet
|
||||
from utilities.forms.widgets import BulkEditNullBooleanSelect
|
||||
|
||||
__all__ = (
|
||||
@ -64,6 +65,18 @@ class CustomFieldBulkEditForm(BulkEditForm):
|
||||
required=False,
|
||||
widget=BulkEditNullBooleanSelect()
|
||||
)
|
||||
validation_minimum = forms.IntegerField(
|
||||
label=_('Minimum value'),
|
||||
required=False,
|
||||
)
|
||||
validation_maximum = forms.IntegerField(
|
||||
label=_('Maximum value'),
|
||||
required=False,
|
||||
)
|
||||
validation_regex = forms.CharField(
|
||||
label=_('Validation regex'),
|
||||
required=False
|
||||
)
|
||||
validation_unique = forms.NullBooleanField(
|
||||
label=_('Must be unique'),
|
||||
required=False,
|
||||
@ -71,6 +84,13 @@ class CustomFieldBulkEditForm(BulkEditForm):
|
||||
)
|
||||
comments = CommentField()
|
||||
|
||||
fieldsets = (
|
||||
FieldSet('group_name', 'description', 'weight', 'choice_set', name=_('Attributes')),
|
||||
FieldSet('ui_visible', 'ui_editable', 'is_cloneable', name=_('Behavior')),
|
||||
FieldSet(
|
||||
'validation_minimum', 'validation_maximum', 'validation_regex', 'validation_unique', name=_('Validation')
|
||||
),
|
||||
)
|
||||
nullable_fields = ('group_name', 'description', 'choice_set')
|
||||
|
||||
|
||||
|
@ -41,7 +41,9 @@ class CustomFieldFilterForm(SavedFiltersMixin, FilterForm):
|
||||
'type', 'related_object_type_id', 'group_name', 'weight', 'required', 'choice_set_id', 'ui_visible',
|
||||
'ui_editable', 'is_cloneable', name=_('Attributes')
|
||||
),
|
||||
FieldSet('validation_unique', name=_('Validation')),
|
||||
FieldSet(
|
||||
'validation_minimum', 'validation_maximum', 'validation_regex', 'validation_unique', name=_('Validation')
|
||||
),
|
||||
)
|
||||
related_object_type_id = ContentTypeMultipleChoiceField(
|
||||
queryset=ObjectType.objects.with_feature('custom_fields'),
|
||||
@ -90,6 +92,18 @@ class CustomFieldFilterForm(SavedFiltersMixin, FilterForm):
|
||||
choices=BOOLEAN_WITH_BLANK_CHOICES
|
||||
)
|
||||
)
|
||||
validation_minimum = forms.IntegerField(
|
||||
label=_('Minimum value'),
|
||||
required=False
|
||||
)
|
||||
validation_maximum = forms.IntegerField(
|
||||
label=_('Maximum value'),
|
||||
required=False
|
||||
)
|
||||
validation_regex = forms.CharField(
|
||||
label=_('Validation regex'),
|
||||
required=False
|
||||
)
|
||||
validation_unique = forms.NullBooleanField(
|
||||
label=_('Must be unique'),
|
||||
required=False,
|
||||
|
@ -71,6 +71,15 @@ class CustomFieldTable(NetBoxTable):
|
||||
is_cloneable = columns.BooleanColumn(
|
||||
verbose_name=_('Is Cloneable'),
|
||||
)
|
||||
validation_minimum = tables.Column(
|
||||
verbose_name=_('Minimum Value'),
|
||||
)
|
||||
validation_maximum = tables.Column(
|
||||
verbose_name=_('Maximum Value'),
|
||||
)
|
||||
validation_regex = tables.Column(
|
||||
verbose_name=_('Validation Regex'),
|
||||
)
|
||||
validation_unique = columns.BooleanColumn(
|
||||
verbose_name=_('Validate Uniqueness'),
|
||||
)
|
||||
@ -80,7 +89,8 @@ class CustomFieldTable(NetBoxTable):
|
||||
fields = (
|
||||
'pk', 'id', 'name', 'object_types', 'label', 'type', 'related_object_type', 'group_name', 'required',
|
||||
'default', 'description', 'search_weight', 'filter_logic', 'ui_visible', 'ui_editable', 'is_cloneable',
|
||||
'weight', 'choice_set', 'choices', 'validation_unique', 'comments', 'created', 'last_updated',
|
||||
'weight', 'choice_set', 'choices', 'validation_minimum', 'validation_maximum', 'validation_regex',
|
||||
'validation_unique', 'comments', 'created', 'last_updated',
|
||||
)
|
||||
default_columns = ('pk', 'name', 'object_types', 'label', 'group_name', 'type', 'required', 'description')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user