mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -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']
|
||||
|
||||
|
||||
class ProviderImportForm(BulkImportForm, BootstrapMixin):
|
||||
class ProviderImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=ProviderFromCSVForm)
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ class ProviderFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Circuit types
|
||||
#
|
||||
|
||||
class CircuitTypeForm(forms.ModelForm, BootstrapMixin):
|
||||
class CircuitTypeForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -107,7 +107,7 @@ class CircuitFromCSVForm(forms.ModelForm):
|
||||
fields = ['cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate']
|
||||
|
||||
|
||||
class CircuitImportForm(BulkImportForm, BootstrapMixin):
|
||||
class CircuitImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=CircuitFromCSVForm)
|
||||
|
||||
|
||||
@ -139,7 +139,7 @@ class CircuitFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# 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'}))
|
||||
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), required=False, label='Rack',
|
||||
widget=APISelect(api_url='/api/dcim/racks/?site_id={{site}}',
|
||||
|
@ -84,7 +84,7 @@ class SiteFromCSVForm(forms.ModelForm):
|
||||
fields = ['name', 'slug', 'tenant', 'facility', 'asn']
|
||||
|
||||
|
||||
class SiteImportForm(BulkImportForm, BootstrapMixin):
|
||||
class SiteImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=SiteFromCSVForm)
|
||||
|
||||
|
||||
@ -107,7 +107,7 @@ class SiteFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Rack groups
|
||||
#
|
||||
|
||||
class RackGroupForm(forms.ModelForm, BootstrapMixin):
|
||||
class RackGroupForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -115,7 +115,7 @@ class RackGroupForm(forms.ModelForm, BootstrapMixin):
|
||||
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')
|
||||
|
||||
|
||||
@ -123,7 +123,7 @@ class RackGroupFilterForm(forms.Form, BootstrapMixin):
|
||||
# Rack roles
|
||||
#
|
||||
|
||||
class RackRoleForm(forms.ModelForm, BootstrapMixin):
|
||||
class RackRoleForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -209,7 +209,7 @@ class RackFromCSVForm(forms.ModelForm):
|
||||
))
|
||||
|
||||
|
||||
class RackImportForm(BulkImportForm, BootstrapMixin):
|
||||
class RackImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=RackFromCSVForm)
|
||||
|
||||
|
||||
@ -243,7 +243,7 @@ class RackFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Manufacturers
|
||||
#
|
||||
|
||||
class ManufacturerForm(forms.ModelForm, BootstrapMixin):
|
||||
class ManufacturerForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -283,7 +283,7 @@ class DeviceTypeFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Device component templates
|
||||
#
|
||||
|
||||
class ConsolePortTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
class ConsolePortTemplateForm(BootstrapMixin, forms.ModelForm):
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
class Meta:
|
||||
@ -291,7 +291,7 @@ class ConsolePortTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
fields = ['name_pattern']
|
||||
|
||||
|
||||
class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
class ConsoleServerPortTemplateForm(BootstrapMixin, forms.ModelForm):
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
class Meta:
|
||||
@ -299,7 +299,7 @@ class ConsoleServerPortTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
fields = ['name_pattern']
|
||||
|
||||
|
||||
class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
class PowerPortTemplateForm(BootstrapMixin, forms.ModelForm):
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
class Meta:
|
||||
@ -307,7 +307,7 @@ class PowerPortTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
fields = ['name_pattern']
|
||||
|
||||
|
||||
class PowerOutletTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
class PowerOutletTemplateForm(BootstrapMixin, forms.ModelForm):
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
class Meta:
|
||||
@ -315,7 +315,7 @@ class PowerOutletTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
fields = ['name_pattern']
|
||||
|
||||
|
||||
class InterfaceTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
class InterfaceTemplateForm(BootstrapMixin, forms.ModelForm):
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
class Meta:
|
||||
@ -331,7 +331,7 @@ class InterfaceTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
|
||||
nullable_fields = []
|
||||
|
||||
|
||||
class DeviceBayTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
class DeviceBayTemplateForm(BootstrapMixin, forms.ModelForm):
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
class Meta:
|
||||
@ -343,7 +343,7 @@ class DeviceBayTemplateForm(forms.ModelForm, BootstrapMixin):
|
||||
# Device roles
|
||||
#
|
||||
|
||||
class DeviceRoleForm(forms.ModelForm, BootstrapMixin):
|
||||
class DeviceRoleForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -355,7 +355,7 @@ class DeviceRoleForm(forms.ModelForm, BootstrapMixin):
|
||||
# Platforms
|
||||
#
|
||||
|
||||
class PlatformForm(forms.ModelForm, BootstrapMixin):
|
||||
class PlatformForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
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))
|
||||
|
||||
|
||||
class DeviceImportForm(BulkImportForm, BootstrapMixin):
|
||||
class DeviceImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=DeviceFromCSVForm)
|
||||
|
||||
|
||||
class ChildDeviceImportForm(BulkImportForm, BootstrapMixin):
|
||||
class ChildDeviceImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=ChildDeviceFromCSVForm)
|
||||
|
||||
|
||||
@ -613,7 +613,7 @@ class DeviceFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Bulk device component creation
|
||||
#
|
||||
|
||||
class DeviceBulkAddComponentForm(forms.Form, BootstrapMixin):
|
||||
class DeviceBulkAddComponentForm(BootstrapMixin, forms.Form):
|
||||
pk = forms.ModelMultipleChoiceField(queryset=Device.objects.all(), widget=forms.MultipleHiddenInput)
|
||||
name_pattern = ExpandableNameField(label='Name')
|
||||
|
||||
@ -629,7 +629,7 @@ class DeviceBulkAddInterfaceForm(forms.ModelForm, DeviceBulkAddComponentForm):
|
||||
# Console ports
|
||||
#
|
||||
|
||||
class ConsolePortForm(forms.ModelForm, BootstrapMixin):
|
||||
class ConsolePortForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
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')
|
||||
|
||||
|
||||
@ -680,7 +680,7 @@ class ConsoleConnectionCSVForm(forms.Form):
|
||||
.format(self.cleaned_data['device'], self.cleaned_data['console_port']))
|
||||
|
||||
|
||||
class ConsoleConnectionImportForm(BulkImportForm, BootstrapMixin):
|
||||
class ConsoleConnectionImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=ConsoleConnectionCSVForm)
|
||||
|
||||
def clean(self):
|
||||
@ -710,7 +710,7 @@ class ConsoleConnectionImportForm(BulkImportForm, BootstrapMixin):
|
||||
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,
|
||||
widget=forms.Select(attrs={'filter-for': 'console_server'}))
|
||||
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
|
||||
#
|
||||
|
||||
class ConsoleServerPortForm(forms.ModelForm, BootstrapMixin):
|
||||
class ConsoleServerPortForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
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')
|
||||
|
||||
|
||||
class ConsoleServerPortConnectionForm(forms.Form, BootstrapMixin):
|
||||
class ConsoleServerPortConnectionForm(BootstrapMixin, forms.Form):
|
||||
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False,
|
||||
widget=forms.Select(attrs={'filter-for': 'device'}))
|
||||
device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Device', required=False,
|
||||
@ -826,7 +826,7 @@ class ConsoleServerPortConnectionForm(forms.Form, BootstrapMixin):
|
||||
# Power ports
|
||||
#
|
||||
|
||||
class PowerPortForm(forms.ModelForm, BootstrapMixin):
|
||||
class PowerPortForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
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')
|
||||
|
||||
|
||||
@ -877,7 +877,7 @@ class PowerConnectionCSVForm(forms.Form):
|
||||
.format(self.cleaned_data['device'], self.cleaned_data['power_port']))
|
||||
|
||||
|
||||
class PowerConnectionImportForm(BulkImportForm, BootstrapMixin):
|
||||
class PowerConnectionImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=PowerConnectionCSVForm)
|
||||
|
||||
def clean(self):
|
||||
@ -907,7 +907,7 @@ class PowerConnectionImportForm(BulkImportForm, BootstrapMixin):
|
||||
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,
|
||||
widget=forms.Select(attrs={'filter-for': 'pdu'}))
|
||||
pdu = forms.ModelChoiceField(queryset=Device.objects.all(), label='PDU', required=False,
|
||||
@ -960,7 +960,7 @@ class PowerPortConnectionForm(forms.ModelForm, BootstrapMixin):
|
||||
# Power outlets
|
||||
#
|
||||
|
||||
class PowerOutletForm(forms.ModelForm, BootstrapMixin):
|
||||
class PowerOutletForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
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')
|
||||
|
||||
|
||||
class PowerOutletConnectionForm(forms.Form, BootstrapMixin):
|
||||
class PowerOutletConnectionForm(BootstrapMixin, forms.Form):
|
||||
rack = forms.ModelChoiceField(queryset=Rack.objects.all(), label='Rack', required=False,
|
||||
widget=forms.Select(attrs={'filter-for': 'device'}))
|
||||
device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Device', required=False,
|
||||
@ -1022,7 +1022,7 @@ class PowerOutletConnectionForm(forms.Form, BootstrapMixin):
|
||||
# Interfaces
|
||||
#
|
||||
|
||||
class InterfaceForm(forms.ModelForm, BootstrapMixin):
|
||||
class InterfaceForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
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')
|
||||
|
||||
class Meta:
|
||||
@ -1053,7 +1053,7 @@ class InterfaceBulkEditForm(BootstrapMixin, BulkEditForm):
|
||||
# Interface connections
|
||||
#
|
||||
|
||||
class InterfaceConnectionForm(forms.ModelForm, BootstrapMixin):
|
||||
class InterfaceConnectionForm(BootstrapMixin, forms.ModelForm):
|
||||
interface_a = forms.ChoiceField(choices=[], widget=SelectWithDisabled, label='Interface')
|
||||
site_b = forms.ModelChoiceField(queryset=Site.objects.all(), label='Site', required=False,
|
||||
widget=forms.Select(attrs={'filter-for': 'rack_b'}))
|
||||
@ -1158,7 +1158,7 @@ class InterfaceConnectionCSVForm(forms.Form):
|
||||
pass
|
||||
|
||||
|
||||
class InterfaceConnectionImportForm(BulkImportForm, BootstrapMixin):
|
||||
class InterfaceConnectionImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=InterfaceConnectionCSVForm)
|
||||
|
||||
def clean(self):
|
||||
@ -1198,7 +1198,7 @@ class InterfaceConnectionImportForm(BulkImportForm, BootstrapMixin):
|
||||
self.cleaned_data['csv'] = connection_list
|
||||
|
||||
|
||||
class InterfaceConnectionDeletionForm(forms.Form, BootstrapMixin):
|
||||
class InterfaceConnectionDeletionForm(BootstrapMixin, forms.Form):
|
||||
confirm = forms.BooleanField(required=True)
|
||||
# Used for HTTP redirect upon successful deletion
|
||||
device = forms.ModelChoiceField(queryset=Device.objects.all(), widget=forms.HiddenInput(), required=False)
|
||||
@ -1208,7 +1208,7 @@ class InterfaceConnectionDeletionForm(forms.Form, BootstrapMixin):
|
||||
# Device bays
|
||||
#
|
||||
|
||||
class DeviceBayForm(forms.ModelForm, BootstrapMixin):
|
||||
class DeviceBayForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
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')
|
||||
|
||||
|
||||
class PopulateDeviceBayForm(forms.Form, BootstrapMixin):
|
||||
class PopulateDeviceBayForm(BootstrapMixin, forms.Form):
|
||||
installed_device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Child Device',
|
||||
help_text="Child devices must first be created within the rack occupied "
|
||||
"by the parent device. Then they can be assigned to a bay.")
|
||||
@ -1243,15 +1243,15 @@ class PopulateDeviceBayForm(forms.Form, BootstrapMixin):
|
||||
# Connections
|
||||
#
|
||||
|
||||
class ConsoleConnectionFilterForm(forms.Form, BootstrapMixin):
|
||||
class ConsoleConnectionFilterForm(BootstrapMixin, forms.Form):
|
||||
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')
|
||||
|
||||
|
||||
class InterfaceConnectionFilterForm(forms.Form, BootstrapMixin):
|
||||
class InterfaceConnectionFilterForm(BootstrapMixin, forms.Form):
|
||||
site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug')
|
||||
|
||||
|
||||
@ -1289,7 +1289,7 @@ class IPAddressForm(BootstrapMixin, CustomFieldForm):
|
||||
# Modules
|
||||
#
|
||||
|
||||
class ModuleForm(forms.ModelForm, BootstrapMixin):
|
||||
class ModuleForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = Module
|
||||
|
@ -48,7 +48,7 @@ class VRFFromCSVForm(forms.ModelForm):
|
||||
fields = ['name', 'rd', 'tenant', 'enforce_unique', 'description']
|
||||
|
||||
|
||||
class VRFImportForm(BulkImportForm, BootstrapMixin):
|
||||
class VRFImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=VRFFromCSVForm)
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ class VRFFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# RIRs
|
||||
#
|
||||
|
||||
class RIRForm(forms.ModelForm, BootstrapMixin):
|
||||
class RIRForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -79,7 +79,7 @@ class RIRForm(forms.ModelForm, BootstrapMixin):
|
||||
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=[
|
||||
('', '---------'),
|
||||
('True', 'Yes'),
|
||||
@ -112,7 +112,7 @@ class AggregateFromCSVForm(forms.ModelForm):
|
||||
fields = ['prefix', 'rir', 'date_added', 'description']
|
||||
|
||||
|
||||
class AggregateImportForm(BulkImportForm, BootstrapMixin):
|
||||
class AggregateImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=AggregateFromCSVForm)
|
||||
|
||||
|
||||
@ -137,7 +137,7 @@ class AggregateFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Roles
|
||||
#
|
||||
|
||||
class RoleForm(forms.ModelForm, BootstrapMixin):
|
||||
class RoleForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -236,7 +236,7 @@ class PrefixFromCSVForm(forms.ModelForm):
|
||||
return super(PrefixFromCSVForm, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class PrefixImportForm(BulkImportForm, BootstrapMixin):
|
||||
class PrefixImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=PrefixFromCSVForm)
|
||||
|
||||
|
||||
@ -340,7 +340,7 @@ class IPAddressForm(BootstrapMixin, CustomFieldForm):
|
||||
self.fields['nat_inside'].choices = []
|
||||
|
||||
|
||||
class IPAddressBulkAddForm(forms.Form, BootstrapMixin):
|
||||
class IPAddressBulkAddForm(BootstrapMixin, forms.Form):
|
||||
address = ExpandableIPAddressField()
|
||||
vrf = forms.ModelChoiceField(queryset=VRF.objects.all(), required=False, label='VRF')
|
||||
tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(), required=False)
|
||||
@ -426,7 +426,7 @@ class IPAddressFromCSVForm(forms.ModelForm):
|
||||
return super(IPAddressFromCSVForm, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class IPAddressImportForm(BulkImportForm, BootstrapMixin):
|
||||
class IPAddressImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=IPAddressFromCSVForm)
|
||||
|
||||
|
||||
@ -465,7 +465,7 @@ class IPAddressFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# VLAN groups
|
||||
#
|
||||
|
||||
class VLANGroupForm(forms.ModelForm, BootstrapMixin):
|
||||
class VLANGroupForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -473,7 +473,7 @@ class VLANGroupForm(forms.ModelForm, BootstrapMixin):
|
||||
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')
|
||||
|
||||
|
||||
@ -538,7 +538,7 @@ class VLANFromCSVForm(forms.ModelForm):
|
||||
return m
|
||||
|
||||
|
||||
class VLANImportForm(BulkImportForm, BootstrapMixin):
|
||||
class VLANImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=VLANFromCSVForm)
|
||||
|
||||
|
||||
@ -578,7 +578,7 @@ class VLANFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
||||
# Services
|
||||
#
|
||||
|
||||
class ServiceForm(forms.ModelForm, BootstrapMixin):
|
||||
class ServiceForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = Service
|
||||
|
@ -34,7 +34,7 @@ def validate_rsa_key(key, is_secret=True):
|
||||
# Secret roles
|
||||
#
|
||||
|
||||
class SecretRoleForm(forms.ModelForm, BootstrapMixin):
|
||||
class SecretRoleForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -46,7 +46,7 @@ class SecretRoleForm(forms.ModelForm, BootstrapMixin):
|
||||
# Secrets
|
||||
#
|
||||
|
||||
class SecretForm(forms.ModelForm, BootstrapMixin):
|
||||
class SecretForm(BootstrapMixin, forms.ModelForm):
|
||||
private_key = forms.CharField(required=False, widget=forms.HiddenInput())
|
||||
plaintext = forms.CharField(max_length=65535, required=False, label='Plaintext',
|
||||
widget=forms.PasswordInput(attrs={'class': 'requires-private-key'}))
|
||||
@ -85,12 +85,12 @@ class SecretFromCSVForm(forms.ModelForm):
|
||||
return s
|
||||
|
||||
|
||||
class SecretImportForm(BulkImportForm, BootstrapMixin):
|
||||
class SecretImportForm(BootstrapMixin, BulkImportForm):
|
||||
private_key = forms.CharField(widget=forms.HiddenInput())
|
||||
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)
|
||||
role = forms.ModelChoiceField(queryset=SecretRole.objects.all(), required=False)
|
||||
name = forms.CharField(max_length=100, required=False)
|
||||
@ -99,7 +99,7 @@ class SecretBulkEditForm(BulkEditForm, BootstrapMixin):
|
||||
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')
|
||||
|
||||
|
||||
@ -107,7 +107,7 @@ class SecretFilterForm(forms.Form, BootstrapMixin):
|
||||
# UserKeys
|
||||
#
|
||||
|
||||
class UserKeyForm(forms.ModelForm, BootstrapMixin):
|
||||
class UserKeyForm(BootstrapMixin, forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = UserKey
|
||||
|
@ -11,7 +11,7 @@ from .models import Tenant, TenantGroup
|
||||
# Tenant groups
|
||||
#
|
||||
|
||||
class TenantGroupForm(forms.ModelForm, BootstrapMixin):
|
||||
class TenantGroupForm(BootstrapMixin, forms.ModelForm):
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
@ -41,7 +41,7 @@ class TenantFromCSVForm(forms.ModelForm):
|
||||
fields = ['name', 'slug', 'group', 'description']
|
||||
|
||||
|
||||
class TenantImportForm(BulkImportForm, BootstrapMixin):
|
||||
class TenantImportForm(BootstrapMixin, BulkImportForm):
|
||||
csv = CSVDataField(csv_form=TenantFromCSVForm)
|
||||
|
||||
|
||||
|
@ -3,7 +3,7 @@ from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm as
|
||||
from utilities.forms import BootstrapMixin
|
||||
|
||||
|
||||
class LoginForm(AuthenticationForm, BootstrapMixin):
|
||||
class LoginForm(BootstrapMixin, AuthenticationForm):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(LoginForm, self).__init__(*args, **kwargs)
|
||||
@ -12,5 +12,5 @@ class LoginForm(AuthenticationForm, BootstrapMixin):
|
||||
self.fields['password'].widget.attrs['placeholder'] = ''
|
||||
|
||||
|
||||
class PasswordChangeForm(DjangoPasswordChangeForm, BootstrapMixin):
|
||||
class PasswordChangeForm(BootstrapMixin, DjangoPasswordChangeForm):
|
||||
pass
|
||||
|
@ -385,7 +385,7 @@ class BootstrapMixin(forms.BaseForm):
|
||||
field.widget.attrs['placeholder'] = field.label
|
||||
|
||||
|
||||
class ConfirmationForm(forms.Form, BootstrapMixin):
|
||||
class ConfirmationForm(BootstrapMixin, forms.Form):
|
||||
confirm = forms.BooleanField(required=True)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user