mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-20 19:19:22 -06:00
Always include actions as a default column
This commit is contained in:
parent
00a8fd654e
commit
6d48ce4a25
@ -2,7 +2,7 @@ import django_tables2 as tables
|
|||||||
from django_tables2.utils import Accessor
|
from django_tables2.utils import Accessor
|
||||||
|
|
||||||
from tenancy.tables import TenantColumn
|
from tenancy.tables import TenantColumn
|
||||||
from utilities.tables import ActionsColumn, BaseTable, ChoiceFieldColumn, MarkdownColumn, TagColumn, ToggleColumn
|
from utilities.tables import BaseTable, ChoiceFieldColumn, MarkdownColumn, TagColumn, ToggleColumn
|
||||||
from .models import *
|
from .models import *
|
||||||
|
|
||||||
|
|
||||||
@ -88,12 +88,11 @@ class CircuitTypeTable(BaseTable):
|
|||||||
circuit_count = tables.Column(
|
circuit_count = tables.Column(
|
||||||
verbose_name='Circuits'
|
verbose_name='Circuits'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = CircuitType
|
model = CircuitType
|
||||||
fields = ('pk', 'id', 'name', 'circuit_count', 'description', 'slug', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'circuit_count', 'description', 'slug', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug', 'actions')
|
default_columns = ('pk', 'name', 'circuit_count', 'description', 'slug')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -94,7 +94,6 @@ class DeviceRoleTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:devicerole_list'
|
url_name='dcim:devicerole_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = DeviceRole
|
model = DeviceRole
|
||||||
@ -102,7 +101,7 @@ class DeviceRoleTable(BaseTable):
|
|||||||
'pk', 'id', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'slug', 'tags',
|
'pk', 'id', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'slug', 'tags',
|
||||||
'actions',
|
'actions',
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'actions')
|
default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -127,7 +126,6 @@ class PlatformTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:platform_list'
|
url_name='dcim:platform_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Platform
|
model = Platform
|
||||||
@ -136,7 +134,7 @@ class PlatformTable(BaseTable):
|
|||||||
'description', 'tags', 'actions',
|
'description', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'manufacturer', 'device_count', 'vm_count', 'napalm_driver', 'description', 'actions',
|
'pk', 'name', 'manufacturer', 'device_count', 'vm_count', 'napalm_driver', 'description',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -336,7 +334,7 @@ class DeviceConsolePortTable(ConsolePortTable):
|
|||||||
'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected',
|
'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected',
|
||||||
'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions'
|
'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions'
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection', 'actions')
|
default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection')
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_cabletermination_row_class
|
'class': get_cabletermination_row_class
|
||||||
}
|
}
|
||||||
@ -381,7 +379,7 @@ class DeviceConsoleServerPortTable(ConsoleServerPortTable):
|
|||||||
'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected',
|
'pk', 'id', 'name', 'module_bay', 'module', 'label', 'type', 'speed', 'description', 'mark_connected',
|
||||||
'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions',
|
'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection', 'actions')
|
default_columns = ('pk', 'name', 'label', 'type', 'speed', 'description', 'cable', 'connection')
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_cabletermination_row_class
|
'class': get_cabletermination_row_class
|
||||||
}
|
}
|
||||||
@ -428,7 +426,6 @@ class DevicePowerPortTable(PowerPortTable):
|
|||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'cable', 'connection',
|
'pk', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'cable', 'connection',
|
||||||
'actions',
|
|
||||||
)
|
)
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_cabletermination_row_class
|
'class': get_cabletermination_row_class
|
||||||
@ -477,7 +474,7 @@ class DevicePowerOutletTable(PowerOutletTable):
|
|||||||
'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions',
|
'mark_connected', 'cable', 'cable_color', 'link_peer', 'connection', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description', 'cable', 'connection', 'actions',
|
'pk', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description', 'cable', 'connection',
|
||||||
)
|
)
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_cabletermination_row_class
|
'class': get_cabletermination_row_class
|
||||||
@ -572,7 +569,7 @@ class DeviceInterfaceTable(InterfaceTable):
|
|||||||
order_by = ('name',)
|
order_by = ('name',)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'label', 'enabled', 'type', 'parent', 'lag', 'mtu', 'mode', 'description', 'ip_addresses',
|
'pk', 'name', 'label', 'enabled', 'type', 'parent', 'lag', 'mtu', 'mode', 'description', 'ip_addresses',
|
||||||
'cable', 'connection', 'actions',
|
'cable', 'connection',
|
||||||
)
|
)
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_interface_row_class,
|
'class': get_interface_row_class,
|
||||||
@ -631,7 +628,6 @@ class DeviceFrontPortTable(FrontPortTable):
|
|||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'label', 'type', 'rear_port', 'rear_port_position', 'description', 'cable', 'link_peer',
|
'pk', 'name', 'label', 'type', 'rear_port', 'rear_port_position', 'description', 'cable', 'link_peer',
|
||||||
'actions',
|
|
||||||
)
|
)
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_cabletermination_row_class
|
'class': get_cabletermination_row_class
|
||||||
@ -679,7 +675,7 @@ class DeviceRearPortTable(RearPortTable):
|
|||||||
'cable', 'cable_color', 'link_peer', 'tags', 'actions',
|
'cable', 'cable_color', 'link_peer', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'label', 'type', 'positions', 'description', 'cable', 'link_peer', 'actions',
|
'pk', 'name', 'label', 'type', 'positions', 'description', 'cable', 'link_peer',
|
||||||
)
|
)
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'class': get_cabletermination_row_class
|
'class': get_cabletermination_row_class
|
||||||
@ -728,9 +724,7 @@ class DeviceDeviceBayTable(DeviceBayTable):
|
|||||||
fields = (
|
fields = (
|
||||||
'pk', 'id', 'name', 'label', 'status', 'installed_device', 'description', 'tags', 'actions',
|
'pk', 'id', 'name', 'label', 'status', 'installed_device', 'description', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = ('pk', 'name', 'label', 'status', 'installed_device', 'description')
|
||||||
'pk', 'name', 'label', 'status', 'installed_device', 'description', 'actions',
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class ModuleBayTable(DeviceComponentTable):
|
class ModuleBayTable(DeviceComponentTable):
|
||||||
@ -764,7 +758,7 @@ class DeviceModuleBayTable(ModuleBayTable):
|
|||||||
class Meta(DeviceComponentTable.Meta):
|
class Meta(DeviceComponentTable.Meta):
|
||||||
model = ModuleBay
|
model = ModuleBay
|
||||||
fields = ('pk', 'id', 'name', 'label', 'description', 'installed_module', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'label', 'description', 'installed_module', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'label', 'description', 'installed_module', 'actions')
|
default_columns = ('pk', 'name', 'label', 'description', 'installed_module')
|
||||||
|
|
||||||
|
|
||||||
class InventoryItemTable(DeviceComponentTable):
|
class InventoryItemTable(DeviceComponentTable):
|
||||||
@ -821,7 +815,7 @@ class DeviceInventoryItemTable(InventoryItemTable):
|
|||||||
'description', 'discovered', 'tags', 'actions',
|
'description', 'discovered', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'component', 'actions',
|
'pk', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'component',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -839,14 +833,13 @@ class InventoryItemRoleTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:inventoryitemrole_list'
|
url_name='dcim:inventoryitemrole_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = InventoryItemRole
|
model = InventoryItemRole
|
||||||
fields = (
|
fields = (
|
||||||
'pk', 'id', 'name', 'inventoryitem_count', 'color', 'description', 'slug', 'tags', 'actions',
|
'pk', 'id', 'name', 'inventoryitem_count', 'color', 'description', 'slug', 'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'inventoryitem_count', 'color', 'description', 'actions')
|
default_columns = ('pk', 'name', 'inventoryitem_count', 'color', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -49,7 +49,6 @@ class ManufacturerTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:manufacturer_list'
|
url_name='dcim:manufacturer_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Manufacturer
|
model = Manufacturer
|
||||||
@ -58,7 +57,7 @@ class ManufacturerTable(BaseTable):
|
|||||||
'actions',
|
'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug', 'actions',
|
'pk', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@ from django_tables2.utils import Accessor
|
|||||||
from dcim.models import Rack, RackReservation, RackRole
|
from dcim.models import Rack, RackReservation, RackRole
|
||||||
from tenancy.tables import TenantColumn
|
from tenancy.tables import TenantColumn
|
||||||
from utilities.tables import (
|
from utilities.tables import (
|
||||||
ActionsColumn, BaseTable, ChoiceFieldColumn, ColorColumn, ColoredLabelColumn, LinkedCountColumn, MarkdownColumn,
|
BaseTable, ChoiceFieldColumn, ColorColumn, ColoredLabelColumn, LinkedCountColumn, MarkdownColumn, TagColumn,
|
||||||
TagColumn, ToggleColumn, UtilizationColumn,
|
ToggleColumn, UtilizationColumn,
|
||||||
)
|
)
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
@ -27,12 +27,11 @@ class RackRoleTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:rackrole_list'
|
url_name='dcim:rackrole_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = RackRole
|
model = RackRole
|
||||||
fields = ('pk', 'id', 'name', 'rack_count', 'color', 'description', 'slug', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'rack_count', 'color', 'description', 'slug', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'rack_count', 'color', 'description', 'actions')
|
default_columns = ('pk', 'name', 'rack_count', 'color', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -121,7 +120,6 @@ class RackReservationTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:rackreservation_list'
|
url_name='dcim:rackreservation_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = RackReservation
|
model = RackReservation
|
||||||
@ -129,6 +127,4 @@ class RackReservationTable(BaseTable):
|
|||||||
'pk', 'id', 'reservation', 'site', 'rack', 'unit_list', 'user', 'created', 'tenant', 'description', 'tags',
|
'pk', 'id', 'reservation', 'site', 'rack', 'unit_list', 'user', 'created', 'tenant', 'description', 'tags',
|
||||||
'actions',
|
'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = ('pk', 'reservation', 'site', 'rack', 'unit_list', 'user', 'description')
|
||||||
'pk', 'reservation', 'site', 'rack', 'unit_list', 'user', 'description', 'actions',
|
|
||||||
)
|
|
||||||
|
@ -3,8 +3,7 @@ import django_tables2 as tables
|
|||||||
from dcim.models import Location, Region, Site, SiteGroup
|
from dcim.models import Location, Region, Site, SiteGroup
|
||||||
from tenancy.tables import TenantColumn
|
from tenancy.tables import TenantColumn
|
||||||
from utilities.tables import (
|
from utilities.tables import (
|
||||||
ActionsColumn, BaseTable, ButtonsColumn, ChoiceFieldColumn, LinkedCountColumn, MarkdownColumn, MPTTColumn,
|
BaseTable, ButtonsColumn, ChoiceFieldColumn, LinkedCountColumn, MarkdownColumn, MPTTColumn, TagColumn, ToggleColumn,
|
||||||
TagColumn, ToggleColumn,
|
|
||||||
)
|
)
|
||||||
from .template_code import LOCATION_ELEVATIONS
|
from .template_code import LOCATION_ELEVATIONS
|
||||||
|
|
||||||
@ -33,12 +32,11 @@ class RegionTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:region_list'
|
url_name='dcim:region_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Region
|
model = Region
|
||||||
fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'site_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'site_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -58,12 +56,11 @@ class SiteGroupTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='dcim:sitegroup_list'
|
url_name='dcim:sitegroup_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = SiteGroup
|
model = SiteGroup
|
||||||
fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'site_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'site_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -99,6 +96,7 @@ class SiteTable(BaseTable):
|
|||||||
fields = (
|
fields = (
|
||||||
'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asn_count', 'time_zone',
|
'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asn_count', 'time_zone',
|
||||||
'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'comments', 'tags',
|
'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'comments', 'tags',
|
||||||
|
'actions',
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'status', 'facility', 'region', 'group', 'tenant', 'description')
|
default_columns = ('pk', 'name', 'status', 'facility', 'region', 'group', 'tenant', 'description')
|
||||||
|
|
||||||
@ -140,4 +138,4 @@ class LocationTable(BaseTable):
|
|||||||
'pk', 'id', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description', 'slug', 'tags',
|
'pk', 'id', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description', 'slug', 'tags',
|
||||||
'actions',
|
'actions',
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'site', 'tenant', 'rack_count', 'device_count', 'description')
|
||||||
|
@ -152,12 +152,11 @@ class TagTable(BaseTable):
|
|||||||
linkify=True
|
linkify=True
|
||||||
)
|
)
|
||||||
color = ColorColumn()
|
color = ColorColumn()
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Tag
|
model = Tag
|
||||||
fields = ('pk', 'id', 'name', 'items', 'slug', 'color', 'description', 'actions')
|
fields = ('pk', 'id', 'name', 'items', 'slug', 'color', 'description', 'actions')
|
||||||
default_columns = ('pk', 'name', 'items', 'slug', 'color', 'description', 'actions')
|
default_columns = ('pk', 'name', 'items', 'slug', 'color', 'description')
|
||||||
|
|
||||||
|
|
||||||
class TaggedItemTable(BaseTable):
|
class TaggedItemTable(BaseTable):
|
||||||
@ -215,6 +214,7 @@ class ObjectChangeTable(BaseTable):
|
|||||||
template_code=OBJECTCHANGE_REQUEST_ID,
|
template_code=OBJECTCHANGE_REQUEST_ID,
|
||||||
verbose_name='Request ID'
|
verbose_name='Request ID'
|
||||||
)
|
)
|
||||||
|
actions = ActionsColumn(actions=())
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ObjectChange
|
model = ObjectChange
|
||||||
@ -233,7 +233,6 @@ class ObjectJournalTable(BaseTable):
|
|||||||
comments = tables.TemplateColumn(
|
comments = tables.TemplateColumn(
|
||||||
template_code='{% load helpers %}{{ value|render_markdown|truncatewords_html:50 }}'
|
template_code='{% load helpers %}{{ value|render_markdown|truncatewords_html:50 }}'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = JournalEntry
|
model = JournalEntry
|
||||||
@ -259,6 +258,5 @@ class JournalEntryTable(ObjectJournalTable):
|
|||||||
'comments', 'actions'
|
'comments', 'actions'
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind',
|
'pk', 'created', 'created_by', 'assigned_object_type', 'assigned_object', 'kind', 'comments'
|
||||||
'comments', 'actions'
|
|
||||||
)
|
)
|
||||||
|
@ -2,12 +2,11 @@ import django_tables2 as tables
|
|||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django_tables2.utils import Accessor
|
from django_tables2.utils import Accessor
|
||||||
|
|
||||||
|
from ipam.models import *
|
||||||
from tenancy.tables import TenantColumn
|
from tenancy.tables import TenantColumn
|
||||||
from utilities.tables import (
|
from utilities.tables import (
|
||||||
ActionsColumn, BaseTable, BooleanColumn, ChoiceFieldColumn, LinkedCountColumn, TagColumn, ToggleColumn,
|
BaseTable, BooleanColumn, ChoiceFieldColumn, LinkedCountColumn, TagColumn, ToggleColumn, UtilizationColumn,
|
||||||
UtilizationColumn,
|
|
||||||
)
|
)
|
||||||
from ipam.models import *
|
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'AggregateTable',
|
'AggregateTable',
|
||||||
@ -89,12 +88,11 @@ class RIRTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='ipam:rir_list'
|
url_name='ipam:rir_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = RIR
|
model = RIR
|
||||||
fields = ('pk', 'id', 'name', 'slug', 'is_private', 'aggregate_count', 'description', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'slug', 'is_private', 'aggregate_count', 'description', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'is_private', 'aggregate_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'is_private', 'aggregate_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -111,12 +109,11 @@ class ASNTable(BaseTable):
|
|||||||
url_params={'asn_id': 'pk'},
|
url_params={'asn_id': 'pk'},
|
||||||
verbose_name='Sites'
|
verbose_name='Sites'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ASN
|
model = ASN
|
||||||
fields = ('pk', 'asn', 'rir', 'site_count', 'tenant', 'description', 'actions')
|
fields = ('pk', 'asn', 'rir', 'site_count', 'tenant', 'description', 'actions')
|
||||||
default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'tenant', 'actions')
|
default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'tenant')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -173,12 +170,11 @@ class RoleTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='ipam:role_list'
|
url_name='ipam:role_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = Role
|
model = Role
|
||||||
fields = ('pk', 'id', 'name', 'slug', 'prefix_count', 'vlan_count', 'description', 'weight', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'slug', 'prefix_count', 'vlan_count', 'description', 'weight', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'prefix_count', 'vlan_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'prefix_count', 'vlan_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -405,7 +401,6 @@ class AssignedIPAddressesTable(BaseTable):
|
|||||||
)
|
)
|
||||||
status = ChoiceFieldColumn()
|
status = ChoiceFieldColumn()
|
||||||
tenant = TenantColumn()
|
tenant = TenantColumn()
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = IPAddress
|
model = IPAddress
|
||||||
|
@ -88,7 +88,7 @@ class VLANGroupTable(BaseTable):
|
|||||||
'pk', 'id', 'name', 'scope_type', 'scope', 'min_vid', 'max_vid', 'vlan_count', 'slug', 'description',
|
'pk', 'id', 'name', 'scope_type', 'scope', 'min_vid', 'max_vid', 'vlan_count', 'slug', 'description',
|
||||||
'tags', 'actions',
|
'tags', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -59,12 +59,11 @@ class TenantGroupTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='tenancy:tenantgroup_list'
|
url_name='tenancy:tenantgroup_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = TenantGroup
|
model = TenantGroup
|
||||||
fields = ('pk', 'id', 'name', 'tenant_count', 'description', 'slug', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'tenant_count', 'description', 'slug', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'tenant_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'tenant_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
class TenantTable(BaseTable):
|
class TenantTable(BaseTable):
|
||||||
@ -103,12 +102,11 @@ class ContactGroupTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='tenancy:contactgroup_list'
|
url_name='tenancy:contactgroup_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ContactGroup
|
model = ContactGroup
|
||||||
fields = ('pk', 'name', 'contact_count', 'description', 'slug', 'tags', 'actions')
|
fields = ('pk', 'name', 'contact_count', 'description', 'slug', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'contact_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'contact_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
class ContactRoleTable(BaseTable):
|
class ContactRoleTable(BaseTable):
|
||||||
@ -116,12 +114,11 @@ class ContactRoleTable(BaseTable):
|
|||||||
name = tables.Column(
|
name = tables.Column(
|
||||||
linkify=True
|
linkify=True
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ContactRole
|
model = ContactRole
|
||||||
fields = ('pk', 'name', 'description', 'slug', 'actions')
|
fields = ('pk', 'name', 'description', 'slug', 'actions')
|
||||||
default_columns = ('pk', 'name', 'description', 'actions')
|
default_columns = ('pk', 'name', 'description')
|
||||||
|
|
||||||
|
|
||||||
class ContactTable(BaseTable):
|
class ContactTable(BaseTable):
|
||||||
@ -171,4 +168,4 @@ class ContactAssignmentTable(BaseTable):
|
|||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ContactAssignment
|
model = ContactAssignment
|
||||||
fields = ('pk', 'content_type', 'object', 'contact', 'role', 'priority', 'actions')
|
fields = ('pk', 'content_type', 'object', 'contact', 'role', 'priority', 'actions')
|
||||||
default_columns = ('pk', 'content_type', 'object', 'contact', 'role', 'priority', 'actions')
|
default_columns = ('pk', 'content_type', 'object', 'contact', 'role', 'priority')
|
||||||
|
@ -114,7 +114,8 @@ class ActionsColumn(tables.Column):
|
|||||||
return ''
|
return ''
|
||||||
|
|
||||||
def render(self, record, table, **kwargs):
|
def render(self, record, table, **kwargs):
|
||||||
if not self.actions:
|
# Skip dummy records (e.g. available VLANs) or those with no actions
|
||||||
|
if not hasattr(record, 'pk') or not self.actions:
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
model = table.Meta.model
|
model = table.Meta.model
|
||||||
|
@ -24,6 +24,7 @@ class BaseTable(tables.Table):
|
|||||||
linkify=True,
|
linkify=True,
|
||||||
verbose_name='ID'
|
verbose_name='ID'
|
||||||
)
|
)
|
||||||
|
actions = columns.ActionsColumn()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
attrs = {
|
attrs = {
|
||||||
@ -50,9 +51,8 @@ class BaseTable(tables.Table):
|
|||||||
if self.empty_text is None:
|
if self.empty_text is None:
|
||||||
self.empty_text = f"No {self._meta.model._meta.verbose_name_plural} found"
|
self.empty_text = f"No {self._meta.model._meta.verbose_name_plural} found"
|
||||||
|
|
||||||
# Hide non-default columns
|
# Hide non-default columns (except for actions)
|
||||||
default_columns = getattr(self.Meta, 'default_columns', list())
|
default_columns = [*getattr(self.Meta, 'default_columns', self.Meta.fields), 'actions']
|
||||||
if default_columns:
|
|
||||||
for column in self.columns:
|
for column in self.columns:
|
||||||
if column.name not in default_columns:
|
if column.name not in default_columns:
|
||||||
self.columns.hide(column.name)
|
self.columns.hide(column.name)
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import django_tables2 as tables
|
import django_tables2 as tables
|
||||||
|
|
||||||
from dcim.tables.devices import BaseInterfaceTable
|
from dcim.tables.devices import BaseInterfaceTable
|
||||||
from tenancy.tables import TenantColumn
|
from tenancy.tables import TenantColumn
|
||||||
from utilities.tables import (
|
from utilities.tables import (
|
||||||
ActionsColumn, BaseTable, ButtonsColumn, ChoiceFieldColumn, ColoredLabelColumn, LinkedCountColumn, MarkdownColumn,
|
BaseTable, ButtonsColumn, ChoiceFieldColumn, ColoredLabelColumn, LinkedCountColumn, MarkdownColumn, TagColumn,
|
||||||
TagColumn, ToggleColumn,
|
ToggleColumn,
|
||||||
)
|
)
|
||||||
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
|
from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterface
|
||||||
|
|
||||||
@ -40,12 +41,11 @@ class ClusterTypeTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='virtualization:clustertype_list'
|
url_name='virtualization:clustertype_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ClusterType
|
model = ClusterType
|
||||||
fields = ('pk', 'id', 'name', 'slug', 'cluster_count', 'description', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'slug', 'cluster_count', 'description', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'cluster_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'cluster_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -63,12 +63,11 @@ class ClusterGroupTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='virtualization:clustergroup_list'
|
url_name='virtualization:clustergroup_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = ClusterGroup
|
model = ClusterGroup
|
||||||
fields = ('pk', 'id', 'name', 'slug', 'cluster_count', 'description', 'tags', 'actions')
|
fields = ('pk', 'id', 'name', 'slug', 'cluster_count', 'description', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'cluster_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'cluster_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -196,9 +195,7 @@ class VirtualMachineVMInterfaceTable(VMInterfaceTable):
|
|||||||
'pk', 'id', 'name', 'enabled', 'parent', 'bridge', 'mac_address', 'mtu', 'mode', 'description', 'tags',
|
'pk', 'id', 'name', 'enabled', 'parent', 'bridge', 'mac_address', 'mtu', 'mode', 'description', 'tags',
|
||||||
'ip_addresses', 'fhrp_groups', 'untagged_vlan', 'tagged_vlans', 'actions',
|
'ip_addresses', 'fhrp_groups', 'untagged_vlan', 'tagged_vlans', 'actions',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = ('pk', 'name', 'enabled', 'mac_address', 'mtu', 'mode', 'description', 'ip_addresses')
|
||||||
'pk', 'name', 'enabled', 'mac_address', 'mtu', 'mode', 'description', 'ip_addresses', 'actions',
|
|
||||||
)
|
|
||||||
row_attrs = {
|
row_attrs = {
|
||||||
'data-name': lambda record: record.name,
|
'data-name': lambda record: record.name,
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import django_tables2 as tables
|
import django_tables2 as tables
|
||||||
|
|
||||||
from dcim.models import Interface
|
from dcim.models import Interface
|
||||||
from utilities.tables import (
|
from utilities.tables import BaseTable, ChoiceFieldColumn, LinkedCountColumn, MPTTColumn, TagColumn, ToggleColumn
|
||||||
ActionsColumn, BaseTable, ChoiceFieldColumn, LinkedCountColumn, MPTTColumn, TagColumn, ToggleColumn,
|
|
||||||
)
|
|
||||||
from .models import *
|
from .models import *
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
@ -26,12 +24,11 @@ class WirelessLANGroupTable(BaseTable):
|
|||||||
tags = TagColumn(
|
tags = TagColumn(
|
||||||
url_name='wireless:wirelesslangroup_list'
|
url_name='wireless:wirelesslangroup_list'
|
||||||
)
|
)
|
||||||
actions = ActionsColumn()
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = WirelessLANGroup
|
model = WirelessLANGroup
|
||||||
fields = ('pk', 'name', 'wirelesslan_count', 'description', 'slug', 'tags', 'actions')
|
fields = ('pk', 'name', 'wirelesslan_count', 'description', 'slug', 'tags', 'actions')
|
||||||
default_columns = ('pk', 'name', 'wirelesslan_count', 'description', 'actions')
|
default_columns = ('pk', 'name', 'wirelesslan_count', 'description')
|
||||||
|
|
||||||
|
|
||||||
class WirelessLANTable(BaseTable):
|
class WirelessLANTable(BaseTable):
|
||||||
|
Loading…
Reference in New Issue
Block a user