2021-03-02 15:58:33 -05:00
|
|
|
{% extends 'generic/object.html' %}
|
2018-05-18 11:09:11 -04:00
|
|
|
{% load helpers %}
|
2020-03-15 23:45:18 -04:00
|
|
|
{% load plugins %}
|
2016-03-01 11:23:03 -05:00
|
|
|
|
2021-03-02 15:58:33 -05:00
|
|
|
{% block title %}VLAN {{ object.display_name }}{% endblock %}
|
|
|
|
|
|
|
|
{% block breadcrumbs %}
|
2021-03-13 02:19:42 -07:00
|
|
|
<li class="breadcrumb-item"><a href="{% url 'ipam:vlan_list' %}">VLANs</a></li>
|
2021-03-02 15:58:33 -05:00
|
|
|
{% if object.site %}
|
2021-03-13 02:19:42 -07:00
|
|
|
<li class="breadcrumb-item"><a href="{% url 'ipam:vlan_list' %}?site={{ object.site.slug }}">{{ object.site }}</a></li>
|
2021-03-02 15:58:33 -05:00
|
|
|
{% endif %}
|
|
|
|
{% if object.group %}
|
2021-03-13 02:19:42 -07:00
|
|
|
<li class="breadcrumb-item"><a href="{% url 'ipam:vlan_list' %}?group={{ object.group.slug }}">{{ object.group }}</a></li>
|
2021-03-02 15:58:33 -05:00
|
|
|
{% endif %}
|
2021-03-13 02:19:42 -07:00
|
|
|
<li class="breadcrumb-item">{{ object }}</li>
|
2021-03-02 15:58:33 -05:00
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block tabs %}
|
|
|
|
<ul class="nav nav-tabs" style="margin-bottom: 20px">
|
|
|
|
<li role="presentation"{% if not active_tab %} class="active"{% endif %}>
|
|
|
|
<a href="{% url 'ipam:vlan' pk=object.pk %}">VLAN</a>
|
|
|
|
</li>
|
|
|
|
<li role="presentation"{% if active_tab == 'interfaces' %} class="active"{% endif %}>
|
|
|
|
<a href="{% url 'ipam:vlan_interfaces' pk=object.pk %}">Device Interfaces <span class="badge">{{ object.get_interfaces.count }}</span></a>
|
|
|
|
</li>
|
|
|
|
<li role="presentation"{% if active_tab == 'vminterfaces' %} class="active"{% endif %}>
|
|
|
|
<a href="{% url 'ipam:vlan_vminterfaces' pk=object.pk %}">VM Interfaces <span class="badge">{{ object.get_vminterfaces.count }}</span></a>
|
|
|
|
</li>
|
|
|
|
{% if perms.extras.view_objectchange %}
|
|
|
|
<li role="presentation"{% if active_tab == 'changelog' %} class="active"{% endif %}>
|
|
|
|
<a href="{% url 'ipam:vlan_changelog' pk=object.pk %}">Change Log</a>
|
|
|
|
</li>
|
|
|
|
{% endif %}
|
|
|
|
</ul>
|
2018-06-14 13:14:35 -04:00
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
<div class="row">
|
2019-04-22 07:47:16 -04:00
|
|
|
<div class="col-md-4">
|
2021-03-13 02:19:42 -07:00
|
|
|
<div class="card">
|
|
|
|
<h5 class="card-header">
|
|
|
|
VLAN
|
|
|
|
</h5>
|
|
|
|
<div class="card-body">
|
|
|
|
<table class="table table-hover attr-table">
|
|
|
|
<tr>
|
|
|
|
<td>Site</td>
|
|
|
|
<td>
|
|
|
|
{% if object.site %}
|
|
|
|
{% if object.site.region %}
|
|
|
|
<a href="{{ object.site.region.get_absolute_url }}">{{ object.site.region }}</a> /
|
|
|
|
{% endif %}
|
|
|
|
<a href="{{ object.site.get_absolute_url }}">{{ object.site }}</a>
|
|
|
|
{% else %}
|
|
|
|
<span class="text-muted">None</span>
|
|
|
|
{% endif %}
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Group</td>
|
|
|
|
<td>
|
|
|
|
{% if object.group %}
|
|
|
|
<a href="{{ object.group.get_absolute_url }}">{{ object.group }}</a>
|
|
|
|
{% else %}
|
|
|
|
<span class="text-muted">None</span>
|
|
|
|
{% endif %}
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>VLAN ID</td>
|
|
|
|
<td>{{ object.vid }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Name</td>
|
|
|
|
<td>{{ object.name }}</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Tenant</td>
|
|
|
|
<td>
|
|
|
|
{% if object.tenant %}
|
|
|
|
{% if object.tenant.group %}
|
|
|
|
<a href="{{ object.tenant.group.get_absolute_url }}">{{ object.tenant.group }}</a> /
|
|
|
|
{% endif %}
|
|
|
|
<a href="{{ object.tenant.get_absolute_url }}">{{ object.tenant }}</a>
|
|
|
|
{% else %}
|
|
|
|
<span class="text-muted">None</span>
|
2018-06-14 13:14:35 -04:00
|
|
|
{% endif %}
|
2021-03-13 02:19:42 -07:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Status</td>
|
|
|
|
<td>
|
|
|
|
<span class="badge bg-{{ object.get_status_class }}">{{ object.get_status_display }}</span>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Role</td>
|
|
|
|
<td>
|
|
|
|
{% if object.role %}
|
|
|
|
<a href="{% url 'ipam:vlan_list' %}?role={{ object.role.slug }}">{{ object.role }}</a>
|
|
|
|
{% else %}
|
|
|
|
<span class="text-muted">None</span>
|
2018-06-14 13:14:35 -04:00
|
|
|
{% endif %}
|
2021-03-13 02:19:42 -07:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>Description</td>
|
|
|
|
<td>{{ object.description|placeholder }}</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
2016-03-01 11:23:03 -05:00
|
|
|
</div>
|
2020-11-19 13:53:37 -05:00
|
|
|
{% include 'inc/custom_fields_panel.html' %}
|
2020-11-19 12:24:52 -05:00
|
|
|
{% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='ipam:vlan_list' %}
|
|
|
|
{% plugin_left_page object %}
|
2018-06-14 13:14:35 -04:00
|
|
|
</div>
|
2019-04-22 07:47:16 -04:00
|
|
|
<div class="col-md-8">
|
2021-03-13 02:19:42 -07:00
|
|
|
<div class="card">
|
|
|
|
<h5 class="card-header">
|
|
|
|
Prefixes
|
|
|
|
</h5>
|
|
|
|
<div class="card-body">
|
|
|
|
{% include 'responsive_table.html' with table=prefix_table %}
|
2016-08-06 15:44:28 -04:00
|
|
|
</div>
|
2018-06-14 13:14:35 -04:00
|
|
|
{% if perms.ipam.add_prefix %}
|
2021-03-13 02:19:42 -07:00
|
|
|
<div class="card-footer text-end noprint">
|
|
|
|
<a href="{% url 'ipam:prefix_add' %}?{% if object.tenant %}tenant={{ object.tenant.pk }}&{% endif %}site={{ object.site.pk }}&vlan={{ object.pk }}" class="btn btn-primary btn-sm">
|
|
|
|
<span class="bi bi-plus" aria-hidden="true"></span>
|
|
|
|
Add a prefix
|
|
|
|
</a>
|
|
|
|
</div>
|
2018-06-14 13:14:35 -04:00
|
|
|
{% endif %}
|
|
|
|
</div>
|
2020-11-19 12:24:52 -05:00
|
|
|
{% plugin_right_page object %}
|
2020-03-15 23:45:18 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-12">
|
2020-11-19 12:24:52 -05:00
|
|
|
{% plugin_full_width_page object %}
|
2016-03-01 11:23:03 -05:00
|
|
|
</div>
|
2018-06-14 13:14:35 -04:00
|
|
|
</div>
|
2016-03-01 11:23:03 -05:00
|
|
|
{% endblock %}
|