|
@@ -3,11 +3,13 @@ from __future__ import unicode_literals
|
|
|
import django_tables2 as tables
|
|
|
from django_tables2.utils import Accessor
|
|
|
|
|
|
+from tenancy.tables import COL_TENANT
|
|
|
from utilities.tables import BaseTable, ToggleColumn
|
|
|
from .models import (
|
|
|
ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
|
|
|
- DeviceBayTemplate, DeviceRole, DeviceType, Interface, InterfaceTemplate, Manufacturer, Platform, PowerOutlet,
|
|
|
- PowerOutletTemplate, PowerPort, PowerPortTemplate, Rack, RackGroup, RackReservation, Region, Site, VirtualChassis
|
|
|
+ DeviceBayTemplate, DeviceRole, DeviceType, Interface, InterfaceTemplate, InventoryItem, Manufacturer, Platform,
|
|
|
+ PowerOutlet, PowerOutletTemplate, PowerPort, PowerPortTemplate, Rack, RackGroup, RackReservation, Region, Site,
|
|
|
+ VirtualChassis,
|
|
|
)
|
|
|
|
|
|
REGION_LINK = """
|
|
@@ -147,7 +149,7 @@ class SiteTable(BaseTable):
|
|
|
name = tables.LinkColumn()
|
|
|
status = tables.TemplateColumn(template_code=STATUS_LABEL, verbose_name='Status')
|
|
|
region = tables.TemplateColumn(template_code=SITE_REGION_LINK)
|
|
|
- tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')])
|
|
|
+ tenant = tables.TemplateColumn(template_code=COL_TENANT)
|
|
|
|
|
|
class Meta(BaseTable.Meta):
|
|
|
model = Site
|
|
@@ -199,7 +201,7 @@ class RackTable(BaseTable):
|
|
|
name = tables.LinkColumn()
|
|
|
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')])
|
|
|
group = tables.Column(accessor=Accessor('group.name'), verbose_name='Group')
|
|
|
- tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')])
|
|
|
+ tenant = tables.TemplateColumn(template_code=COL_TENANT)
|
|
|
role = tables.TemplateColumn(RACK_ROLE)
|
|
|
u_height = tables.TemplateColumn("{{ record.u_height }}U", verbose_name='Height')
|
|
|
|
|
@@ -223,7 +225,7 @@ class RackImportTable(BaseTable):
|
|
|
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')], verbose_name='Site')
|
|
|
group = tables.Column(accessor=Accessor('group.name'), verbose_name='Group')
|
|
|
facility_id = tables.Column(verbose_name='Facility ID')
|
|
|
- tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')], verbose_name='Tenant')
|
|
|
+ tenant = tables.TemplateColumn(template_code=COL_TENANT)
|
|
|
u_height = tables.Column(verbose_name='Height (U)')
|
|
|
|
|
|
class Meta(BaseTable.Meta):
|
|
@@ -396,7 +398,7 @@ class DeviceTable(BaseTable):
|
|
|
pk = ToggleColumn()
|
|
|
name = tables.TemplateColumn(template_code=DEVICE_LINK)
|
|
|
status = tables.TemplateColumn(template_code=STATUS_LABEL, verbose_name='Status')
|
|
|
- tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')])
|
|
|
+ tenant = tables.TemplateColumn(template_code=COL_TENANT)
|
|
|
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')])
|
|
|
rack = tables.LinkColumn('dcim:rack', args=[Accessor('rack.pk')])
|
|
|
device_role = tables.TemplateColumn(DEVICE_ROLE, verbose_name='Role')
|
|
@@ -423,7 +425,7 @@ class DeviceDetailTable(DeviceTable):
|
|
|
class DeviceImportTable(BaseTable):
|
|
|
name = tables.TemplateColumn(template_code=DEVICE_LINK, verbose_name='Name')
|
|
|
status = tables.TemplateColumn(template_code=STATUS_LABEL, verbose_name='Status')
|
|
|
- tenant = tables.LinkColumn('tenancy:tenant', args=[Accessor('tenant.slug')], verbose_name='Tenant')
|
|
|
+ tenant = tables.TemplateColumn(template_code=COL_TENANT)
|
|
|
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')], verbose_name='Site')
|
|
|
rack = tables.LinkColumn('dcim:rack', args=[Accessor('rack.pk')], verbose_name='Rack')
|
|
|
position = tables.Column(verbose_name='Position')
|
|
@@ -524,6 +526,20 @@ class InterfaceConnectionTable(BaseTable):
|
|
|
|
|
|
|
|
|
#
|
|
|
+# InventoryItems
|
|
|
+#
|
|
|
+
|
|
|
+class InventoryItemTable(BaseTable):
|
|
|
+ pk = ToggleColumn()
|
|
|
+ device = tables.LinkColumn('dcim:device_inventory', args=[Accessor('device.pk')])
|
|
|
+ manufacturer = tables.Column(accessor=Accessor('manufacturer.name'), verbose_name='Manufacturer')
|
|
|
+
|
|
|
+ class Meta(BaseTable.Meta):
|
|
|
+ model = InventoryItem
|
|
|
+ fields = ('pk', 'device', 'name', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description')
|
|
|
+
|
|
|
+
|
|
|
+#
|
|
|
# Virtual chassis
|
|
|
#
|
|
|
|