1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Replaced all CSVForm ChoiceFields with CSVChoiceField

This commit is contained in:
Jeremy Stretch
2017-06-07 13:22:06 -04:00
parent 3924063060
commit e6c4ce51f7
7 changed files with 66 additions and 91 deletions

View File

@@ -9,8 +9,8 @@ from extras.forms import CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFi
from tenancy.forms import TenancyForm
from tenancy.models import Tenant
from utilities.forms import (
APISelect, BootstrapMixin, BulkEditNullBooleanSelect, ChainedModelChoiceField, ExpandableIPAddressField,
FilterChoiceField, Livesearch, ReturnURLForm, SlugField, add_blank_choice,
APISelect, BootstrapMixin, BulkEditNullBooleanSelect, ChainedModelChoiceField, CSVChoiceField,
ExpandableIPAddressField, FilterChoiceField, Livesearch, ReturnURLForm, SlugField, add_blank_choice,
)
from .models import (
Aggregate, IPAddress, IPADDRESS_STATUS_CHOICES, Prefix, PREFIX_STATUS_CHOICES, RIR, Role, Service, VLAN,
@@ -238,7 +238,8 @@ class PrefixCSVForm(forms.ModelForm):
help_text='Numeric ID of assigned VLAN',
required=False
)
status = forms.CharField(
status = CSVChoiceField(
choices=IPADDRESS_STATUS_CHOICES,
help_text='Status name'
)
role = forms.ModelChoiceField(
@@ -289,13 +290,6 @@ class PrefixCSVForm(forms.ModelForm):
except VLAN.MultipleObjectsReturned:
self.add_error('vlan_vid', "Multiple VLANs found ({} - VID {})".format(site, vlan_vid))
def clean_status(self):
status_choices = {s[1].lower(): s[0] for s in PREFIX_STATUS_CHOICES}
try:
return status_choices[self.cleaned_data['status'].lower()]
except KeyError:
raise ValidationError("Invalid status: {}".format(self.cleaned_data['status']))
class PrefixBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm):
pk = forms.ModelMultipleChoiceField(queryset=Prefix.objects.all(), widget=forms.MultipleHiddenInput)
@@ -567,7 +561,8 @@ class IPAddressCSVForm(forms.ModelForm):
'invalid_choice': 'Tenant not found.',
}
)
status = forms.CharField(
status = CSVChoiceField(
choices=PREFIX_STATUS_CHOICES,
help_text='Status name'
)
device = forms.ModelChoiceField(
@@ -613,13 +608,6 @@ class IPAddressCSVForm(forms.ModelForm):
if is_primary and not device:
self.add_error('is_primary', "No device specified; cannot set as primary IP")
def clean_status(self):
status_choices = {s[1].lower(): s[0] for s in IPADDRESS_STATUS_CHOICES}
try:
return status_choices[self.cleaned_data['status'].lower()]
except KeyError:
raise ValidationError("Invalid status: {}".format(self.cleaned_data['status']))
def save(self, *args, **kwargs):
# Set interface
@@ -756,7 +744,8 @@ class VLANCSVForm(forms.ModelForm):
'invalid_choice': 'Tenant not found.',
}
)
status = forms.CharField(
status = CSVChoiceField(
choices=VLAN_STATUS_CHOICES,
help_text='Status name'
)
role = forms.ModelChoiceField(
@@ -783,13 +772,6 @@ class VLANCSVForm(forms.ModelForm):
except VLANGroup.DoesNotExist:
self.add_error('group_name', "Invalid VLAN group {}.".format(group_name))
def clean_status(self):
status_choices = {s[1].lower(): s[0] for s in VLAN_STATUS_CHOICES}
try:
return status_choices[self.cleaned_data['status'].lower()]
except KeyError:
raise ValidationError("Invalid status: {}".format(self.cleaned_data['status']))
def save(self, *args, **kwargs):
vlan = super(VLANCSVForm, self).save(commit=False)