|
@@ -43,12 +43,22 @@ IPADDRESS_LINK = """
|
|
|
{% if record.pk %}
|
|
|
<a href="{{ record.get_absolute_url }}">{{ record.address }}</a>
|
|
|
{% elif perms.ipam.add_ipaddress %}
|
|
|
- <a href="{% url 'ipam:ipaddress_add' %}?address={{ record.1 }}" class="btn btn-xs btn-success">{% if record.0 <= 65536 %}{{ record.0 }}{% else %}Lots of{% endif %} free IP{{ record.0|pluralize }}</a>
|
|
|
+ <a href="{% url 'ipam:ipaddress_add' %}?address={{ record.1 }}{% if prefix.vrf %}&vrf={{ prefix.vrf.pk }}{% endif %}" class="btn btn-xs btn-success">{% if record.0 <= 65536 %}{{ record.0 }}{% else %}Lots of{% endif %} free IP{{ record.0|pluralize }}</a>
|
|
|
{% else %}
|
|
|
{{ record.0 }}
|
|
|
{% endif %}
|
|
|
"""
|
|
|
|
|
|
+VRF_LINK = """
|
|
|
+{% if record.vrf %}
|
|
|
+ <a href="{{ record.vrf.get_absolute_url }}">{{ record.vrf }}</a>
|
|
|
+{% elif prefix.vrf %}
|
|
|
+ {{ prefix.vrf }}
|
|
|
+{% else %}
|
|
|
+ Global
|
|
|
+{% endif %}
|
|
|
+"""
|
|
|
+
|
|
|
STATUS_LABEL = """
|
|
|
{% if record.pk %}
|
|
|
<span class="label label-{{ record.get_status_class }}">{{ record.get_status_display }}</span>
|
|
@@ -149,7 +159,7 @@ class PrefixTable(BaseTable):
|
|
|
pk = ToggleColumn()
|
|
|
status = tables.TemplateColumn(STATUS_LABEL, verbose_name='Status')
|
|
|
prefix = tables.TemplateColumn(PREFIX_LINK, verbose_name='Prefix')
|
|
|
- vrf = tables.LinkColumn('ipam:vrf', args=[Accessor('vrf.pk')], default='Global', verbose_name='VRF')
|
|
|
+ vrf = tables.TemplateColumn(VRF_LINK, verbose_name='VRF')
|
|
|
tenant = tables.TemplateColumn(TENANT_LINK, verbose_name='Tenant')
|
|
|
site = tables.LinkColumn('dcim:site', args=[Accessor('site.slug')], verbose_name='Site')
|
|
|
role = tables.Column(verbose_name='Role')
|
|
@@ -183,7 +193,7 @@ class PrefixBriefTable(BaseTable):
|
|
|
class IPAddressTable(BaseTable):
|
|
|
pk = ToggleColumn()
|
|
|
address = tables.TemplateColumn(IPADDRESS_LINK, verbose_name='IP Address')
|
|
|
- vrf = tables.LinkColumn('ipam:vrf', args=[Accessor('vrf.pk')], default='Global', verbose_name='VRF')
|
|
|
+ vrf = tables.TemplateColumn(VRF_LINK, verbose_name='VRF')
|
|
|
tenant = tables.TemplateColumn(TENANT_LINK, verbose_name='Tenant')
|
|
|
device = tables.LinkColumn('dcim:device', args=[Accessor('interface.device.pk')], orderable=False,
|
|
|
verbose_name='Device')
|