mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-25 01:48:38 -06:00
Standardized inheritance order of BootstrapMixin
This commit is contained in:
parent
1ed5389703
commit
37b2ff02e7
@ -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}}',
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user