Standardized display of attributes for primary objects

This commit is contained in:
Jeremy Stretch 2016-07-29 15:31:35 -04:00
parent 1bbe7f95d6
commit 8a9c6ce37a
11 changed files with 149 additions and 95 deletions

View File

@ -1,7 +1,7 @@
{% extends '_base.html' %}
{% load helpers %}
{% block title %}{{ circuit.provider }} Circuit {{ circuit.cid }}{% endblock %}
{% block title %}{{ circuit.provider }} - {{ circuit.cid }}{% endblock %}
{% block content %}
<div class="row">
@ -39,7 +39,7 @@
</a>
{% endif %}
</div>
<h1>{{ circuit.provider }} Circuit {{ circuit.cid }}</h1>
<h1>{{ circuit.provider }} - {{ circuit.cid }}</h1>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
@ -66,6 +66,16 @@
<td>
{% if circuit.tenant %}
<a href="{{ circuit.tenant.get_absolute_url }}">{{ circuit.tenant }}</a>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
<tr>
<td>Install Date</td>
<td>
{% if circuit.install_date %}
{{ circuit.install_date }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
@ -73,11 +83,23 @@
</tr>
<tr>
<td>Port Speed</td>
<td>{{ circuit.port_speed_human }}</td>
<td>
{% if circuit.port_speed %}
{{ circuit.port_speed_human }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Commit Rate</td>
<td>{% if circuit.commit_rate %}{{ circuit.commit_rate_human }}{% else %}<span class="text-muted">N/A</span>{% endif %}</td>
<td>
{% if circuit.commit_speed %}
{{ circuit.commit_speed_human }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Created</td>
@ -112,16 +134,6 @@
{% endif %}
</td>
</tr>
<tr>
<td>Install Date</td>
<td>
{% if circuit.install_date %}
{{ circuit.install_date }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Cross-Connect</td>
<td>
@ -149,7 +161,7 @@
<strong>Comments</strong>
</div>
<div class="panel-body">
{% if circuit.comments %}
{% if circuit.comments %}
{{ circuit.comments|gfm }}
{% else %}
<span class="text-muted">None</span>

View File

@ -55,25 +55,53 @@
<table class="table table-hover panel-body">
<tr>
<td>ASN</td>
<td>{{ provider.asn }}</td>
<td>
{% if provider.asn %}
{{ provider.asn }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Account</td>
<td>{{ provider.account }}</td>
<td>
{% if provider.account %}
{{ provider.account }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Customer Portal</td>
<td>
<a href="{{ provider.portal_url }}">{{ provider.portal_url }}</a>
{% if provider.portal_url %}
<a href="{{ provider.portal_url }}">{{ provider.portal_url }}</a>
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>NOC Contact</td>
<td>{{ provider.noc_contact|linebreaksbr }}</td>
<td>
{% if provider.noc_contact %}
{{ provider.noc_contact|linebreaksbr }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Admin Contact</td>
<td>{{ provider.admin_contact|linebreaksbr }}</td>
<td>
{% if provider.admin_contact %}
{{ provider.admin_contact|linebreaksbr }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Created</td>
@ -90,7 +118,7 @@
<strong>Comments</strong>
</div>
<div class="panel-body">
{% if provider.comments %}
{% if provider.comments %}
{{ provider.comments|gfm }}
{% else %}
<span class="text-muted">None</span>

View File

@ -65,7 +65,7 @@
{% if device.serial %}
<span>{{ device.serial }}</span>
{% else %}
<span class="text-muted">Not defined</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
@ -96,7 +96,7 @@
{% if device.platform %}
<span>{{ device.platform }}</span>
{% else %}
<span class="text-warning">Not assigned</span>
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
@ -121,7 +121,7 @@
<span>(NAT: {{ device.primary_ip4.nat_outside.address.ip }})</span>
{% endif %}
{% else %}
<span class="text-muted">Not defined</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
@ -136,7 +136,7 @@
<span>(NAT: {{ device.primary_ip6.nat_outside.address.ip }})</span>
{% endif %}
{% else %}
<span class="text-muted">Not defined</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
@ -267,7 +267,7 @@
<strong>Comments</strong>
</div>
<div class="panel-body">
{% if device.comments %}
{% if device.comments %}
{{ device.comments|gfm }}
{% else %}
<span class="text-muted">None</span>

View File

@ -82,7 +82,7 @@
{% if rack.facility_id %}
<span>{{ rack.facility_id }}</span>
{% else %}
<span class="text-muted">None</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
@ -156,7 +156,7 @@
<strong>Comments</strong>
</div>
<div class="panel-body">
{% if rack.comments %}
{% if rack.comments %}
{{ rack.comments|gfm }}
{% else %}
<span class="text-muted">None</span>

View File

@ -48,7 +48,7 @@
</div>
<h1>{{ site.name }}</h1>
<div class="row">
<div class="col-md-6">
<div class="col-md-7">
<div class="panel panel-default">
<div class="panel-heading">
<strong>Site</strong>
@ -66,11 +66,23 @@
</tr>
<tr>
<td>Facility</td>
<td>{{ site.facility }}</td>
<td>
{% if site.facility %}
{{ site.facility }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>AS Number</td>
<td>{{ site.asn }}</td>
<td>
{% if site.asn %}
{{ site.asn }}
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Physical Address</td>
@ -81,8 +93,10 @@
<i class="glyphicon glyphicon-map-marker"></i> Map it
</a>
</div>
<span>{{ site.physical_address|linebreaksbr }}</span>
{% else %}
<span class="text-muted">N/A</span>
{% endif %}
<span>{{ site.physical_address|linebreaksbr }}</span>
</td>
</tr>
<tr>
@ -91,7 +105,7 @@
{% if site.shipping_address %}
<span>{{ site.shipping_address|linebreaksbr }}</span>
{% else %}
<span class="text-muted">See physical address</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
@ -110,7 +124,7 @@
<strong>Comments</strong>
</div>
<div class="panel-body">
{% if site.comments %}
{% if site.comments %}
{{ site.comments|gfm }}
{% else %}
<span class="text-muted">None</span>
@ -118,43 +132,33 @@
</div>
</div>
</div>
<div class="col-md-6">
<div class="col-md-5">
<div class="panel panel-default">
<div class="panel-heading">
<strong>Stats</strong>
</div>
<table class="table table-hover panel-body">
<tr>
<td>Racks</td>
<td>
<a href="{% url 'dcim:rack_list' %}?site={{ site.slug }}">{{ stats.rack_count }}</a>
</td>
</tr>
<tr>
<td>Devices</td>
<td>
<a href="{% url 'dcim:device_list' %}?site={{ site.slug }}">{{ stats.device_count }}</a>
</td>
</tr>
<tr>
<td>Prefixes</td>
<td>
<a href="{% url 'ipam:prefix_list' %}?site={{ site.slug }}">{{ stats.prefix_count }}</a>
</td>
</tr>
<tr>
<td>VLANs</td>
<td>
<a href="{% url 'ipam:vlan_list' %}?site={{ site.slug }}">{{ stats.vlan_count }}</a>
</td>
</tr>
<tr>
<td>Circuits</td>
<td>
<a href="{% url 'circuits:circuit_list' %}?site={{ site.slug }}">{{ stats.circuit_count }}</a>
</td>
</tr>
</table>
<div class="row panel-body">
<div class="col-md-4 text-center">
<h2><a href="{% url 'dcim:rack_list' %}?site={{ site.slug }}" class="btn {% if stats.rack_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.rack_count }}</a></h2>
<p>Racks</p>
</div>
<div class="col-md-4 text-center">
<h2><a href="{% url 'dcim:device_list' %}?site={{ site.slug }}" class="btn {% if stats.device_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.device_count }}</a></h2>
<p>Devices</p>
</div>
<div class="col-md-4 text-center">
<h2><a href="{% url 'ipam:prefix_list' %}?site={{ site.slug }}" class="btn {% if stats.prefix_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.prefix_count }}</a></h2>
<p>Prefixes</p>
</div>
<div class="col-md-4 text-center">
<h2><a href="{% url 'ipam:vlan_list' %}?site={{ site.slug }}" class="btn {% if stats.vlan_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.vlan_count }}</a></h2>
<p>VLANs</p>
</div>
<div class="col-md-4 text-center">
<h2><a href="{% url 'circuits:circuit_list' %}?site={{ site.slug }}" class="btn {% if stats.circuit_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.circuit_count }}</a></h2>
<p>Circuits</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">

View File

@ -63,17 +63,17 @@
{% if aggregate.date_added %}
<span>{{ aggregate.date_added }}</span>
{% else %}
<span class="text-muted">Not defined</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>
<tr>
<td>Description</td>
<td>
{% if aggregate.description %}
{% if aggregate.description %}
<span>{{ aggregate.description }}</span>
{% else %}
<span class="text-muted">None</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>

View File

@ -70,7 +70,7 @@
<a href="{{ ipaddress.tenant.get_absolute_url }}">{{ ipaddress.tenant }}</a>
{% elif ipaddress.vrf.tenant %}
<a href="{{ ipaddress.vrf.tenant.get_absolute_url }}">{{ ipaddress.vrf.tenant }}</a>
<label class="label label-warning">Inherited</label>
<label class="label label-info">Inherited</label>
{% else %}
<span class="text-muted">None</span>
{% endif %}
@ -79,10 +79,10 @@
<tr>
<td>Description</td>
<td>
{% if ipaddress.description %}
{% if ipaddress.description %}
<span>{{ ipaddress.description }}</span>
{% else %}
<span class="text-muted">None</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>

View File

@ -33,7 +33,7 @@
<a href="{{ prefix.tenant.get_absolute_url }}">{{ prefix.tenant }}</a>
{% elif prefix.vrf.tenant %}
<a href="{{ prefix.vrf.tenant.get_absolute_url }}">{{ prefix.vrf.tenant }}</a>
<label class="label label-warning">Inherited</label>
<label class="label label-info">Inherited</label>
{% else %}
<span class="text-muted">None</span>
{% endif %}
@ -55,7 +55,7 @@
{% if prefix.site %}
<a href="{% url 'dcim:site' slug=prefix.site.slug %}">{{ prefix.site }}</a>
{% else %}
<span class="text-muted">Not assigned</span>
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
@ -65,7 +65,7 @@
{% if prefix.vlan %}
<a href="{% url 'ipam:vlan' pk=prefix.vlan.pk %}">{{ prefix.vlan.display_name }}</a>
{% else %}
<span class="text-muted">Not assigned</span>
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
@ -77,15 +77,21 @@
</tr>
<tr>
<td>Role</td>
<td>{{ prefix.role }}</td>
<td>
{% if prefix.role %}
<span>{{ prefix.role }}</span>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
<tr>
<td>Description</td>
<td>
{% if prefix.description %}
{% if prefix.description %}
<span>{{ prefix.description }}</span>
{% else %}
<span class="text-muted">None</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>

View File

@ -90,7 +90,13 @@
</tr>
<tr>
<td>Role</td>
<td>{{ vlan.role }}</td>
<td>
{% if vlan.role %}
<span>{{ vlan.role }}</span>
{% else %}
<span class="text-muted">None</span>
{% endif %}
</td>
</tr>
<tr>
<td>Description</td>
@ -98,7 +104,7 @@
{% if vlan.description %}
{{ vlan.description }}
{% else %}
<span class="text-muted">None</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>

View File

@ -61,7 +61,7 @@
</td>
</tr>
<tr>
<td>Enforce Uniqueness</td>
<td>Unique IP Space</td>
<td>
{% if vrf.enforce_unique %}
<i class="glyphicon glyphicon-ok text-success" title="Yes"></i>
@ -73,10 +73,10 @@
<tr>
<td>Description</td>
<td>
{% if vrf.description %}
{% if vrf.description %}
<span>{{ vrf.description }}</span>
{% else %}
<span class="text-muted">None</span>
<span class="text-muted">N/A</span>
{% endif %}
</td>
</tr>

View File

@ -78,7 +78,7 @@
<strong>Comments</strong>
</div>
<div class="panel-body">
{% if tenant.comments %}
{% if tenant.comments %}
{{ tenant.comments|gfm }}
{% else %}
<span class="text-muted">None</span>
@ -92,37 +92,35 @@
<strong>Stats</strong>
</div>
<div class="row panel-body">
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'dcim:site_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.site_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.site_count }}</a></h2>
<p>Sites</p>
</div>
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'dcim:rack_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.rack_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.rack_count }}</a></h2>
<p>Racks</p>
</div>
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'dcim:device_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.device_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.device_count }}</a></h2>
<p>Devices</p>
</div>
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'ipam:vrf_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.vrf_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.vrf_count }}</a></h2>
<p>VRFs</p>
</div>
</div>
<div class="row panel-body">
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'ipam:prefix_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.prefix_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.prefix_count }}</a></h2>
<p>Prefixes</p>
</div>
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'ipam:ipaddress_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.ipaddress_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.ipaddress_count }}</a></h2>
<p>IP addresses</p>
</div>
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'ipam:vlan_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.vlan_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.vlan_count }}</a></h2>
<p>VLANs</p>
</div>
<div class="col-md-3 text-center">
<div class="col-md-4 text-center">
<h2><a href="{% url 'circuits:circuit_list' %}?tenant={{ tenant.slug }}" class="btn {% if tenant.circuit_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ tenant.circuit_count }}</a></h2>
<p>Circuits</p>
</div>