Exemple #1
0
class DeviceConsoleServerPortTable(ConsoleServerPortTable):
    name = tables.TemplateColumn(
        template_code='<i class="mdi mdi-console-network-outline"></i> '
        '<a href="{{ record.get_absolute_url }}">{{ value }}</a>',
        order_by=Accessor('_name'),
        attrs={'td': {
            'class': 'text-nowrap'
        }})
    actions = ButtonsColumn(model=ConsoleServerPort,
                            buttons=('edit', 'delete'),
                            prepend_template=CONSOLESERVERPORT_BUTTONS)

    class Meta(DeviceComponentTable.Meta):
        model = ConsoleServerPort
        fields = (
            'pk',
            'name',
            'label',
            'type',
            'speed',
            'description',
            'mark_connected',
            'cable',
            'cable_color',
            'cable_peer',
            'connection',
            'tags',
            'actions',
        )
        default_columns = ('pk', 'name', 'label', 'type', 'speed',
                           'description', 'cable', 'connection', 'actions')
        row_attrs = {'class': get_cabletermination_row_class}
Exemple #2
0
class DeviceDeviceBayTable(DeviceBayTable):
    name = tables.TemplateColumn(
        template_code=
        '<i class="mdi mdi-circle{% if record.installed_device %}slice-8{% else %}outline{% endif %}'
        '"></i> <a href="{{ record.get_absolute_url }}">{{ value }}</a>',
        order_by=Accessor('_name'),
        attrs={'td': {
            'class': 'text-nowrap'
        }})
    actions = ButtonsColumn(model=DeviceBay,
                            buttons=('edit', 'delete'),
                            prepend_template=DEVICEBAY_BUTTONS)

    class Meta(DeviceComponentTable.Meta):
        model = DeviceBay
        fields = (
            'pk',
            'name',
            'label',
            'status',
            'installed_device',
            'description',
            'tags',
            'actions',
        )
        default_columns = (
            'pk',
            'name',
            'label',
            'status',
            'installed_device',
            'description',
            'actions',
        )
Exemple #3
0
class RackReservationTable(BaseTable):
    pk = ToggleColumn()
    reservation = tables.Column(accessor='pk', linkify=True)
    site = tables.Column(accessor=Accessor('rack__site'), linkify=True)
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    rack = tables.Column(linkify=True)
    unit_list = tables.Column(orderable=False, verbose_name='Units')
    tags = TagColumn(url_name='dcim:rackreservation_list')
    actions = ButtonsColumn(RackReservation)

    class Meta(BaseTable.Meta):
        model = RackReservation
        fields = (
            'pk',
            'reservation',
            'site',
            'rack',
            'unit_list',
            'user',
            'created',
            'tenant',
            'description',
            'tags',
            'actions',
        )
        default_columns = (
            'pk',
            'reservation',
            'site',
            'rack',
            'unit_list',
            'user',
            'description',
            'actions',
        )
Exemple #4
0
class RoleTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        linkify=True
    )
    prefix_count = LinkedCountColumn(
        viewname='ipam:prefix_list',
        url_params={'role_id': 'pk'},
        verbose_name='Prefixes'
    )
    iprange_count = LinkedCountColumn(
        viewname='ipam:iprange_list',
        url_params={'role_id': 'pk'},
        verbose_name='IP Ranges'
    )
    vlan_count = LinkedCountColumn(
        viewname='ipam:vlan_list',
        url_params={'role_id': 'pk'},
        verbose_name='VLANs'
    )
    tags = TagColumn(
        url_name='ipam:role_list'
    )
    actions = ButtonsColumn(Role)

    class Meta(BaseTable.Meta):
        model = Role
        fields = (
            'pk', 'id', 'name', 'slug', 'prefix_count', 'iprange_count', 'vlan_count', 'description', 'weight', 'tags',
            'actions', 'created', 'last_updated',
        )
        default_columns = ('pk', 'name', 'prefix_count', 'iprange_count', 'vlan_count', 'description', 'actions')
Exemple #5
0
class RIRTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        linkify=True
    )
    is_private = BooleanColumn(
        verbose_name='Private'
    )
    aggregate_count = LinkedCountColumn(
        viewname='ipam:aggregate_list',
        url_params={'rir_id': 'pk'},
        verbose_name='Aggregates'
    )
    tags = TagColumn(
        url_name='ipam:rir_list'
    )
    actions = ButtonsColumn(RIR)

    class Meta(BaseTable.Meta):
        model = RIR
        fields = (
            'pk', 'id', 'name', 'slug', 'is_private', 'aggregate_count', 'description', 'tags', 'actions', 'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'is_private', 'aggregate_count', 'description', 'actions')
Exemple #6
0
class VirtualMachineVMInterfaceTable(VMInterfaceTable):
    actions = ButtonsColumn(model=VMInterface,
                            buttons=('edit', 'delete'),
                            prepend_template=VMINTERFACE_BUTTONS)

    class Meta(BaseTable.Meta):
        model = VMInterface
        fields = (
            'pk',
            'name',
            'enabled',
            'mac_address',
            'mtu',
            'mode',
            'description',
            'tags',
            'ip_addresses',
            'untagged_vlan',
            'tagged_vlans',
            'actions',
        )
        default_columns = (
            'pk',
            'name',
            'enabled',
            'mac_address',
            'mtu',
            'mode',
            'description',
            'ip_addresses',
            'actions',
        )
        row_attrs = {
            'data-name': lambda record: record.name,
        }
Exemple #7
0
class ManufacturerTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        linkify=True
    )
    devicetype_count = tables.Column(
        verbose_name='Device Types'
    )
    inventoryitem_count = tables.Column(
        verbose_name='Inventory Items'
    )
    platform_count = tables.Column(
        verbose_name='Platforms'
    )
    slug = tables.Column()
    tags = TagColumn(
        url_name='dcim:manufacturer_list'
    )
    actions = ButtonsColumn(Manufacturer)

    class Meta(BaseTable.Meta):
        model = Manufacturer
        fields = (
            'pk', 'id', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug',
            'actions', 'created', 'last_updated',
        )
        default_columns = (
            'pk', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug', 'actions',
        )
Exemple #8
0
class TenantGroupTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(linkify=True)
    tenant_count = LinkedCountColumn(viewname='tenancy:tenant_list',
                                     url_params={'group_id': 'pk'},
                                     verbose_name='Tenants')
    tags = TagColumn(url_name='tenancy:tenantgroup_list')
    actions = ButtonsColumn(TenantGroup)

    class Meta(BaseTable.Meta):
        model = TenantGroup
        fields = (
            'pk',
            'id',
            'name',
            'tenant_count',
            'description',
            'slug',
            'tags',
            'actions',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'tenant_count', 'description',
                           'actions')
Exemple #9
0
class VLANDevicesTable(VLANMembersTable):
    device = tables.Column(linkify=True)
    actions = ButtonsColumn(Interface, buttons=['edit'])

    class Meta(BaseTable.Meta):
        model = Interface
        fields = ('device', 'name', 'tagged', 'actions')
Exemple #10
0
class DeviceInterfaceTable(InterfaceTable):
    name = tables.TemplateColumn(
        template_code='<i class="mdi mdi-{% if iface.mgmt_only %}wrench{% elif iface.is_lag %}drag-horizontal-variant'
                      '{% elif iface.is_virtual %}circle{% elif iface.is_wireless %}wifi{% else %}ethernet'
                      '{% endif %}"></i> <a href="{{ record.get_absolute_url }}">{{ value }}</a>',
        attrs={'td': {'class': 'text-nowrap'}}
    )
    lag = tables.Column(
        linkify=True,
        verbose_name='LAG'
    )
    actions = ButtonsColumn(
        model=Interface,
        buttons=('edit', 'delete'),
        prepend_template=INTERFACE_BUTTONS
    )

    class Meta(DeviceComponentTable.Meta):
        model = Interface
        fields = (
            'pk', 'name', 'label', 'enabled', 'type', 'lag', 'mgmt_only', 'mtu', 'mode', 'mac_address', 'description',
            'cable', 'cable_peer', 'connection', 'tags', 'ip_addresses', 'untagged_vlan', 'tagged_vlans', 'actions',
        )
        default_columns = (
            'pk', 'name', 'label', 'enabled', 'type', 'lag', 'mtu', 'mode', 'description', 'ip_addresses', 'cable',
            'connection', 'actions',
        )
        row_attrs = {
            'class': lambda record: record.cable.get_status_class() if record.cable else '',
            'data-name': lambda record: record.name,
        }
Exemple #11
0
class DeviceFrontPortTable(FrontPortTable):
    name = tables.TemplateColumn(
        template_code='<i class="mdi mdi-square-rounded{% if not record.cable %}-outline{% endif %}"></i> '
                      '<a href="{{ record.get_absolute_url }}">{{ value }}</a>',
        attrs={'td': {'class': 'text-nowrap'}}
    )
    actions = ButtonsColumn(
        model=FrontPort,
        buttons=('edit', 'delete'),
        prepend_template=FRONTPORT_BUTTONS
    )

    class Meta(DeviceComponentTable.Meta):
        model = FrontPort
        fields = (
            'pk', 'name', 'label', 'type', 'rear_port', 'rear_port_position', 'description', 'cable', 'cable_peer',
            'tags', 'actions',
        )
        default_columns = (
            'pk', 'name', 'label', 'type', 'rear_port', 'rear_port_position', 'description', 'cable', 'cable_peer',
            'actions',
        )
        row_attrs = {
            'class': lambda record: record.cable.get_status_class() if record.cable else ''
        }
Exemple #12
0
class DevicePowerPortTable(PowerPortTable):
    name = tables.TemplateColumn(
        template_code='<i class="mdi mdi-power-plug-outline"></i> <a href="{{ record.get_absolute_url }}">'
                      '{{ value }}</a>',
        attrs={'td': {'class': 'text-nowrap'}}
    )
    actions = ButtonsColumn(
        model=PowerPort,
        buttons=('edit', 'delete'),
        prepend_template=POWERPORT_BUTTONS
    )

    class Meta(DeviceComponentTable.Meta):
        model = PowerPort
        fields = (
            'pk', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'cable', 'cable_peer',
            'connection', 'tags', 'actions',
        )
        default_columns = (
            'pk', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'cable', 'connection',
            'actions',
        )
        row_attrs = {
            'class': lambda record: record.cable.get_status_class() if record.cable else ''
        }
Exemple #13
0
class DeviceRearPortTable(RearPortTable):
    name = tables.TemplateColumn(
        template_code='<i class="mdi mdi-square-rounded{% if not record.cable %}-outline{% endif %}"></i> '
                      '<a href="{{ record.get_absolute_url }}">{{ value }}</a>',
        order_by=Accessor('_name'),
        attrs={'td': {'class': 'text-nowrap'}}
    )
    actions = ButtonsColumn(
        model=RearPort,
        buttons=('edit', 'delete'),
        prepend_template=REARPORT_BUTTONS
    )

    class Meta(DeviceComponentTable.Meta):
        model = RearPort
        fields = (
            'pk', 'id', 'name', 'label', 'type', 'positions', 'description', 'mark_connected', 'cable', 'cable_color',
            'link_peer', 'tags', 'actions',
        )
        default_columns = (
            'pk', 'name', 'label', 'type', 'positions', 'description', 'cable', 'link_peer', 'actions',
        )
        row_attrs = {
            'class': get_cabletermination_row_class
        }
Exemple #14
0
class VLANGroupTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    scope_type = ContentTypeColumn()
    scope = tables.Column(
        linkify=True,
        orderable=False
    )
    vlan_count = LinkedCountColumn(
        viewname='ipam:vlan_list',
        url_params={'group_id': 'pk'},
        verbose_name='VLANs'
    )
    tags = TagColumn(
        url_name='ipam:vlangroup_list'
    )
    actions = ButtonsColumn(
        model=VLANGroup,
        prepend_template=VLANGROUP_ADD_VLAN
    )

    class Meta(BaseTable.Meta):
        model = VLANGroup
        fields = (
            'pk', 'id', 'name', 'scope_type', 'scope', 'vlan_count', 'slug', 'description', 'tags', 'actions',
            'created', 'last_updated',
        )
        default_columns = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'description', 'actions')
Exemple #15
0
class PlatformTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    device_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'platform_id': 'pk'},
                                     verbose_name='Devices')
    vm_count = LinkedCountColumn(viewname='virtualization:virtualmachine_list',
                                 url_params={'platform_id': 'pk'},
                                 verbose_name='VMs')
    actions = ButtonsColumn(Platform)

    class Meta(BaseTable.Meta):
        model = Platform
        fields = (
            'pk',
            'name',
            'manufacturer',
            'device_count',
            'vm_count',
            'slug',
            'napalm_driver',
            'napalm_args',
            'description',
            'actions',
        )
        default_columns = (
            'pk',
            'name',
            'manufacturer',
            'device_count',
            'vm_count',
            'napalm_driver',
            'description',
            'actions',
        )
Exemple #16
0
class LocationTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(
        linkify=True
    )
    site = tables.Column(
        linkify=True
    )
    rack_count = LinkedCountColumn(
        viewname='dcim:rack_list',
        url_params={'location_id': 'pk'},
        verbose_name='Racks'
    )
    device_count = LinkedCountColumn(
        viewname='dcim:device_list',
        url_params={'location_id': 'pk'},
        verbose_name='Devices'
    )
    actions = ButtonsColumn(
        model=Location,
        prepend_template=LOCATION_ELEVATIONS
    )

    class Meta(BaseTable.Meta):
        model = Location
        fields = ('pk', 'name', 'site', 'rack_count', 'device_count', 'description', 'slug', 'actions')
        default_columns = ('pk', 'name', 'site', 'rack_count', 'device_count', 'description', 'actions')
Exemple #17
0
class DeviceRoleTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    device_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'role_id': 'pk'},
                                     verbose_name='Devices')
    vm_count = LinkedCountColumn(viewname='virtualization:virtualmachine_list',
                                 url_params={'role_id': 'pk'},
                                 verbose_name='VMs')
    color = ColorColumn()
    vm_role = BooleanColumn()
    tags = TagColumn(url_name='dcim:devicerole_list')
    actions = ButtonsColumn(DeviceRole)

    class Meta(BaseTable.Meta):
        model = DeviceRole
        fields = (
            'pk',
            'id',
            'name',
            'device_count',
            'vm_count',
            'color',
            'vm_role',
            'description',
            'slug',
            'tags',
            'actions',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color',
                           'vm_role', 'description', 'actions')
Exemple #18
0
class ASNTable(BaseTable):
    pk = ToggleColumn()
    asn = tables.Column(
        linkify=True
    )
    asn_asdot = tables.Column(
        accessor=tables.A('asn_asdot'),
        linkify=True,
        verbose_name='ASDOT'
    )
    site_count = LinkedCountColumn(
        viewname='dcim:site_list',
        url_params={'asn_id': 'pk'},
        verbose_name='Sites'
    )
    tenant = TenantColumn()
    tags = TagColumn(
        url_name='ipam:asn_list'
    )

    actions = ButtonsColumn(ASN)

    class Meta(BaseTable.Meta):
        model = ASN
        fields = (
            'pk', 'asn', 'asn_asdot', 'rir', 'site_count', 'tenant', 'description', 'actions', 'created',
            'last_updated', 'tags',
        )
        default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'description', 'tenant', 'actions')
Exemple #19
0
class PlatformTable(BaseTable):
    pk = ToggleColumn()
    device_count = tables.TemplateColumn(template_code=PLATFORM_DEVICE_COUNT,
                                         verbose_name='Devices')
    vm_count = tables.TemplateColumn(template_code=PLATFORM_VM_COUNT,
                                     verbose_name='VMs')
    actions = ButtonsColumn(Platform, pk_field='slug')

    class Meta(BaseTable.Meta):
        model = Platform
        fields = (
            'pk',
            'name',
            'manufacturer',
            'device_count',
            'vm_count',
            'slug',
            'napalm_driver',
            'napalm_args',
            'description',
            'actions',
        )
        default_columns = (
            'pk',
            'name',
            'manufacturer',
            'device_count',
            'vm_count',
            'napalm_driver',
            'description',
            'actions',
        )
Exemple #20
0
class VLANVirtualMachinesTable(VLANMembersTable):
    virtual_machine = tables.Column(linkify=True)
    actions = ButtonsColumn(VMInterface, buttons=['edit'])

    class Meta(BaseTable.Meta):
        model = VMInterface
        fields = ('virtual_machine', 'name', 'tagged', 'actions')
Exemple #21
0
class DeviceBayTemplateTable(ComponentTemplateTable):
    actions = ButtonsColumn(model=DeviceBayTemplate,
                            buttons=('edit', 'delete'))

    class Meta(BaseTable.Meta):
        model = DeviceBayTemplate
        fields = ('pk', 'name', 'label', 'description', 'actions')
        empty_text = "None"
Exemple #22
0
class ConsoleServerPortTemplateTable(ComponentTemplateTable):
    actions = ButtonsColumn(model=ConsoleServerPortTemplate,
                            buttons=('edit', 'delete'))

    class Meta(ComponentTemplateTable.Meta):
        model = ConsoleServerPortTemplate
        fields = ('pk', 'name', 'label', 'type', 'description', 'actions')
        empty_text = "None"
Exemple #23
0
class PowerPortTemplateTable(ComponentTemplateTable):
    actions = ButtonsColumn(model=PowerPortTemplate,
                            buttons=('edit', 'delete'))

    class Meta(BaseTable.Meta):
        model = PowerPortTemplate
        fields = ('pk', 'name', 'label', 'type', 'maximum_draw',
                  'allocated_draw', 'description', 'actions')
        empty_text = "None"
Exemple #24
0
class TagTable(BaseTable):
    pk = ToggleColumn()
    color = ColorColumn()
    actions = ButtonsColumn(Tag, pk_field='slug')

    class Meta(BaseTable.Meta):
        model = Tag
        fields = ('pk', 'name', 'items', 'slug', 'color', 'description',
                  'actions')
Exemple #25
0
class DeviceBayTemplateTable(ComponentTemplateTable):
    actions = ButtonsColumn(model=DeviceBayTemplate,
                            buttons=('edit', 'delete'),
                            return_url_extra='%23tab_devicebays')

    class Meta(ComponentTemplateTable.Meta):
        model = DeviceBayTemplate
        fields = ('pk', 'name', 'label', 'description', 'actions')
        empty_text = "None"
Exemple #26
0
class RearPortTemplateTable(ComponentTemplateTable):
    color = ColorColumn()
    actions = ButtonsColumn(model=RearPortTemplate, buttons=('edit', 'delete'))

    class Meta(ComponentTemplateTable.Meta):
        model = RearPortTemplate
        fields = ('pk', 'name', 'label', 'type', 'color', 'positions',
                  'description', 'actions')
        empty_text = "None"
Exemple #27
0
class PowerOutletTemplateTable(ComponentTemplateTable):
    actions = ButtonsColumn(model=PowerOutletTemplate,
                            buttons=('edit', 'delete'))

    class Meta(BaseTable.Meta):
        model = PowerOutletTemplate
        fields = ('pk', 'name', 'label', 'type', 'power_port', 'feed_leg',
                  'description', 'actions')
        empty_text = "None"
Exemple #28
0
class ConsoleServerPortTemplateTable(ComponentTemplateTable):
    actions = ButtonsColumn(model=ConsoleServerPortTemplate,
                            buttons=('edit', 'delete'),
                            return_url_extra='%23tab_consoleserverports')

    class Meta(BaseTable.Meta):
        model = ConsoleServerPortTemplate
        fields = ('pk', 'name', 'label', 'type', 'description', 'actions')
        empty_text = "None"
Exemple #29
0
class InterfaceTemplateTable(ComponentTemplateTable):
    mgmt_only = BooleanColumn(verbose_name='Management Only')
    actions = ButtonsColumn(model=InterfaceTemplate,
                            buttons=('edit', 'delete'))

    class Meta(BaseTable.Meta):
        model = InterfaceTemplate
        fields = ('pk', 'name', 'label', 'mgmt_only', 'type', 'description',
                  'actions')
        empty_text = "None"
Exemple #30
0
class FrontPortTemplateTable(ComponentTemplateTable):
    rear_port_position = tables.Column(verbose_name='Position')
    actions = ButtonsColumn(model=FrontPortTemplate,
                            buttons=('edit', 'delete'))

    class Meta(BaseTable.Meta):
        model = FrontPortTemplate
        fields = ('pk', 'name', 'label', 'type', 'rear_port',
                  'rear_port_position', 'description', 'actions')
        empty_text = "None"