Added stats to tenant view

This commit is contained in:
Jeremy Stretch 2016-07-27 11:56:47 -04:00
parent 2abee211a2
commit e4960873f3
3 changed files with 45 additions and 5 deletions

View File

@ -40,7 +40,7 @@
</div> </div>
<h1>{{ tenant }}</h1> <h1>{{ tenant }}</h1>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-7">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<strong>Tenant</strong> <strong>Tenant</strong>
@ -72,8 +72,6 @@
</tr> </tr>
</table> </table>
</div> </div>
</div>
<div class="col-md-6">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<strong>Comments</strong> <strong>Comments</strong>
@ -86,6 +84,41 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
</div>
<div class="col-md-5">
<div class="panel panel-default">
<div class="panel-heading">
<strong>Stats</strong>
</div>
<div class="row panel-body">
<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-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-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>
<div class="row panel-body">
<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 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-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>
</div>
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@ -16,7 +16,7 @@ class TenantAdmin(admin.ModelAdmin):
prepopulated_fields = { prepopulated_fields = {
'slug': ['name'], 'slug': ['name'],
} }
list_display = ['name', 'slug', 'group'] list_display = ['name', 'slug', 'group', 'description']
def get_queryset(self, request): def get_queryset(self, request):
qs = super(TenantAdmin, self).get_queryset(request) qs = super(TenantAdmin, self).get_queryset(request)

View File

@ -50,7 +50,14 @@ class TenantListView(ObjectListView):
def tenant(request, slug): def tenant(request, slug):
tenant = get_object_or_404(Tenant, slug=slug) tenant = get_object_or_404(Tenant.objects.annotate(
site_count=Count('sites', distinct=True),
rack_count=Count('racks', distinct=True),
device_count=Count('devices', distinct=True),
vrf_count=Count('vrfs', distinct=True),
vlan_count=Count('vlans', distinct=True),
circuit_count=Count('circuits', distinct=True),
), slug=slug)
return render(request, 'tenancy/tenant.html', { return render(request, 'tenancy/tenant.html', {
'tenant': tenant, 'tenant': tenant,