예제 #1
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')
    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',
            'vlan_count',
            'description',
            'weight',
            'tags',
            'actions',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'prefix_count', 'vlan_count',
                           'description', 'actions')
예제 #2
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',
        )
예제 #3
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')
예제 #4
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')
예제 #5
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')
예제 #6
0
class SiteTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        linkify=True
    )
    status = ChoiceFieldColumn()
    region = tables.Column(
        linkify=True
    )
    group = tables.Column(
        linkify=True
    )
    asn_count = LinkedCountColumn(
        accessor=tables.A('asns.count'),
        viewname='ipam:asn_list',
        url_params={'site_id': 'pk'},
        verbose_name='ASNs'
    )
    tenant = TenantColumn()
    comments = MarkdownColumn()
    tags = TagColumn(
        url_name='dcim:site_list'
    )

    class Meta(BaseTable.Meta):
        model = Site
        fields = (
            'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asn_count', 'time_zone',
            'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'contact_name',
            'contact_phone', 'contact_email', 'comments', 'tags', 'created', 'last_updated',
        )
        default_columns = ('pk', 'name', 'status', 'facility', 'region', 'group', 'tenant', 'description')
예제 #7
0
class RoleTable(BaseTable):
    pk = ToggleColumn()
    prefix_count = LinkedCountColumn(viewname='ipam:prefix_list',
                                     url_params={'role': 'slug'},
                                     verbose_name='Prefixes')
    vlan_count = LinkedCountColumn(viewname='ipam:vlan_list',
                                   url_params={'role': 'slug'},
                                   verbose_name='VLANs')
    actions = ButtonsColumn(Role, pk_field='slug')

    class Meta(BaseTable.Meta):
        model = Role
        fields = ('pk', 'name', 'slug', 'prefix_count', 'vlan_count',
                  'description', 'weight', 'actions')
        default_columns = ('pk', 'name', 'prefix_count', 'vlan_count',
                           'description', 'actions')
예제 #8
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')
예제 #9
0
class DeviceTypeTable(BaseTable):
    pk = ToggleColumn()
    model = tables.Column(
        linkify=True,
        verbose_name='Device Type'
    )
    manufacturer = tables.Column(
        linkify=True
    )
    is_full_depth = BooleanColumn(
        verbose_name='Full Depth'
    )
    instance_count = LinkedCountColumn(
        viewname='dcim:device_list',
        url_params={'device_type_id': 'pk'},
        verbose_name='Instances'
    )
    comments = MarkdownColumn()
    tags = TagColumn(
        url_name='dcim:devicetype_list'
    )

    class Meta(BaseTable.Meta):
        model = DeviceType
        fields = (
            'pk', 'id', 'model', 'manufacturer', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role',
            'airflow', 'comments', 'instance_count', 'tags', 'created', 'last_updated',
        )
        default_columns = (
            'pk', 'model', 'manufacturer', 'part_number', 'u_height', 'is_full_depth', 'instance_count',
        )
예제 #10
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')
예제 #11
0
파일: devices.py 프로젝트: DanSheps/netbox
class DeviceRoleTable(BaseTable):
    pk = ToggleColumn()
    device_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'role': 'slug'},
                                     verbose_name='Devices')
    vm_count = LinkedCountColumn(viewname='virtualization:virtualmachine_list',
                                 url_params={'role': 'slug'},
                                 verbose_name='VMs')
    color = ColorColumn()
    vm_role = BooleanColumn()
    actions = ButtonsColumn(DeviceRole, pk_field='slug')

    class Meta(BaseTable.Meta):
        model = DeviceRole
        fields = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role',
                  'description', 'slug', 'actions')
        default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color',
                           'vm_role', 'description', 'actions')
예제 #12
0
class RackTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        order_by=('_name',),
        linkify=True
    )
    location = tables.Column(
        linkify=True
    )
    site = tables.Column(
        linkify=True
    )
    tenant = TenantColumn()
    status = ChoiceFieldColumn()
    role = ColoredLabelColumn()
    u_height = tables.TemplateColumn(
        template_code="{{ record.u_height }}U",
        verbose_name='Height'
    )
    comments = MarkdownColumn()
    device_count = LinkedCountColumn(
        viewname='dcim:device_list',
        url_params={'rack_id': 'pk'},
        verbose_name='Devices'
    )
    get_utilization = UtilizationColumn(
        orderable=False,
        verbose_name='Space'
    )
    get_power_utilization = UtilizationColumn(
        orderable=False,
        verbose_name='Power'
    )
    tags = TagColumn(
        url_name='dcim:rack_list'
    )
    outer_width = tables.TemplateColumn(
        template_code="{{ record.outer_width }} {{ record.outer_unit }}",
        verbose_name='Outer Width'
    )
    outer_depth = tables.TemplateColumn(
        template_code="{{ record.outer_depth }} {{ record.outer_unit }}",
        verbose_name='Outer Depth'
    )

    class Meta(BaseTable.Meta):
        model = Rack
        fields = (
            'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag',
            'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'comments', 'device_count', 'get_utilization',
            'get_power_utilization', 'tags', 'created', 'last_updated',
        )
        default_columns = (
            'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height', 'device_count',
            'get_utilization',
        )
예제 #13
0
파일: tables.py 프로젝트: zhyh329/netbox
class ClusterTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    tenant = tables.Column(linkify=True)
    site = tables.Column(linkify=True)
    device_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'cluster_id': 'pk'},
                                     verbose_name='Devices')
    vm_count = LinkedCountColumn(viewname='virtualization:virtualmachine_list',
                                 url_params={'cluster_id': 'pk'},
                                 verbose_name='VMs')
    tags = TagColumn(url_name='virtualization:cluster_list')

    class Meta(BaseTable.Meta):
        model = Cluster
        fields = ('pk', 'name', 'type', 'group', 'tenant', 'site',
                  'device_count', 'vm_count', 'tags')
        default_columns = ('pk', 'name', 'type', 'group', 'tenant', 'site',
                           'device_count', 'vm_count')
예제 #14
0
파일: power.py 프로젝트: zhyh329/netbox
class PowerPanelTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    site = tables.Column(linkify=True)
    powerfeed_count = LinkedCountColumn(viewname='dcim:powerfeed_list',
                                        url_params={'power_panel_id': 'pk'},
                                        verbose_name='Feeds')
    tags = TagColumn(url_name='dcim:powerpanel_list')

    class Meta(BaseTable.Meta):
        model = PowerPanel
        fields = ('pk', 'name', 'site', 'location', 'powerfeed_count', 'tags')
        default_columns = ('pk', 'name', 'site', 'location', 'powerfeed_count')
예제 #15
0
class VirtualChassisTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    master = tables.Column(linkify=True)
    member_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'virtual_chassis_id': 'pk'},
                                     verbose_name='Members')
    tags = TagColumn(url_name='dcim:virtualchassis_list')

    class Meta(BaseTable.Meta):
        model = VirtualChassis
        fields = ('pk', 'name', 'domain', 'master', 'member_count', 'tags')
        default_columns = ('pk', 'name', 'domain', 'master', 'member_count')
예제 #16
0
class SiteGroupTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(linkify=True)
    site_count = LinkedCountColumn(viewname='dcim:site_list',
                                   url_params={'group_id': 'pk'},
                                   verbose_name='Sites')
    actions = ButtonsColumn(SiteGroup)

    class Meta(BaseTable.Meta):
        model = SiteGroup
        fields = ('pk', 'name', 'slug', 'site_count', 'description', 'actions')
        default_columns = ('pk', 'name', 'site_count', 'description',
                           'actions')
예제 #17
0
class SecretRoleTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    secret_count = LinkedCountColumn(viewname='secrets:secret_list',
                                     url_params={'role_id': 'pk'},
                                     verbose_name='Secrets')
    actions = ButtonsColumn(SecretRole)

    class Meta(BaseTable.Meta):
        model = SecretRole
        fields = ('pk', 'name', 'secret_count', 'description', 'slug',
                  'actions')
        default_columns = ('pk', 'name', 'secret_count', 'description',
                           'actions')
예제 #18
0
파일: tables.py 프로젝트: DanSheps/netbox
class TenantGroupTable(BaseTable):
    pk = ToggleColumn()
    name = tables.TemplateColumn(template_code=MPTT_LINK, orderable=False)
    tenant_count = LinkedCountColumn(viewname='tenancy:tenant_list',
                                     url_params={'group': 'slug'},
                                     verbose_name='Tenants')
    actions = ButtonsColumn(TenantGroup, pk_field='slug')

    class Meta(BaseTable.Meta):
        model = TenantGroup
        fields = ('pk', 'name', 'tenant_count', 'description', 'slug',
                  'actions')
        default_columns = ('pk', 'name', 'tenant_count', 'description',
                           'actions')
예제 #19
0
파일: tables.py 프로젝트: nkeulen/netbox
class PrefixTable(BaseTable):
    pk = ToggleColumn()
    prefix = tables.TemplateColumn(template_code=PREFIX_LINK,
                                   attrs={'td': {
                                       'class': 'text-nowrap'
                                   }})
    prefix_flat = tables.Column(accessor=Accessor('prefix'),
                                linkify=True,
                                verbose_name='Prefix (Flat)')
    depth = tables.Column(accessor=Accessor('_depth'), verbose_name='Depth')
    children = LinkedCountColumn(accessor=Accessor('_children'),
                                 viewname='ipam:prefix_list',
                                 url_params={
                                     'vrf_id': 'vrf_id',
                                     'within': 'prefix',
                                 },
                                 verbose_name='Children')
    status = ChoiceFieldColumn(default=AVAILABLE_LABEL)
    vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF')
    tenant = TenantColumn()
    site = tables.Column(linkify=True)
    vlan = tables.Column(linkify=True, verbose_name='VLAN')
    role = tables.TemplateColumn(template_code=PREFIX_ROLE_LINK)
    is_pool = BooleanColumn(verbose_name='Pool')
    mark_utilized = BooleanColumn(verbose_name='Marked Utilized')

    class Meta(BaseTable.Meta):
        model = Prefix
        fields = (
            'pk',
            'prefix',
            'prefix_flat',
            'status',
            'depth',
            'children',
            'vrf',
            'tenant',
            'site',
            'vlan',
            'role',
            'is_pool',
            'mark_utilized',
            'description',
        )
        default_columns = ('pk', 'prefix', 'status', 'vrf', 'tenant', 'site',
                           'vlan', 'role', 'description')
        row_attrs = {
            'class': lambda record: 'success' if not record.pk else '',
        }
예제 #20
0
class RIRTable(BaseTable):
    pk = ToggleColumn()
    name = tables.LinkColumn()
    is_private = BooleanColumn(verbose_name='Private')
    aggregate_count = LinkedCountColumn(viewname='ipam:aggregate_list',
                                        url_params={'rir': 'slug'},
                                        verbose_name='Aggregates')
    actions = ButtonsColumn(RIR, pk_field='slug')

    class Meta(BaseTable.Meta):
        model = RIR
        fields = ('pk', 'name', 'slug', 'is_private', 'aggregate_count',
                  'description', 'actions')
        default_columns = ('pk', 'name', 'is_private', 'aggregate_count',
                           'description', 'actions')
예제 #21
0
파일: sites.py 프로젝트: minitriga/netbox
class RegionTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(linkify=True)
    site_count = LinkedCountColumn(viewname='dcim:site_list',
                                   url_params={'region_id': 'pk'},
                                   verbose_name='Sites')
    tags = TagColumn(url_name='dcim:region_list')
    actions = ButtonsColumn(Region)

    class Meta(BaseTable.Meta):
        model = Region
        fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description',
                  'tags', 'actions', 'created', 'last_updated')
        default_columns = ('pk', 'name', 'site_count', 'description',
                           'actions')
예제 #22
0
class PowerPanelTable(BaseTable):
    pk = ToggleColumn()
    name = tables.LinkColumn()
    site = tables.LinkColumn(viewname='dcim:site',
                             args=[Accessor('site__slug')])
    powerfeed_count = LinkedCountColumn(viewname='dcim:powerfeed_list',
                                        url_params={'power_panel_id': 'pk'},
                                        verbose_name='Feeds')
    tags = TagColumn(url_name='dcim:powerpanel_list')

    class Meta(BaseTable.Meta):
        model = PowerPanel
        fields = ('pk', 'name', 'site', 'rack_group', 'powerfeed_count',
                  'tags')
        default_columns = ('pk', 'name', 'site', 'rack_group',
                           'powerfeed_count')
예제 #23
0
class VLANGroupTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    site = tables.LinkColumn(viewname='dcim:site',
                             args=[Accessor('site__slug')])
    vlan_count = LinkedCountColumn(viewname='ipam:vlan_list',
                                   url_params={'group': 'slug'},
                                   verbose_name='VLANs')
    actions = ButtonsColumn(model=VLANGroup,
                            prepend_template=VLANGROUP_ADD_VLAN)

    class Meta(BaseTable.Meta):
        model = VLANGroup
        fields = ('pk', 'name', 'site', 'vlan_count', 'slug', 'description',
                  'actions')
        default_columns = ('pk', 'name', 'site', 'vlan_count', 'description',
                           'actions')
예제 #24
0
파일: racks.py 프로젝트: DanSheps/netbox
class RackDetailTable(RackTable):
    device_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'rack_id': 'pk'},
                                     verbose_name='Devices')
    get_utilization = tables.TemplateColumn(template_code=UTILIZATION_GRAPH,
                                            orderable=False,
                                            verbose_name='Space')
    get_power_utilization = tables.TemplateColumn(
        template_code=UTILIZATION_GRAPH, orderable=False, verbose_name='Power')
    tags = TagColumn(url_name='dcim:rack_list')

    class Meta(RackTable.Meta):
        fields = (
            'pk',
            'name',
            'site',
            'group',
            'status',
            'facility_id',
            'tenant',
            'role',
            'serial',
            'asset_tag',
            'type',
            'width',
            'u_height',
            'device_count',
            'get_utilization',
            'get_power_utilization',
            'tags',
        )
        default_columns = (
            'pk',
            'name',
            'site',
            'group',
            'status',
            'facility_id',
            'tenant',
            'role',
            'u_height',
            'device_count',
            'get_utilization',
            'get_power_utilization',
        )
예제 #25
0
class WirelessLANGroupTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(
        linkify=True
    )
    wirelesslan_count = LinkedCountColumn(
        viewname='wireless:wirelesslan_list',
        url_params={'group_id': 'pk'},
        verbose_name='Wireless LANs'
    )
    tags = TagColumn(
        url_name='wireless:wirelesslangroup_list'
    )
    actions = ButtonsColumn(WirelessLANGroup)

    class Meta(BaseTable.Meta):
        model = WirelessLANGroup
        fields = (
            'pk', 'name', 'wirelesslan_count', 'description', 'slug', 'tags', 'actions', 'created', 'last_updated',
        )
        default_columns = ('pk', 'name', 'wirelesslan_count', 'description', 'actions')