1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

72 lines
1.8 KiB
Python
Raw Normal View History

2021-11-01 16:14:44 -04:00
import django_tables2 as tables
from ipam.models import *
2022-01-27 15:48:05 -05:00
from netbox.tables import NetBoxTable, columns
2021-11-01 16:14:44 -04:00
__all__ = (
'FHRPGroupTable',
'FHRPGroupAssignmentTable',
)
IPADDRESSES = """
{% for ip in value.all %}
2021-11-01 16:14:44 -04:00
<a href="{{ ip.get_absolute_url }}">{{ ip }}</a><br />
{% endfor %}
"""
2022-01-27 15:48:05 -05:00
class FHRPGroupTable(NetBoxTable):
2021-11-01 16:14:44 -04:00
group_id = tables.Column(
linkify=True
)
ip_addresses = tables.TemplateColumn(
template_code=IPADDRESSES,
orderable=False,
verbose_name='IP Addresses'
)
member_count = tables.Column(
verbose_name='Members'
2021-11-01 16:14:44 -04:00
)
comments = columns.MarkdownColumn()
tags = columns.TagColumn(
2021-11-01 16:14:44 -04:00
url_name='ipam:fhrpgroup_list'
)
def value_ip_addresses(self, value):
return ",".join([str(obj.address) for obj in value.all()])
2022-01-27 15:48:05 -05:00
class Meta(NetBoxTable.Meta):
2021-11-01 16:14:44 -04:00
model = FHRPGroup
fields = (
'pk', 'group_id', 'protocol', 'name', 'auth_type', 'auth_key', 'description', 'comments', 'ip_addresses',
2022-09-27 09:55:35 -04:00
'member_count', 'tags', 'created', 'last_updated',
)
default_columns = (
'pk', 'group_id', 'protocol', 'name', 'auth_type', 'description', 'ip_addresses', 'member_count',
2021-11-01 16:14:44 -04:00
)
2022-01-27 15:48:05 -05:00
class FHRPGroupAssignmentTable(NetBoxTable):
2021-11-04 10:05:47 -04:00
interface_parent = tables.Column(
accessor=tables.A('interface__parent_object'),
linkify=True,
orderable=False,
verbose_name='Parent'
2021-11-01 16:14:44 -04:00
)
interface = tables.Column(
2021-11-01 16:14:44 -04:00
linkify=True,
orderable=False
)
group = tables.Column(
linkify=True
)
actions = columns.ActionsColumn(
actions=('edit', 'delete')
)
2021-11-01 16:14:44 -04:00
2022-01-27 15:48:05 -05:00
class Meta(NetBoxTable.Meta):
2021-11-01 16:14:44 -04:00
model = FHRPGroupAssignment
2021-11-04 10:05:47 -04:00
fields = ('pk', 'group', 'interface_parent', 'interface', 'priority')
exclude = ('id',)