Example #1
0
class LocationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = Location
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_group_id', 'site_id', 'parent_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'))
    site_group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(),
        required=False,
        label=_('Site group'))
    site_id = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                              required=False,
                                              query_params={
                                                  'region_id': '$region_id',
                                                  'group_id': '$site_group_id',
                                              },
                                              label=_('Site'))
    parent_id = DynamicModelMultipleChoiceField(
        queryset=Location.objects.all(),
        required=False,
        query_params={
            'region_id': '$region_id',
            'site_id': '$site_id',
        },
        label=_('Parent'))
    tag = TagFilterField(model)
Example #2
0
class BGPSessionFilterForm(BootstrapMixin, forms.ModelForm):
    q = forms.CharField(required=False, label='Search')
    remote_as = DynamicModelMultipleChoiceField(
        queryset=ASN.objects.all(),
        required=False,
        display_field='number',
        widget=APISelectMultiple(api_url='/api/plugins/bgp/asn/', ))
    local_as = DynamicModelMultipleChoiceField(
        queryset=ASN.objects.all(),
        required=False,
        display_field='number',
        widget=APISelectMultiple(api_url='/api/plugins/bgp/asn/', ))
    tenant = DynamicModelChoiceField(queryset=Tenant.objects.all(),
                                     required=False)
    status = forms.MultipleChoiceField(choices=SessionStatusChoices,
                                       required=False,
                                       widget=StaticSelect2Multiple())
    import_policies = DynamicModelMultipleChoiceField(
        queryset=RoutingPolicy.objects.all(),
        required=False,
        widget=APISelectMultiple(api_url='/api/plugins/bgp/routing-policy/'))
    export_policies = DynamicModelMultipleChoiceField(
        queryset=RoutingPolicy.objects.all(),
        required=False,
        widget=APISelectMultiple(api_url='/api/plugins/bgp/routing-policy/'))

    tag = TagFilterField(BGPSession)

    class Meta:
        model = BGPSession
        fields = ['q', 'status', 'tenant', 'remote_as', 'local_as']
Example #3
0
class SiteFilterForm(BootstrapMixin, TenancyFilterForm,
                     CustomFieldModelFilterForm):
    model = Site
    field_order = ['q', 'status', 'region_id', 'tenant_group_id', 'tenant_id']
    field_groups = [
        ['q', 'tag'],
        ['status', 'region_id', 'group_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    status = forms.MultipleChoiceField(
        choices=SiteStatusChoices,
        required=False,
        widget=StaticSelectMultiple(),
    )
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'),
                                                fetch_trigger='open')
    group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(),
        required=False,
        label=_('Site group'),
        fetch_trigger='open')
    tag = TagFilterField(model)
Example #4
0
class SecretFilterForm(BootstrapMixin, CustomFieldFilterForm):
    model = Secret
    q = forms.CharField(required=False, label='Search')
    role = DynamicModelMultipleChoiceField(queryset=SecretRole.objects.all(),
                                           to_field_name='slug',
                                           required=False)
    tag = TagFilterField(model)
Example #5
0
class IPAddressFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
    model = IPAddress
    field_order = [
        'q', 'parent', 'family', 'mask_length', 'vrf_id', 'present_in_vrf_id', 'status', 'role',
        'assigned_to_interface', 'tenant_group_id', 'tenant_id',
    ]
    q = forms.CharField(
        required=False,
        label=_('Search')
    )
    parent = forms.CharField(
        required=False,
        widget=forms.TextInput(
            attrs={
                'placeholder': 'Prefix',
            }
        ),
        label='Parent Prefix'
    )
    family = forms.ChoiceField(
        required=False,
        choices=add_blank_choice(IPAddressFamilyChoices),
        label=_('Address family'),
        widget=StaticSelect2()
    )
    mask_length = forms.ChoiceField(
        required=False,
        choices=IPADDRESS_MASK_LENGTH_CHOICES,
        label=_('Mask length'),
        widget=StaticSelect2()
    )
    vrf_id = DynamicModelMultipleChoiceField(
        queryset=VRF.objects.all(),
        required=False,
        label=_('Assigned VRF'),
        null_option='Global'
    )
    present_in_vrf_id = DynamicModelChoiceField(
        queryset=VRF.objects.all(),
        required=False,
        label=_('Present in VRF')
    )
    status = forms.MultipleChoiceField(
        choices=IPAddressStatusChoices,
        required=False,
        widget=StaticSelect2Multiple()
    )
    role = forms.MultipleChoiceField(
        choices=IPAddressRoleChoices,
        required=False,
        widget=StaticSelect2Multiple()
    )
    assigned_to_interface = forms.NullBooleanField(
        required=False,
        label=_('Assigned to an interface'),
        widget=StaticSelect2(
            choices=BOOLEAN_WITH_BLANK_CHOICES
        )
    )
    tag = TagFilterField(model)
Example #6
0
class UpgradeDeviceFilterForm(BootstrapMixin, CustomFieldVersionFilterForm):
    model = Device
    field_order = ["q", "role", "tenant", "device_type_id", "tag", "target_sw"]
    q = forms.CharField(required=False, label="Search")
    tenant = DynamicModelMultipleChoiceField(
        queryset=Tenant.objects.all(),
        to_field_name="slug",
        required=False,
    )
    role = DynamicModelMultipleChoiceField(
        queryset=DeviceRole.objects.all(),
        to_field_name="slug",
        required=False,
    )
    device_type_id = DynamicModelMultipleChoiceField(
        queryset=DeviceType.objects.all(),
        required=False,
        label="Model",
        display_field="model",
    )
    target_sw = forms.CharField(
        label="Target SW",
        required=False,
        help_text="Target SW Version",
    )
    tag = TagFilterField(model)
class ServiceMappingFilterForm(BootstrapMixin, forms.ModelForm):
    model = Device
    field_order = ['q', 'status', 'role', 'tenant', 'device_type_id', 'tag']
    q = forms.CharField(required=False, label='Search device or service')
    tenant = DynamicModelMultipleChoiceField(
        queryset=Tenant.objects.all(),
        to_field_name='slug',
        required=False,
        widget=APISelectMultiple(
            # value_field="slug",
            # null_option=True,
        ))
    role = DynamicModelMultipleChoiceField(
        queryset=DeviceRole.objects.all(),
        to_field_name='slug',
        required=False,
        widget=APISelectMultiple(
            # value_field="slug",
        ))
    device_type_id = DynamicModelMultipleChoiceField(
        queryset=DeviceType.objects.all(),
        required=False,
        label='Model',
        display_field="model",
        widget=APISelectMultiple())
    status = forms.MultipleChoiceField(label='Status',
                                       choices=ServiceComplianceChoices,
                                       required=False,
                                       widget=StaticSelect2Multiple())

    tag = TagFilterField(model)

    class Meta:
        model = Device
        fields = ['q', 'status', 'role', 'tenant', 'device_type_id', 'tag']
Example #8
0
class WirelessLANGroupFilterForm(CustomFieldModelFilterForm):
    model = WirelessLANGroup
    parent_id = DynamicModelMultipleChoiceField(
        queryset=WirelessLANGroup.objects.all(),
        required=False,
        label=_('Parent group'))
    tag = TagFilterField(model)
Example #9
0
class ProviderFilterForm(CustomFieldModelFilterForm):
    model = Provider
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_group_id', 'site_id'],
        ['asn'],
    ]
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'))
    site_group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(),
        required=False,
        label=_('Site group'))
    site_id = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                              required=False,
                                              query_params={
                                                  'region_id':
                                                  '$region_id',
                                                  'site_group_id':
                                                  '$site_group_id',
                                              },
                                              label=_('Site'))
    asn = forms.IntegerField(required=False, label=_('ASN'))
    tag = TagFilterField(model)
Example #10
0
class RIRFilterForm(CustomFieldModelFilterForm):
    model = RIR
    is_private = forms.NullBooleanField(
        required=False,
        label=_('Private'),
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)
Example #11
0
class VMInterfaceFilterForm(CustomFieldModelFilterForm):
    model = VMInterface
    field_groups = [
        ['q', 'tag'],
        ['cluster_id', 'virtual_machine_id'],
        ['enabled', 'mac_address'],
    ]
    cluster_id = DynamicModelMultipleChoiceField(
        queryset=Cluster.objects.all(),
        required=False,
        label=_('Cluster')
    )
    virtual_machine_id = DynamicModelMultipleChoiceField(
        queryset=VirtualMachine.objects.all(),
        required=False,
        query_params={
            'cluster_id': '$cluster_id'
        },
        label=_('Virtual machine')
    )
    enabled = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(
            choices=BOOLEAN_WITH_BLANK_CHOICES
        )
    )
    mac_address = forms.CharField(
        required=False,
        label='MAC address'
    )
    tag = TagFilterField(model)
Example #12
0
class PowerPanelFilterForm(CustomFieldModelFilterForm):
    model = PowerPanel
    field_groups = (('q', 'tag'), ('region_id', 'site_group_id', 'site_id',
                                   'location_id'))
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'))
    site_group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(),
        required=False,
        label=_('Site group'))
    site_id = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                              required=False,
                                              query_params={
                                                  'region_id': '$region_id',
                                                  'group_id': '$site_group_id',
                                              },
                                              label=_('Site'))
    location_id = DynamicModelMultipleChoiceField(
        queryset=Location.objects.all(),
        required=False,
        null_option='None',
        query_params={'site_id': '$site_id'},
        label=_('Location'))
    tag = TagFilterField(model)
Example #13
0
class PlatformFilterForm(CustomFieldModelFilterForm):
    model = Platform
    manufacturer_id = DynamicModelMultipleChoiceField(
        queryset=Manufacturer.objects.all(),
        required=False,
        label=_('Manufacturer'))
    tag = TagFilterField(model)
Example #14
0
class RackReservationFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = RackReservation
    field_groups = [
        ['q', 'tag'],
        ['user_id'],
        ['region_id', 'site_id', 'location_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'))
    site_id = DynamicModelMultipleChoiceField(
        queryset=Site.objects.all(),
        required=False,
        query_params={'region_id': '$region_id'},
        label=_('Site'))
    location_id = DynamicModelMultipleChoiceField(
        queryset=Location.objects.prefetch_related('site'),
        required=False,
        label=_('Location'),
        null_option='None')
    user_id = DynamicModelMultipleChoiceField(
        queryset=User.objects.all(),
        required=False,
        label=_('User'),
        widget=APISelectMultiple(api_url='/api/users/users/', ))
    tag = TagFilterField(model)
Example #15
0
class ClusterFilterForm(BootstrapMixin, TenancyFilterForm,
                        CustomFieldFilterForm):
    model = Cluster
    field_order = [
        'q',
        'type_id',
        'region_id',
        'site_id',
        'group_id',
        'tenant_group_id',
        'tenant_id',
    ]
    q = forms.CharField(required=False, label=_('Search'))
    type_id = DynamicModelMultipleChoiceField(
        queryset=ClusterType.objects.all(), required=False, label=_('Type'))
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'))
    site_id = DynamicModelMultipleChoiceField(
        queryset=Site.objects.all(),
        required=False,
        null_option='None',
        query_params={'region_id': '$region_id'},
        label=_('Site'))
    group_id = DynamicModelMultipleChoiceField(
        queryset=ClusterGroup.objects.all(),
        required=False,
        null_option='None',
        label=_('Group'))
    tag = TagFilterField(model)
Example #16
0
class PowerPanelFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
    model = PowerPanel
    field_groups = (('q', 'tag'), ('region_id', 'site_group_id', 'site_id',
                                   'location_id'))
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'),
                                                fetch_trigger='open')
    site_group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(),
        required=False,
        label=_('Site group'),
        fetch_trigger='open')
    site_id = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                              required=False,
                                              query_params={
                                                  'region_id': '$region_id',
                                                  'group_id': '$site_group_id',
                                              },
                                              label=_('Site'),
                                              fetch_trigger='open')
    location_id = DynamicModelMultipleChoiceField(
        queryset=Location.objects.all(),
        required=False,
        null_option='None',
        query_params={'site_id': '$site_id'},
        label=_('Location'),
        fetch_trigger='open')
    tag = TagFilterField(model)
Example #17
0
class ProviderFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
    model = Provider
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_group_id', 'site_id'],
        ['asn'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'),
                                                fetch_trigger='open')
    site_group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(),
        required=False,
        label=_('Site group'),
        fetch_trigger='open')
    site_id = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                              required=False,
                                              query_params={
                                                  'region_id':
                                                  '$region_id',
                                                  'site_group_id':
                                                  '$site_group_id',
                                              },
                                              label=_('Site'),
                                              fetch_trigger='open')
    asn = forms.IntegerField(required=False, label=_('ASN'))
    tag = TagFilterField(model)
Example #18
0
class IPRangeFilterForm(BootstrapMixin, TenancyFilterForm,
                        CustomFieldModelFilterForm):
    model = IPRange
    field_groups = [
        ['q', 'tag'],
        ['family', 'vrf_id', 'status', 'role_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    family = forms.ChoiceField(
        required=False,
        choices=add_blank_choice(IPAddressFamilyChoices),
        label=_('Address family'),
        widget=StaticSelect())
    vrf_id = DynamicModelMultipleChoiceField(queryset=VRF.objects.all(),
                                             required=False,
                                             label=_('Assigned VRF'),
                                             null_option='Global',
                                             fetch_trigger='open')
    status = forms.MultipleChoiceField(choices=PrefixStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    role_id = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label=_('Role'),
                                              fetch_trigger='open')
    tag = TagFilterField(model)
Example #19
0
class ProviderFilterForm(BootstrapMixin, CustomFieldFilterForm):
    model = Provider
    q = forms.CharField(
        required=False,
        label='Search'
    )
    region = FilterChoiceField(
        queryset=Region.objects.all(),
        to_field_name='slug',
        required=False,
        widget=APISelectMultiple(
            api_url="/api/dcim/regions/",
            value_field="slug",
            filter_for={
                'site': 'region'
            }
        )
    )
    site = FilterChoiceField(
        queryset=Site.objects.all(),
        to_field_name='slug',
        widget=APISelectMultiple(
            api_url="/api/dcim/sites/",
            value_field="slug",
        )
    )
    asn = forms.IntegerField(
        required=False,
        label='ASN'
    )
    tag = TagFilterField(model)
Example #20
0
class VLANFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
    model = VLAN
    field_order = [
        'q', 'region', 'site', 'group_id', 'status', 'role', 'tenant_group',
        'tenant'
    ]
    q = forms.CharField(required=False, label='Search')
    region = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                             to_field_name='slug',
                                             required=False)
    site = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           null_option='None',
                                           query_params={'region': '$region'})
    group_id = DynamicModelMultipleChoiceField(
        queryset=VLANGroup.objects.all(),
        required=False,
        label='VLAN group',
        null_option='None',
        query_params={'region': '$region'})
    status = forms.MultipleChoiceField(choices=VLANStatusChoices,
                                       required=False,
                                       widget=StaticSelect2Multiple())
    role = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           null_option='None')
    tag = TagFilterField(model)
Example #21
0
class VMInterfaceFilterForm(forms.Form):
    model = VMInterface
    cluster_id = DynamicModelMultipleChoiceField(
        queryset=Cluster.objects.all(),
        required=False,
        label='Cluster'
    )
    virtual_machine_id = DynamicModelMultipleChoiceField(
        queryset=VirtualMachine.objects.all(),
        required=False,
        label='Virtual machine',
        query_params={
            'cluster_id': '$cluster_id'
        }
    )
    enabled = forms.NullBooleanField(
        required=False,
        widget=StaticSelect2(
            choices=BOOLEAN_WITH_BLANK_CHOICES
        )
    )
    mac_address = forms.CharField(
        required=False,
        label='MAC address'
    )
    tag = TagFilterField(model)
Example #22
0
class ClusterFilterForm(BootstrapMixin, TenancyFilterForm,
                        CustomFieldFilterForm):
    model = Cluster
    field_order = [
        'q', 'type', 'region', 'site', 'group', 'tenant_group', 'tenant'
    ]
    q = forms.CharField(required=False, label='Search')
    type = DynamicModelMultipleChoiceField(queryset=ClusterType.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           widget=APISelectMultiple(
                                               value_field='slug', ))
    region = DynamicModelMultipleChoiceField(
        queryset=Region.objects.all(),
        to_field_name='slug',
        required=False,
        widget=APISelectMultiple(value_field="slug",
                                 filter_for={'site': 'region'}))
    site = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           widget=APISelectMultiple(
                                               value_field='slug',
                                               null_option=True,
                                           ))
    group = DynamicModelMultipleChoiceField(
        queryset=ClusterGroup.objects.all(),
        to_field_name='slug',
        required=False,
        widget=APISelectMultiple(
            value_field='slug',
            null_option=True,
        ))
    tag = TagFilterField(model)
Example #23
0
class ClusterFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
    model = Cluster
    field_order = [
        'q', 'type', 'region', 'site', 'group', 'tenant_group', 'tenant'
    ]
    q = forms.CharField(required=False, label='Search')
    type = DynamicModelMultipleChoiceField(
        queryset=ClusterType.objects.all(),
        to_field_name='slug',
        required=False
    )
    region = DynamicModelMultipleChoiceField(
        queryset=Region.objects.all(),
        to_field_name='slug',
        required=False
    )
    site = DynamicModelMultipleChoiceField(
        queryset=Site.objects.all(),
        to_field_name='slug',
        required=False,
        null_option='None',
        query_params={
            'region': '$region'
        }
    )
    group = DynamicModelMultipleChoiceField(
        queryset=ClusterGroup.objects.all(),
        to_field_name='slug',
        required=False,
        null_option='None'
    )
    tag = TagFilterField(model)
Example #24
0
class CircuitFilterForm(BootstrapMixin, TenancyFilterForm,
                        CustomFieldFilterForm):
    model = Circuit
    field_order = [
        'q',
        'type',
        'provider',
        'status',
        'region',
        'site',
        'tenant_group',
        'tenant',
        'commit_rate',
    ]
    q = forms.CharField(required=False, label='Search')
    type = DynamicModelMultipleChoiceField(queryset=CircuitType.objects.all(),
                                           to_field_name='slug',
                                           required=False)
    provider = DynamicModelMultipleChoiceField(queryset=Provider.objects.all(),
                                               to_field_name='slug',
                                               required=False)
    status = forms.MultipleChoiceField(choices=CircuitStatusChoices,
                                       required=False,
                                       widget=StaticSelect2Multiple())
    region = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                             to_field_name='slug',
                                             required=False)
    site = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           query_params={'region': '$region'})
    commit_rate = forms.IntegerField(required=False,
                                     min_value=0,
                                     label='Commit rate (Kbps)')
    tag = TagFilterField(model)
Example #25
0
class VMInterfaceFilterForm(BootstrapMixin, forms.Form):
    model = VMInterface
    field_groups = [
        ['q', 'tag'],
        ['cluster_id', 'virtual_machine_id'],
        ['enabled', 'mac_address'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    cluster_id = DynamicModelMultipleChoiceField(
        queryset=Cluster.objects.all(),
        required=False,
        label=_('Cluster'),
        fetch_trigger='open')
    virtual_machine_id = DynamicModelMultipleChoiceField(
        queryset=VirtualMachine.objects.all(),
        required=False,
        query_params={'cluster_id': '$cluster_id'},
        label=_('Virtual machine'),
        fetch_trigger='open')
    enabled = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    mac_address = forms.CharField(required=False, label='MAC address')
    tag = TagFilterField(model)
Example #26
0
class PrefixFilterForm(BootstrapMixin, TenancyFilterForm,
                       CustomFieldFilterForm):
    model = Prefix
    field_order = [
        'q',
        'within_include',
        'family',
        'mask_length',
        'vrf_id',
        'status',
        'region',
        'site',
        'role',
        'tenant_group',
        'tenant',
        'is_pool',
        'expand',
    ]
    mask_length__lte = forms.IntegerField(widget=forms.HiddenInput())
    q = forms.CharField(required=False, label='Search')
    within_include = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={
            'placeholder': 'Prefix',
        }),
        label='Search within')
    family = forms.ChoiceField(
        required=False,
        choices=add_blank_choice(IPAddressFamilyChoices),
        label='Address family',
        widget=StaticSelect2())
    mask_length = forms.ChoiceField(required=False,
                                    choices=PREFIX_MASK_LENGTH_CHOICES,
                                    label='Mask length',
                                    widget=StaticSelect2())
    vrf_id = DynamicModelMultipleChoiceField(queryset=VRF.objects.all(),
                                             required=False,
                                             label='VRF',
                                             null_option='Global')
    status = forms.MultipleChoiceField(choices=PrefixStatusChoices,
                                       required=False,
                                       widget=StaticSelect2Multiple())
    region = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                             to_field_name='slug',
                                             required=False)
    site = DynamicModelMultipleChoiceField(queryset=Site.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           null_option='None',
                                           query_params={'region': '$region'})
    role = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                           to_field_name='slug',
                                           required=False,
                                           null_option='None')
    is_pool = forms.NullBooleanField(
        required=False,
        label='Is a pool',
        widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)
Example #27
0
class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm,
                               CustomFieldFilterForm):
    model = VirtualMachine
    field_order = [
        'q',
        'cluster_group_id',
        'cluster_type_id',
        'cluster_id',
        'status',
        'role_id',
        'region_id',
        'site_id',
        'tenant_group_id',
        'tenant_id',
        'platform_id',
        'mac_address',
    ]
    q = forms.CharField(required=False, label=_('Search'))
    cluster_group_id = DynamicModelMultipleChoiceField(
        queryset=ClusterGroup.objects.all(),
        required=False,
        null_option='None',
        label=_('Cluster group'))
    cluster_type_id = DynamicModelMultipleChoiceField(
        queryset=ClusterType.objects.all(),
        required=False,
        null_option='None',
        label=_('Cluster type'))
    cluster_id = DynamicModelMultipleChoiceField(
        queryset=Cluster.objects.all(), required=False, label=_('Cluster'))
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label=_('Region'))
    site_id = DynamicModelMultipleChoiceField(
        queryset=Site.objects.all(),
        required=False,
        null_option='None',
        query_params={'region_id': '$region_id'},
        label=_('Cluster'))
    role_id = DynamicModelMultipleChoiceField(
        queryset=DeviceRole.objects.all(),
        required=False,
        null_option='None',
        query_params={'vm_role': "True"},
        label=_('Role'))
    status = forms.MultipleChoiceField(choices=VirtualMachineStatusChoices,
                                       required=False,
                                       widget=StaticSelect2Multiple())
    platform_id = DynamicModelMultipleChoiceField(
        queryset=Platform.objects.all(),
        required=False,
        null_option='None',
        label=_('Platform'))
    mac_address = forms.CharField(required=False, label='MAC address')
    has_primary_ip = forms.NullBooleanField(
        required=False,
        label='Has a primary IP',
        widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)
Example #28
0
class BGPPeerGroupFilterForm(NetBoxModelFilterSetForm):
    model = BGPPeerGroup
    q = forms.CharField(
        required=False,
        label='Search'
    )

    tag = TagFilterField(model)
Example #29
0
class RoutingPolicyFilterForm(NetBoxModelFilterSetForm):
    model = RoutingPolicy
    q = forms.CharField(
        required=False,
        label='Search'
    )

    tag = TagFilterField(model)
Example #30
0
class VRFFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
    model = VRF
    field_order = ['q', 'tenant_group', 'tenant']
    q = forms.CharField(
        required=False,
        label='Search'
    )
    tag = TagFilterField(model)