Ejemplo n.º 1
0
class RackFilterForm(BootstrapMixin, TenancyFilterForm,
                     CustomFieldModelFilterForm):
    model = Rack
    field_order = [
        'q', 'region_id', 'site_id', 'location_id', 'status', 'role_id',
        'tenant_group_id', 'tenant_id'
    ]
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_id', 'location_id'],
        ['status', 'role_id'],
        ['type', 'width', 'serial', 'asset_tag'],
        ['tenant_group_id', 'tenant_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_id = DynamicModelMultipleChoiceField(
        queryset=Site.objects.all(),
        required=False,
        query_params={'region_id': '$region_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')
    status = forms.MultipleChoiceField(choices=RackStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    type = forms.MultipleChoiceField(choices=RackTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    width = forms.MultipleChoiceField(choices=RackWidthChoices,
                                      required=False,
                                      widget=StaticSelectMultiple())
    role_id = DynamicModelMultipleChoiceField(queryset=RackRole.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label=_('Role'),
                                              fetch_trigger='open')
    serial = forms.CharField(required=False)
    asset_tag = forms.CharField(required=False)
    tag = TagFilterField(model)
Ejemplo n.º 2
0
class ConsoleServerPortFilterForm(DeviceComponentFilterForm):
    model = ConsoleServerPort
    field_groups = [
        ['q', 'tag'],
        ['name', 'label', 'type', 'speed'],
        ['region_id', 'site_group_id', 'site_id', 'location_id', 'device_id'],
    ]
    type = forms.MultipleChoiceField(choices=ConsolePortTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    speed = forms.MultipleChoiceField(choices=ConsolePortSpeedChoices,
                                      required=False,
                                      widget=StaticSelectMultiple())
    tag = TagFilterField(model)
Ejemplo n.º 3
0
class InterfaceFilterForm(DeviceComponentFilterForm):
    model = Interface
    field_groups = [
        ['q', 'tag'],
        [
            'name', 'label', 'kind', 'type', 'enabled', 'mgmt_only',
            'mac_address', 'wwn'
        ],
        ['rf_role', 'rf_channel', 'rf_channel_width', 'tx_power'],
        [
            'region_id', 'site_group_id', 'site_id', 'location_id',
            'virtual_chassis_id', 'device_id'
        ],
    ]
    kind = forms.MultipleChoiceField(label='kind',
                                     choices=InterfaceKindChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    type = forms.MultipleChoiceField(label='Тип',
                                     choices=InterfaceTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    enabled = forms.NullBooleanField(
        label='Включен',
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    mgmt_only = forms.NullBooleanField(
        label='mgmt_only',
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    mac_address = forms.CharField(required=False, label='MAC address')
    wwn = forms.CharField(required=False, label='WWN')
    rf_role = forms.MultipleChoiceField(choices=WirelessRoleChoices,
                                        required=False,
                                        widget=StaticSelectMultiple(),
                                        label='Wireless role')
    rf_channel = forms.MultipleChoiceField(choices=WirelessChannelChoices,
                                           required=False,
                                           widget=StaticSelectMultiple(),
                                           label='Wireless channel')
    rf_channel_frequency = forms.IntegerField(required=False,
                                              label='Channel frequency (MHz)')
    rf_channel_width = forms.IntegerField(required=False,
                                          label='Channel width (MHz)')
    tx_power = forms.IntegerField(required=False,
                                  label='Transmit power (dBm)',
                                  min_value=0,
                                  max_value=127)
    tag = TagFilterField(model)
Ejemplo n.º 4
0
class DeviceTypeFilterForm(CustomFieldModelFilterForm):
    model = DeviceType
    field_groups = [
        ['q', 'tag'],
        ['manufacturer_id', 'subdevice_role', 'airflow'],
        [
            'console_ports', 'console_server_ports', 'power_ports',
            'power_outlets', 'interfaces', 'pass_through_ports'
        ],
    ]
    manufacturer_id = DynamicModelMultipleChoiceField(
        queryset=Manufacturer.objects.all(),
        required=False,
        label='Manufacturer')
    subdevice_role = forms.MultipleChoiceField(
        label='subdevice_role',
        choices=add_blank_choice(SubdeviceRoleChoices),
        required=False,
        widget=StaticSelectMultiple())
    airflow = forms.MultipleChoiceField(
        label='airflow',
        choices=add_blank_choice(DeviceAirflowChoices),
        required=False,
        widget=StaticSelectMultiple())
    console_ports = forms.NullBooleanField(
        required=False,
        label='Has console ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    console_server_ports = forms.NullBooleanField(
        required=False,
        label='Has console server ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    power_ports = forms.NullBooleanField(
        required=False,
        label='Has power ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    power_outlets = forms.NullBooleanField(
        required=False,
        label='Has power outlets',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    interfaces = forms.NullBooleanField(
        required=False,
        label='Has interfaces',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    pass_through_ports = forms.NullBooleanField(
        required=False,
        label='Has pass-through ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)
Ejemplo n.º 5
0
class WebhookFilterForm(FilterForm):
    field_groups = [
        ['q'],
        ['content_types', 'http_method', 'enabled'],
        ['type_create', 'type_update', 'type_delete'],
    ]
    content_types = ContentTypeMultipleChoiceField(
        queryset=ContentType.objects.all(),
        limit_choices_to=FeatureQuery('webhooks'),
        required=False)
    http_method = forms.MultipleChoiceField(choices=WebhookHttpMethodChoices,
                                            required=False,
                                            widget=StaticSelectMultiple(),
                                            label=_('HTTP method'))
    enabled = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    type_create = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    type_update = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    type_delete = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
Ejemplo n.º 6
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)
Ejemplo n.º 7
0
class WebhookFilterForm(BootstrapMixin, forms.Form):
    field_groups = [
        ['q'],
        ['content_types', 'http_method', 'enabled'],
        ['type_create', 'type_update', 'type_delete'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    content_types = ContentTypeMultipleChoiceField(
        queryset=ContentType.objects.all(),
        limit_choices_to=FeatureQuery('custom_fields'),
        required=False)
    http_method = forms.MultipleChoiceField(choices=WebhookHttpMethodChoices,
                                            required=False,
                                            widget=StaticSelectMultiple(),
                                            label=_('HTTP method'))
    enabled = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    type_create = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    type_update = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    type_delete = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
Ejemplo n.º 8
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)
Ejemplo n.º 9
0
class CircuitFilterForm(BootstrapMixin, TenancyFilterForm,
                        CustomFieldModelFilterForm):
    model = Circuit
    field_groups = [
        ['q', 'tag'],
        ['provider_id', 'provider_network_id'],
        ['type_id', 'status', 'commit_rate'],
        ['region_id', 'site_group_id', 'site_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    type_id = DynamicModelMultipleChoiceField(
        queryset=CircuitType.objects.all(),
        required=False,
        label=_('Type'),
        fetch_trigger='open')
    provider_id = DynamicModelMultipleChoiceField(
        queryset=Provider.objects.all(),
        required=False,
        label=_('Provider'),
        fetch_trigger='open')
    provider_network_id = DynamicModelMultipleChoiceField(
        queryset=ProviderNetwork.objects.all(),
        required=False,
        query_params={'provider_id': '$provider_id'},
        label=_('Provider network'),
        fetch_trigger='open')
    status = forms.MultipleChoiceField(choices=CircuitStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    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')
    commit_rate = forms.IntegerField(required=False,
                                     min_value=0,
                                     label=_('Commit rate (Kbps)'))
    tag = TagFilterField(model)
Ejemplo n.º 10
0
class IPAddressFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = IPAddress
    field_groups = [
        ['q', 'tag'],
        [
            'parent', 'family', 'status', 'role', 'mask_length',
            'assigned_to_interface'
        ],
        ['vrf_id', 'present_in_vrf_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    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=StaticSelect())
    mask_length = forms.ChoiceField(required=False,
                                    choices=IPADDRESS_MASK_LENGTH_CHOICES,
                                    label=_('Mask length'),
                                    widget=StaticSelect())
    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=StaticSelectMultiple())
    role = forms.MultipleChoiceField(choices=IPAddressRoleChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    assigned_to_interface = forms.NullBooleanField(
        required=False,
        label=_('Assigned to an interface'),
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)
Ejemplo n.º 11
0
class FHRPGroupFilterForm(CustomFieldModelFilterForm):
    model = FHRPGroup
    field_groups = (
        ('q', 'tag'),
        ('protocol', 'group_id'),
        ('auth_type', 'auth_key'),
    )
    protocol = forms.MultipleChoiceField(choices=FHRPGroupProtocolChoices,
                                         required=False,
                                         widget=StaticSelectMultiple())
    group_id = forms.IntegerField(min_value=0,
                                  required=False,
                                  label='Group ID')
    auth_type = forms.MultipleChoiceField(choices=FHRPGroupAuthTypeChoices,
                                          required=False,
                                          widget=StaticSelectMultiple(),
                                          label='Authentication type')
    auth_key = forms.CharField(required=False, label='Authentication key')
    tag = TagFilterField(model)
Ejemplo n.º 12
0
class PowerFeedFilterForm(CustomFieldModelFilterForm):
    model = PowerFeed
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_group_id', 'site_id'],
        ['power_panel_id', 'rack_id'],
        [
            'status', 'type', 'supply', 'phase', 'voltage', 'amperage',
            'max_utilization'
        ],
    ]
    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'},
        label='Site')
    power_panel_id = DynamicModelMultipleChoiceField(
        queryset=PowerPanel.objects.all(),
        required=False,
        null_option='None',
        query_params={'site_id': '$site_id'},
        label='Power panel')
    rack_id = DynamicModelMultipleChoiceField(
        queryset=Rack.objects.all(),
        required=False,
        null_option='None',
        query_params={'site_id': '$site_id'},
        label='Rack')
    status = forms.MultipleChoiceField(label='Статус',
                                       choices=PowerFeedStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    type = forms.ChoiceField(label='Тип',
                             choices=add_blank_choice(PowerFeedTypeChoices),
                             required=False,
                             widget=StaticSelect())
    supply = forms.ChoiceField(
        label='Поставка',
        choices=add_blank_choice(PowerFeedSupplyChoices),
        required=False,
        widget=StaticSelect())
    phase = forms.ChoiceField(label='Фаза',
                              choices=add_blank_choice(PowerFeedPhaseChoices),
                              required=False,
                              widget=StaticSelect())
    voltage = forms.IntegerField(label='Напряжение', required=False)
    amperage = forms.IntegerField(label='Ток', required=False)
    max_utilization = forms.IntegerField(label='max_utilization',
                                         required=False)
    tag = TagFilterField(model)
Ejemplo n.º 13
0
class RackFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = Rack
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_id', 'location_id'],
        ['status', 'role_id'],
        ['type', 'width', 'serial', 'asset_tag'],
        ['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.all(),
        required=False,
        null_option='None',
        query_params={'site_id': '$site_id'},
        label='Location')
    status = forms.MultipleChoiceField(label='Статус',
                                       choices=RackStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    type = forms.MultipleChoiceField(label='Тип',
                                     choices=RackTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    width = forms.MultipleChoiceField(label='Ширина',
                                      choices=RackWidthChoices,
                                      required=False,
                                      widget=StaticSelectMultiple())
    role_id = DynamicModelMultipleChoiceField(queryset=RackRole.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label='Role')
    serial = forms.CharField(label='Серийный', required=False)
    asset_tag = forms.CharField(label='asset_tag', required=False)
    tag = TagFilterField(model)
Ejemplo n.º 14
0
class PowerOutletFilterForm(DeviceComponentFilterForm):
    model = PowerOutlet
    field_groups = [
        ['q', 'tag'],
        ['name', 'label', 'type'],
        ['region_id', 'site_group_id', 'site_id', 'location_id', 'device_id'],
    ]
    type = forms.MultipleChoiceField(choices=PowerOutletTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    tag = TagFilterField(model)
Ejemplo n.º 15
0
class FrontPortFilterForm(DeviceComponentFilterForm):
    field_groups = [
        ['q', 'tag'],
        ['name', 'label', 'type', 'color'],
        ['region_id', 'site_group_id', 'site_id', 'location_id', 'device_id'],
    ]
    model = FrontPort
    type = forms.MultipleChoiceField(choices=PortTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    color = ColorField(required=False)
    tag = TagFilterField(model)
Ejemplo n.º 16
0
class ServiceFilterForm(CustomFieldModelFilterForm):
    model = Service
    field_groups = (
        ('q', 'tag'),
        ('protocol', 'port'),
    )
    protocol = forms.ChoiceField(
        choices=add_blank_choice(ServiceProtocolChoices),
        required=False,
        widget=StaticSelectMultiple())
    port = forms.IntegerField(required=False, )
    tag = TagFilterField(model)
Ejemplo n.º 17
0
 class Meta:
     model = Service
     fields = [
         'device', 'virtual_machine', 'name', 'protocol', 'ports', 'ipaddresses', 'description', 'tags',
     ]
     help_texts = {
         'ipaddresses': "IP address assignment is optional. If no IPs are selected, the service is assumed to be "
                        "reachable via all IPs assigned to the device.",
     }
     widgets = {
         'protocol': StaticSelect(),
         'ipaddresses': StaticSelectMultiple(),
     }
Ejemplo n.º 18
0
class InterfaceFilterForm(DeviceComponentFilterForm):
    model = Interface
    field_groups = [
        ['q', 'tag'],
        [
            'name', 'label', 'kind', 'type', 'enabled', 'mgmt_only',
            'mac_address'
        ],
        ['region_id', 'site_group_id', 'site_id', 'location_id', 'device_id'],
    ]
    kind = forms.MultipleChoiceField(choices=InterfaceKindChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    type = forms.MultipleChoiceField(choices=InterfaceTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    enabled = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    mgmt_only = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    mac_address = forms.CharField(required=False, label='MAC address')
    tag = TagFilterField(model)
Ejemplo n.º 19
0
class DeviceTypeFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
    model = DeviceType
    field_groups = [
        ['q', 'tag'],
        ['manufacturer_id', 'subdevice_role'],
        [
            'console_ports', 'console_server_ports', 'power_ports',
            'power_outlets', 'interfaces', 'pass_through_ports'
        ],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    manufacturer_id = DynamicModelMultipleChoiceField(
        queryset=Manufacturer.objects.all(),
        required=False,
        label=_('Manufacturer'),
        fetch_trigger='open')
    subdevice_role = forms.MultipleChoiceField(
        choices=add_blank_choice(SubdeviceRoleChoices),
        required=False,
        widget=StaticSelectMultiple())
    console_ports = forms.NullBooleanField(
        required=False,
        label='Has console ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    console_server_ports = forms.NullBooleanField(
        required=False,
        label='Has console server ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    power_ports = forms.NullBooleanField(
        required=False,
        label='Has power ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    power_outlets = forms.NullBooleanField(
        required=False,
        label='Has power outlets',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    interfaces = forms.NullBooleanField(
        required=False,
        label='Has interfaces',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    pass_through_ports = forms.NullBooleanField(
        required=False,
        label='Has pass-through ports',
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)
Ejemplo n.º 20
0
class ServiceFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
    model = Service
    field_groups = (
        ('q', 'tag'),
        ('protocol', 'port'),
    )
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    protocol = forms.ChoiceField(
        choices=add_blank_choice(ServiceProtocolChoices),
        required=False,
        widget=StaticSelectMultiple())
    port = forms.IntegerField(required=False, )
    tag = TagFilterField(model)
Ejemplo n.º 21
0
class RearPortFilterForm(DeviceComponentFilterForm):
    model = RearPort
    field_groups = [
        ['q', 'tag'],
        ['name', 'label', 'type', 'color'],
        [
            'region_id', 'site_group_id', 'site_id', 'location_id',
            'virtual_chassis_id', 'device_id'
        ],
    ]
    type = forms.MultipleChoiceField(label='Тип',
                                     choices=PortTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple())
    color = ColorField(label='Цвет', required=False)
    tag = TagFilterField(model)
Ejemplo n.º 22
0
class VLANFilterForm(BootstrapMixin, TenancyFilterForm,
                     CustomFieldModelFilterForm):
    model = VLAN
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_group_id', 'site_id'],
        ['group_id', 'status', 'role_id', 'vid'],
        ['tenant_group_id', 'tenant_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,
        null_option='None',
        query_params={'region': '$region'},
        label=_('Site'),
        fetch_trigger='open')
    group_id = DynamicModelMultipleChoiceField(
        queryset=VLANGroup.objects.all(),
        required=False,
        null_option='None',
        query_params={'region': '$region'},
        label=_('VLAN group'),
        fetch_trigger='open')
    status = forms.MultipleChoiceField(choices=VLANStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    role_id = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label=_('Role'),
                                              fetch_trigger='open')
    vid = forms.IntegerField(required=False, label='VLAN ID')
    tag = TagFilterField(model)
Ejemplo n.º 23
0
class CustomFieldFilterForm(FilterForm):
    field_groups = [
        ['q'],
        ['type', 'content_types'],
        ['weight', 'required'],
    ]
    content_types = ContentTypeMultipleChoiceField(
        queryset=ContentType.objects.all(),
        limit_choices_to=FeatureQuery('custom_fields'),
        required=False)
    type = forms.MultipleChoiceField(choices=CustomFieldTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple(),
                                     label=_('Field type'))
    weight = forms.IntegerField(required=False)
    required = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
Ejemplo n.º 24
0
class SiteFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = Site
    field_groups = [['q', 'tag'], ['status', 'region_id', 'group_id'],
                    ['tenant_group_id', 'tenant_id'], ['asn_id']]
    status = forms.MultipleChoiceField(
        label='Статус',
        choices=SiteStatusChoices,
        required=False,
        widget=StaticSelectMultiple(),
    )
    region_id = DynamicModelMultipleChoiceField(queryset=Region.objects.all(),
                                                required=False,
                                                label='Region')
    group_id = DynamicModelMultipleChoiceField(
        queryset=SiteGroup.objects.all(), required=False, label='Site group')
    asn_id = DynamicModelMultipleChoiceField(queryset=ASN.objects.all(),
                                             required=False,
                                             label='ASNs')
    tag = TagFilterField(model)
Ejemplo n.º 25
0
class CircuitFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = Circuit
    field_groups = [
        ['q', 'tag'],
        ['provider_id', 'provider_network_id'],
        ['type_id', 'status', 'commit_rate'],
        ['region_id', 'site_group_id', 'site_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    type_id = DynamicModelMultipleChoiceField(
        queryset=CircuitType.objects.all(), required=False, label=_('Type'))
    provider_id = DynamicModelMultipleChoiceField(
        queryset=Provider.objects.all(), required=False, label=_('Provider'))
    provider_network_id = DynamicModelMultipleChoiceField(
        queryset=ProviderNetwork.objects.all(),
        required=False,
        query_params={'provider_id': '$provider_id'},
        label=_('Provider network'))
    status = forms.MultipleChoiceField(choices=CircuitStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    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'))
    commit_rate = forms.IntegerField(required=False,
                                     min_value=0,
                                     label=_('Commit rate (Kbps)'))
    tag = TagFilterField(model)
Ejemplo n.º 26
0
class ASNFilterForm(NetBoxModelFilterSetForm):
    model = ASN
    q = forms.CharField(
        required=False,
        label='Search'
    )
    tenant = DynamicModelChoiceField(
        queryset=Tenant.objects.all(),
        required=False
    )
    status = forms.MultipleChoiceField(
        choices=ASNStatusChoices,
        required=False,
        widget=StaticSelectMultiple()
    )
    site = DynamicModelChoiceField(
        queryset=Site.objects.all(),
        required=False
    )

    tag = TagFilterField(model)
Ejemplo n.º 27
0
class CustomFieldFilterForm(BootstrapMixin, forms.Form):
    field_groups = [
        ['q'],
        ['type', 'content_types'],
        ['weight', 'required'],
    ]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    content_types = ContentTypeMultipleChoiceField(
        queryset=ContentType.objects.all(),
        limit_choices_to=FeatureQuery('custom_fields'),
        required=False)
    type = forms.MultipleChoiceField(choices=CustomFieldTypeChoices,
                                     required=False,
                                     widget=StaticSelectMultiple(),
                                     label=_('Field type'))
    weight = forms.IntegerField(required=False)
    required = forms.NullBooleanField(
        required=False,
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
Ejemplo n.º 28
0
class VLANFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = VLAN
    field_groups = [
        ['q', 'tag'],
        ['region_id', 'site_group_id', 'site_id'],
        ['group_id', 'status', 'role_id', 'vid'],
        ['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,
        null_option='None',
        query_params={'region': '$region'},
        label=_('Site'))
    group_id = DynamicModelMultipleChoiceField(
        queryset=VLANGroup.objects.all(),
        required=False,
        null_option='None',
        query_params={'region': '$region'},
        label=_('VLAN group'))
    status = forms.MultipleChoiceField(choices=VLANStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    role_id = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label=_('Role'))
    vid = forms.IntegerField(required=False, label='VLAN ID')
    tag = TagFilterField(model)
Ejemplo n.º 29
0
class IPRangeFilterForm(TenancyFilterForm, CustomFieldModelFilterForm):
    model = IPRange
    field_groups = [
        ['q', 'tag'],
        ['family', 'vrf_id', 'status', 'role_id'],
        ['tenant_group_id', 'tenant_id'],
    ]
    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')
    status = forms.MultipleChoiceField(choices=PrefixStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    role_id = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label=_('Role'))
    tag = TagFilterField(model)
Ejemplo n.º 30
0
class PrefixFilterForm(BootstrapMixin, TenancyFilterForm,
                       CustomFieldModelFilterForm):
    model = Prefix
    field_groups = [['q', 'tag'],
                    [
                        'within_include', 'family', 'status', 'role_id',
                        'mask_length', 'is_pool', 'mark_utilized'
                    ], ['vrf_id', 'present_in_vrf_id'],
                    ['region_id', 'site_group_id', 'site_id'],
                    ['tenant_group_id', 'tenant_id']]
    q = forms.CharField(
        required=False,
        widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
        label=_('Search'))
    mask_length__lte = forms.IntegerField(widget=forms.HiddenInput())
    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=StaticSelect())
    mask_length = forms.MultipleChoiceField(required=False,
                                            choices=PREFIX_MASK_LENGTH_CHOICES,
                                            label=_('Mask length'),
                                            widget=StaticSelectMultiple())
    vrf_id = DynamicModelMultipleChoiceField(queryset=VRF.objects.all(),
                                             required=False,
                                             label=_('Assigned VRF'),
                                             null_option='Global',
                                             fetch_trigger='open')
    present_in_vrf_id = DynamicModelChoiceField(queryset=VRF.objects.all(),
                                                required=False,
                                                label=_('Present in VRF'),
                                                fetch_trigger='open')
    status = forms.MultipleChoiceField(choices=PrefixStatusChoices,
                                       required=False,
                                       widget=StaticSelectMultiple())
    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,
        null_option='None',
        query_params={'region_id': '$region_id'},
        label=_('Site'),
        fetch_trigger='open')
    role_id = DynamicModelMultipleChoiceField(queryset=Role.objects.all(),
                                              required=False,
                                              null_option='None',
                                              label=_('Role'),
                                              fetch_trigger='open')
    is_pool = forms.NullBooleanField(
        required=False,
        label=_('Is a pool'),
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    mark_utilized = forms.NullBooleanField(
        required=False,
        label=_('Marked as 100% utilized'),
        widget=StaticSelect(choices=BOOLEAN_WITH_BLANK_CHOICES))
    tag = TagFilterField(model)