Standardized inheritance order of BootstrapMixin

This commit is contained in:
Jeremy Stretch 2016-12-21 14:15:18 -05:00
parent 1ed5389703
commit 37b2ff02e7
7 changed files with 70 additions and 70 deletions

View File

@ -43,7 +43,7 @@ class ProviderFromCSVForm(forms.ModelForm):
fields = ['name', 'slug', 'asn', 'account', 'portal_url'] fields = ['name', 'slug', 'asn', 'account', 'portal_url']
class ProviderImportForm(BulkImportForm, BootstrapMixin): class ProviderImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=ProviderFromCSVForm) csv = CSVDataField(csv_form=ProviderFromCSVForm)
@ -69,7 +69,7 @@ class ProviderFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Circuit types # Circuit types
# #
class CircuitTypeForm(forms.ModelForm, BootstrapMixin): class CircuitTypeForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -107,7 +107,7 @@ class CircuitFromCSVForm(forms.ModelForm):
fields = ['cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate'] fields = ['cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate']
class CircuitImportForm(BulkImportForm, BootstrapMixin): class CircuitImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=CircuitFromCSVForm) csv = CSVDataField(csv_form=CircuitFromCSVForm)
@ -139,7 +139,7 @@ class CircuitFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Circuit terminations # Circuit terminations
# #
class CircuitTerminationForm(forms.ModelForm, BootstrapMixin): class CircuitTerminationForm(BootstrapMixin, forms.ModelForm):
site = forms.ModelChoiceField(queryset=Site.objects.all(), widget=forms.Select(attrs={'filter-for': 'rack'})) site = forms.ModelChoiceField(queryset=Site.objects.all(), widget=forms.Select(attrs={'filter-for': 'rack'}))
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), required=False, label='Rack', rack = forms.ModelChoiceField(queryset=Rack.objects.all(), required=False, label='Rack',
widget=APISelect(api_url='/api/dcim/racks/?site_id={{site}}', widget=APISelect(api_url='/api/dcim/racks/?site_id={{site}}',

View File

@ -84,7 +84,7 @@ class SiteFromCSVForm(forms.ModelForm):
fields = ['name', 'slug', 'tenant', 'facility', 'asn'] fields = ['name', 'slug', 'tenant', 'facility', 'asn']
class SiteImportForm(BulkImportForm, BootstrapMixin): class SiteImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=SiteFromCSVForm) csv = CSVDataField(csv_form=SiteFromCSVForm)
@ -107,7 +107,7 @@ class SiteFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Rack groups # Rack groups
# #
class RackGroupForm(forms.ModelForm, BootstrapMixin): class RackGroupForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -115,7 +115,7 @@ class RackGroupForm(forms.ModelForm, BootstrapMixin):
fields = ['site', 'name', 'slug'] fields = ['site', 'name', 'slug']
class RackGroupFilterForm(forms.Form, BootstrapMixin): class RackGroupFilterForm(BootstrapMixin, forms.Form):
site = FilterChoiceField(queryset=Site.objects.annotate(filter_count=Count('rack_groups')), to_field_name='slug') site = FilterChoiceField(queryset=Site.objects.annotate(filter_count=Count('rack_groups')), to_field_name='slug')
@ -123,7 +123,7 @@ class RackGroupFilterForm(forms.Form, BootstrapMixin):
# Rack roles # Rack roles
# #
class RackRoleForm(forms.ModelForm, BootstrapMixin): class RackRoleForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -209,7 +209,7 @@ class RackFromCSVForm(forms.ModelForm):
)) ))
class RackImportForm(BulkImportForm, BootstrapMixin): class RackImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=RackFromCSVForm) csv = CSVDataField(csv_form=RackFromCSVForm)
@ -243,7 +243,7 @@ class RackFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Manufacturers # Manufacturers
# #
class ManufacturerForm(forms.ModelForm, BootstrapMixin): class ManufacturerForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -283,7 +283,7 @@ class DeviceTypeFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Device component templates # Device component templates
# #
class ConsolePortTemplateForm(forms.ModelForm, BootstrapMixin): class ConsolePortTemplateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -291,7 +291,7 @@ class ConsolePortTemplateForm(forms.ModelForm, BootstrapMixin):
fields = ['name_pattern'] fields = ['name_pattern']
class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin): class ConsoleServerPortTemplateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -299,7 +299,7 @@ class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin):
fields = ['name_pattern'] fields = ['name_pattern']
class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin): class PowerPortTemplateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -307,7 +307,7 @@ class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin):
fields = ['name_pattern'] fields = ['name_pattern']
class PowerOutletTemplateForm(forms.ModelForm, BootstrapMixin): class PowerOutletTemplateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -315,7 +315,7 @@ class PowerOutletTemplateForm(forms.ModelForm, BootstrapMixin):
fields = ['name_pattern'] fields = ['name_pattern']
class InterfaceTemplateForm(forms.ModelForm, BootstrapMixin): class InterfaceTemplateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -331,7 +331,7 @@ class InterfaceTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
nullable_fields = [] nullable_fields = []
class DeviceBayTemplateForm(forms.ModelForm, BootstrapMixin): class DeviceBayTemplateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -343,7 +343,7 @@ class DeviceBayTemplateForm(forms.ModelForm, BootstrapMixin):
# Device roles # Device roles
# #
class DeviceRoleForm(forms.ModelForm, BootstrapMixin): class DeviceRoleForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -355,7 +355,7 @@ class DeviceRoleForm(forms.ModelForm, BootstrapMixin):
# Platforms # Platforms
# #
class PlatformForm(forms.ModelForm, BootstrapMixin): class PlatformForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -572,11 +572,11 @@ class ChildDeviceFromCSVForm(BaseDeviceFromCSVForm):
self.add_error('device_bay_name', "Parent device/bay ({} {}) not found".format(parent, device_bay_name)) self.add_error('device_bay_name', "Parent device/bay ({} {}) not found".format(parent, device_bay_name))
class DeviceImportForm(BulkImportForm, BootstrapMixin): class DeviceImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=DeviceFromCSVForm) csv = CSVDataField(csv_form=DeviceFromCSVForm)
class ChildDeviceImportForm(BulkImportForm, BootstrapMixin): class ChildDeviceImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=ChildDeviceFromCSVForm) csv = CSVDataField(csv_form=ChildDeviceFromCSVForm)
@ -613,7 +613,7 @@ class DeviceFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Bulk device component creation # Bulk device component creation
# #
class DeviceBulkAddComponentForm(forms.Form, BootstrapMixin): class DeviceBulkAddComponentForm(BootstrapMixin, forms.Form):
pk = forms.ModelMultipleChoiceField(queryset=Device.objects.all(), widget=forms.MultipleHiddenInput) pk = forms.ModelMultipleChoiceField(queryset=Device.objects.all(), widget=forms.MultipleHiddenInput)
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
@ -629,7 +629,7 @@ class DeviceBulkAddInterfaceForm(forms.ModelForm, DeviceBulkAddComponentForm):
# Console ports # Console ports
# #
class ConsolePortForm(forms.ModelForm, BootstrapMixin): class ConsolePortForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = ConsolePort model = ConsolePort
@ -639,7 +639,7 @@ class ConsolePortForm(forms.ModelForm, BootstrapMixin):
} }
class ConsolePortCreateForm(forms.Form, BootstrapMixin): class ConsolePortCreateForm(BootstrapMixin, forms.Form):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
@ -680,7 +680,7 @@ class ConsoleConnectionCSVForm(forms.Form):
.format(self.cleaned_data['device'], self.cleaned_data['console_port'])) .format(self.cleaned_data['device'], self.cleaned_data['console_port']))
class ConsoleConnectionImportForm(BulkImportForm, BootstrapMixin): class ConsoleConnectionImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=ConsoleConnectionCSVForm) csv = CSVDataField(csv_form=ConsoleConnectionCSVForm)
def clean(self): def clean(self):
@ -710,7 +710,7 @@ class ConsoleConnectionImportForm(BulkImportForm, BootstrapMixin):
self.cleaned_data['csv'] = connection_list self.cleaned_data['csv'] = connection_list
class ConsolePortConnectionForm(forms.ModelForm, BootstrapMixin): class ConsolePortConnectionForm(BootstrapMixin, forms.ModelForm):
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False, rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False,
widget=forms.Select(attrs={'filter-for': 'console_server'})) widget=forms.Select(attrs={'filter-for': 'console_server'}))
console_server = forms.ModelChoiceField(queryset=Device.objects.all(), label='Console Server', required=False, console_server = forms.ModelChoiceField(queryset=Device.objects.all(), label='Console Server', required=False,
@ -764,7 +764,7 @@ class ConsolePortConnectionForm(forms.ModelForm, BootstrapMixin):
# Console server ports # Console server ports
# #
class ConsoleServerPortForm(forms.ModelForm, BootstrapMixin): class ConsoleServerPortForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = ConsoleServerPort model = ConsoleServerPort
@ -774,11 +774,11 @@ class ConsoleServerPortForm(forms.ModelForm, BootstrapMixin):
} }
class ConsoleServerPortCreateForm(forms.Form, BootstrapMixin): class ConsoleServerPortCreateForm(BootstrapMixin, forms.Form):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class ConsoleServerPortConnectionForm(forms.Form, BootstrapMixin): class ConsoleServerPortConnectionForm(BootstrapMixin, forms.Form):
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False, rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False,
widget=forms.Select(attrs={'filter-for': 'device'})) widget=forms.Select(attrs={'filter-for': 'device'}))
device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Device', required=False, device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Device', required=False,
@ -826,7 +826,7 @@ class ConsoleServerPortConnectionForm(forms.Form, BootstrapMixin):
# Power ports # Power ports
# #
class PowerPortForm(forms.ModelForm, BootstrapMixin): class PowerPortForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = PowerPort model = PowerPort
@ -836,7 +836,7 @@ class PowerPortForm(forms.ModelForm, BootstrapMixin):
} }
class PowerPortCreateForm(forms.Form, BootstrapMixin): class PowerPortCreateForm(BootstrapMixin, forms.Form):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
@ -877,7 +877,7 @@ class PowerConnectionCSVForm(forms.Form):
.format(self.cleaned_data['device'], self.cleaned_data['power_port'])) .format(self.cleaned_data['device'], self.cleaned_data['power_port']))
class PowerConnectionImportForm(BulkImportForm, BootstrapMixin): class PowerConnectionImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=PowerConnectionCSVForm) csv = CSVDataField(csv_form=PowerConnectionCSVForm)
def clean(self): def clean(self):
@ -907,7 +907,7 @@ class PowerConnectionImportForm(BulkImportForm, BootstrapMixin):
self.cleaned_data['csv'] = connection_list self.cleaned_data['csv'] = connection_list
class PowerPortConnectionForm(forms.ModelForm, BootstrapMixin): class PowerPortConnectionForm(BootstrapMixin, forms.ModelForm):
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False, rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False,
widget=forms.Select(attrs={'filter-for': 'pdu'})) widget=forms.Select(attrs={'filter-for': 'pdu'}))
pdu = forms.ModelChoiceField(queryset=Device.objects.all(), label='PDU', required=False, pdu = forms.ModelChoiceField(queryset=Device.objects.all(), label='PDU', required=False,
@ -960,7 +960,7 @@ class PowerPortConnectionForm(forms.ModelForm, BootstrapMixin):
# Power outlets # Power outlets
# #
class PowerOutletForm(forms.ModelForm, BootstrapMixin): class PowerOutletForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = PowerOutlet model = PowerOutlet
@ -970,11 +970,11 @@ class PowerOutletForm(forms.ModelForm, BootstrapMixin):
} }
class PowerOutletCreateForm(forms.Form, BootstrapMixin): class PowerOutletCreateForm(BootstrapMixin, forms.Form):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class PowerOutletConnectionForm(forms.Form, BootstrapMixin): class PowerOutletConnectionForm(BootstrapMixin, forms.Form):
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False, rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False,
widget=forms.Select(attrs={'filter-for': 'device'})) widget=forms.Select(attrs={'filter-for': 'device'}))
device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Device', required=False, device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Device', required=False,
@ -1022,7 +1022,7 @@ class PowerOutletConnectionForm(forms.Form, BootstrapMixin):
# Interfaces # Interfaces
# #
class InterfaceForm(forms.ModelForm, BootstrapMixin): class InterfaceForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = Interface model = Interface
@ -1032,7 +1032,7 @@ class InterfaceForm(forms.ModelForm, BootstrapMixin):
} }
class InterfaceCreateForm(forms.ModelForm, BootstrapMixin): class InterfaceCreateForm(BootstrapMixin, forms.ModelForm):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class Meta: class Meta:
@ -1053,7 +1053,7 @@ class InterfaceBulkEditForm(BootstrapMixin, BulkEditForm):
# Interface connections # Interface connections
# #
class InterfaceConnectionForm(forms.ModelForm, BootstrapMixin): class InterfaceConnectionForm(BootstrapMixin, forms.ModelForm):
interface_a = forms.ChoiceField(choices=[], widget=SelectWithDisabled, label='Interface') interface_a = forms.ChoiceField(choices=[], widget=SelectWithDisabled, label='Interface')
site_b = forms.ModelChoiceField(queryset=Site.objects.all(), label='Site', required=False, site_b = forms.ModelChoiceField(queryset=Site.objects.all(), label='Site', required=False,
widget=forms.Select(attrs={'filter-for': 'rack_b'})) widget=forms.Select(attrs={'filter-for': 'rack_b'}))
@ -1158,7 +1158,7 @@ class InterfaceConnectionCSVForm(forms.Form):
pass pass
class InterfaceConnectionImportForm(BulkImportForm, BootstrapMixin): class InterfaceConnectionImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=InterfaceConnectionCSVForm) csv = CSVDataField(csv_form=InterfaceConnectionCSVForm)
def clean(self): def clean(self):
@ -1198,7 +1198,7 @@ class InterfaceConnectionImportForm(BulkImportForm, BootstrapMixin):
self.cleaned_data['csv'] = connection_list self.cleaned_data['csv'] = connection_list
class InterfaceConnectionDeletionForm(forms.Form, BootstrapMixin): class InterfaceConnectionDeletionForm(BootstrapMixin, forms.Form):
confirm = forms.BooleanField(required=True) confirm = forms.BooleanField(required=True)
# Used for HTTP redirect upon successful deletion # Used for HTTP redirect upon successful deletion
device = forms.ModelChoiceField(queryset=Device.objects.all(), widget=forms.HiddenInput(), required=False) device = forms.ModelChoiceField(queryset=Device.objects.all(), widget=forms.HiddenInput(), required=False)
@ -1208,7 +1208,7 @@ class InterfaceConnectionDeletionForm(forms.Form, BootstrapMixin):
# Device bays # Device bays
# #
class DeviceBayForm(forms.ModelForm, BootstrapMixin): class DeviceBayForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = DeviceBay model = DeviceBay
@ -1218,11 +1218,11 @@ class DeviceBayForm(forms.ModelForm, BootstrapMixin):
} }
class DeviceBayCreateForm(forms.Form, BootstrapMixin): class DeviceBayCreateForm(BootstrapMixin, forms.Form):
name_pattern = ExpandableNameField(label='Name') name_pattern = ExpandableNameField(label='Name')
class PopulateDeviceBayForm(forms.Form, BootstrapMixin): class PopulateDeviceBayForm(BootstrapMixin, forms.Form):
installed_device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Child Device', installed_device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Child Device',
help_text="Child devices must first be created within the rack occupied " help_text="Child devices must first be created within the rack occupied "
"by the parent device. Then they can be assigned to a bay.") "by the parent device. Then they can be assigned to a bay.")
@ -1243,15 +1243,15 @@ class PopulateDeviceBayForm(forms.Form, BootstrapMixin):
# Connections # Connections
# #
class ConsoleConnectionFilterForm(forms.Form, BootstrapMixin): class ConsoleConnectionFilterForm(BootstrapMixin, forms.Form):
site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug') site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug')
class PowerConnectionFilterForm(forms.Form, BootstrapMixin): class PowerConnectionFilterForm(BootstrapMixin, forms.Form):
site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug') site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug')
class InterfaceConnectionFilterForm(forms.Form, BootstrapMixin): class InterfaceConnectionFilterForm(BootstrapMixin, forms.Form):
site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug') site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug')
@ -1289,7 +1289,7 @@ class IPAddressForm(BootstrapMixin, CustomFieldForm):
# Modules # Modules
# #
class ModuleForm(forms.ModelForm, BootstrapMixin): class ModuleForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = Module model = Module

View File

@ -48,7 +48,7 @@ class VRFFromCSVForm(forms.ModelForm):
fields = ['name', 'rd', 'tenant', 'enforce_unique', 'description'] fields = ['name', 'rd', 'tenant', 'enforce_unique', 'description']
class VRFImportForm(BulkImportForm, BootstrapMixin): class VRFImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=VRFFromCSVForm) csv = CSVDataField(csv_form=VRFFromCSVForm)
@ -71,7 +71,7 @@ class VRFFilterForm(BootstrapMixin, CustomFieldFilterForm):
# RIRs # RIRs
# #
class RIRForm(forms.ModelForm, BootstrapMixin): class RIRForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -79,7 +79,7 @@ class RIRForm(forms.ModelForm, BootstrapMixin):
fields = ['name', 'slug', 'is_private'] fields = ['name', 'slug', 'is_private']
class RIRFilterForm(forms.Form, BootstrapMixin): class RIRFilterForm(BootstrapMixin, forms.Form):
is_private = forms.NullBooleanField(required=False, label='Private', widget=forms.Select(choices=[ is_private = forms.NullBooleanField(required=False, label='Private', widget=forms.Select(choices=[
('', '---------'), ('', '---------'),
('True', 'Yes'), ('True', 'Yes'),
@ -112,7 +112,7 @@ class AggregateFromCSVForm(forms.ModelForm):
fields = ['prefix', 'rir', 'date_added', 'description'] fields = ['prefix', 'rir', 'date_added', 'description']
class AggregateImportForm(BulkImportForm, BootstrapMixin): class AggregateImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=AggregateFromCSVForm) csv = CSVDataField(csv_form=AggregateFromCSVForm)
@ -137,7 +137,7 @@ class AggregateFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Roles # Roles
# #
class RoleForm(forms.ModelForm, BootstrapMixin): class RoleForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -236,7 +236,7 @@ class PrefixFromCSVForm(forms.ModelForm):
return super(PrefixFromCSVForm, self).save(*args, **kwargs) return super(PrefixFromCSVForm, self).save(*args, **kwargs)
class PrefixImportForm(BulkImportForm, BootstrapMixin): class PrefixImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=PrefixFromCSVForm) csv = CSVDataField(csv_form=PrefixFromCSVForm)
@ -340,7 +340,7 @@ class IPAddressForm(BootstrapMixin, CustomFieldForm):
self.fields['nat_inside'].choices = [] self.fields['nat_inside'].choices = []
class IPAddressBulkAddForm(forms.Form, BootstrapMixin): class IPAddressBulkAddForm(BootstrapMixin, forms.Form):
address = ExpandableIPAddressField() address = ExpandableIPAddressField()
vrf = forms.ModelChoiceField(queryset=VRF.objects.all(), required=False, label='VRF') vrf = forms.ModelChoiceField(queryset=VRF.objects.all(), required=False, label='VRF')
tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False) tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
@ -426,7 +426,7 @@ class IPAddressFromCSVForm(forms.ModelForm):
return super(IPAddressFromCSVForm, self).save(*args, **kwargs) return super(IPAddressFromCSVForm, self).save(*args, **kwargs)
class IPAddressImportForm(BulkImportForm, BootstrapMixin): class IPAddressImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=IPAddressFromCSVForm) csv = CSVDataField(csv_form=IPAddressFromCSVForm)
@ -465,7 +465,7 @@ class IPAddressFilterForm(BootstrapMixin, CustomFieldFilterForm):
# VLAN groups # VLAN groups
# #
class VLANGroupForm(forms.ModelForm, BootstrapMixin): class VLANGroupForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -473,7 +473,7 @@ class VLANGroupForm(forms.ModelForm, BootstrapMixin):
fields = ['site', 'name', 'slug'] fields = ['site', 'name', 'slug']
class VLANGroupFilterForm(forms.Form, BootstrapMixin): class VLANGroupFilterForm(BootstrapMixin, forms.Form):
site = FilterChoiceField(queryset=Site.objects.annotate(filter_count=Count('vlan_groups')), to_field_name='slug') site = FilterChoiceField(queryset=Site.objects.annotate(filter_count=Count('vlan_groups')), to_field_name='slug')
@ -538,7 +538,7 @@ class VLANFromCSVForm(forms.ModelForm):
return m return m
class VLANImportForm(BulkImportForm, BootstrapMixin): class VLANImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=VLANFromCSVForm) csv = CSVDataField(csv_form=VLANFromCSVForm)
@ -578,7 +578,7 @@ class VLANFilterForm(BootstrapMixin, CustomFieldFilterForm):
# Services # Services
# #
class ServiceForm(forms.ModelForm, BootstrapMixin): class ServiceForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = Service model = Service

View File

@ -34,7 +34,7 @@ def validate_rsa_key(key, is_secret=True):
# Secret roles # Secret roles
# #
class SecretRoleForm(forms.ModelForm, BootstrapMixin): class SecretRoleForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -46,7 +46,7 @@ class SecretRoleForm(forms.ModelForm, BootstrapMixin):
# Secrets # Secrets
# #
class SecretForm(forms.ModelForm, BootstrapMixin): class SecretForm(BootstrapMixin, forms.ModelForm):
private_key = forms.CharField(required=False, widget=forms.HiddenInput()) private_key = forms.CharField(required=False, widget=forms.HiddenInput())
plaintext = forms.CharField(max_length=65535, required=False, label='Plaintext', plaintext = forms.CharField(max_length=65535, required=False, label='Plaintext',
widget=forms.PasswordInput(attrs={'class': 'requires-private-key'})) widget=forms.PasswordInput(attrs={'class': 'requires-private-key'}))
@ -85,12 +85,12 @@ class SecretFromCSVForm(forms.ModelForm):
return s return s
class SecretImportForm(BulkImportForm, BootstrapMixin): class SecretImportForm(BootstrapMixin, BulkImportForm):
private_key = forms.CharField(widget=forms.HiddenInput()) private_key = forms.CharField(widget=forms.HiddenInput())
csv = CSVDataField(csv_form=SecretFromCSVForm, widget=forms.Textarea(attrs={'class': 'requires-private-key'})) csv = CSVDataField(csv_form=SecretFromCSVForm, widget=forms.Textarea(attrs={'class': 'requires-private-key'}))
class SecretBulkEditForm(BulkEditForm, BootstrapMixin): class SecretBulkEditForm(BootstrapMixin, BulkEditForm):
pk = forms.ModelMultipleChoiceField(queryset=Secret.objects.all(), widget=forms.MultipleHiddenInput) pk = forms.ModelMultipleChoiceField(queryset=Secret.objects.all(), widget=forms.MultipleHiddenInput)
role = forms.ModelChoiceField(queryset=SecretRole.objects.all(), required=False) role = forms.ModelChoiceField(queryset=SecretRole.objects.all(), required=False)
name = forms.CharField(max_length=100, required=False) name = forms.CharField(max_length=100, required=False)
@ -99,7 +99,7 @@ class SecretBulkEditForm(BulkEditForm, BootstrapMixin):
nullable_fields = ['name'] nullable_fields = ['name']
class SecretFilterForm(forms.Form, BootstrapMixin): class SecretFilterForm(BootstrapMixin, forms.Form):
role = FilterChoiceField(queryset=SecretRole.objects.annotate(filter_count=Count('secrets')), to_field_name='slug') role = FilterChoiceField(queryset=SecretRole.objects.annotate(filter_count=Count('secrets')), to_field_name='slug')
@ -107,7 +107,7 @@ class SecretFilterForm(forms.Form, BootstrapMixin):
# UserKeys # UserKeys
# #
class UserKeyForm(forms.ModelForm, BootstrapMixin): class UserKeyForm(BootstrapMixin, forms.ModelForm):
class Meta: class Meta:
model = UserKey model = UserKey

View File

@ -11,7 +11,7 @@ from .models import Tenant, TenantGroup
# Tenant groups # Tenant groups
# #
class TenantGroupForm(forms.ModelForm, BootstrapMixin): class TenantGroupForm(BootstrapMixin, forms.ModelForm):
slug = SlugField() slug = SlugField()
class Meta: class Meta:
@ -41,7 +41,7 @@ class TenantFromCSVForm(forms.ModelForm):
fields = ['name', 'slug', 'group', 'description'] fields = ['name', 'slug', 'group', 'description']
class TenantImportForm(BulkImportForm, BootstrapMixin): class TenantImportForm(BootstrapMixin, BulkImportForm):
csv = CSVDataField(csv_form=TenantFromCSVForm) csv = CSVDataField(csv_form=TenantFromCSVForm)

View File

@ -3,7 +3,7 @@ from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm as
from utilities.forms import BootstrapMixin from utilities.forms import BootstrapMixin
class LoginForm(AuthenticationForm, BootstrapMixin): class LoginForm(BootstrapMixin, AuthenticationForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(LoginForm, self).__init__(*args, **kwargs) super(LoginForm, self).__init__(*args, **kwargs)
@ -12,5 +12,5 @@ class LoginForm(AuthenticationForm, BootstrapMixin):
self.fields['password'].widget.attrs['placeholder'] = '' self.fields['password'].widget.attrs['placeholder'] = ''
class PasswordChangeForm(DjangoPasswordChangeForm, BootstrapMixin): class PasswordChangeForm(BootstrapMixin, DjangoPasswordChangeForm):
pass pass

View File

@ -385,7 +385,7 @@ class BootstrapMixin(forms.BaseForm):
field.widget.attrs['placeholder'] = field.label field.widget.attrs['placeholder'] = field.label
class ConfirmationForm(forms.Form, BootstrapMixin): class ConfirmationForm(BootstrapMixin, forms.Form):
confirm = forms.BooleanField(required=True) confirm = forms.BooleanField(required=True)