Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions netbox/templates/tenancy/tenant.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ <h2><a href="{% url 'virtualization:virtualmachine_list' %}?tenant_id={{ object.
<h2><a href="{% url 'virtualization:cluster_list' %}?tenant_id={{ object.pk }}" class="stat-btn btn {% if stats.cluster_count %}btn-primary{% else %}btn-outline-dark{% endif %} btn-lg">{{ stats.cluster_count }}</a></h2>
<p>Clusters</p>
</div>
<div class="col col-md-4 text-center">
<h2><a href="{% url 'dcim:cable_list' %}?tenant_id={{ object.pk }}" class="stat-btn btn {% if stats.cable_count %}btn-primary{% else %}btn-outline-dark{% endif %} btn-lg">{{ stats.cable_count }}</a></h2>
<p>Cables</p>
</div>
</div>
</div>
{% plugin_right_page object %}
Expand Down
3 changes: 2 additions & 1 deletion netbox/tenancy/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,14 @@ class TenantSerializer(PrimaryModelSerializer):
vlan_count = serializers.IntegerField(read_only=True)
vrf_count = serializers.IntegerField(read_only=True)
cluster_count = serializers.IntegerField(read_only=True)
cable_count = serializers.IntegerField(read_only=True)

class Meta:
model = Tenant
fields = [
'id', 'url', 'display', 'name', 'slug', 'group', 'description', 'comments', 'tags', 'custom_fields',
'created', 'last_updated', 'circuit_count', 'device_count', 'ipaddress_count', 'prefix_count', 'rack_count',
'site_count', 'virtualmachine_count', 'vlan_count', 'vrf_count', 'cluster_count',
'site_count', 'virtualmachine_count', 'vlan_count', 'vrf_count', 'cluster_count', 'cable_count',
]


Expand Down
5 changes: 3 additions & 2 deletions netbox/tenancy/api/views.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from rest_framework.routers import APIRootView

from circuits.models import Circuit
from dcim.models import Device, Rack, Site
from dcim.models import Device, Rack, Site, Cable
from extras.api.views import CustomFieldModelViewSet
from ipam.models import IPAddress, Prefix, VLAN, VRF
from tenancy import filtersets
Expand Down Expand Up @@ -47,7 +47,8 @@ class TenantViewSet(CustomFieldModelViewSet):
site_count=count_related(Site, 'tenant'),
virtualmachine_count=count_related(VirtualMachine, 'tenant'),
vlan_count=count_related(VLAN, 'tenant'),
vrf_count=count_related(VRF, 'tenant')
vrf_count=count_related(VRF, 'tenant'),
cable_count=count_related(Cable, 'tenant')
)
serializer_class = serializers.TenantSerializer
filterset_class = filtersets.TenantFilterSet
Expand Down
3 changes: 2 additions & 1 deletion netbox/tenancy/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.shortcuts import get_object_or_404

from circuits.models import Circuit
from dcim.models import Site, Rack, Device, RackReservation
from dcim.models import Site, Rack, Device, RackReservation, Cable
from ipam.models import Aggregate, IPAddress, Prefix, VLAN, VRF
from netbox.views import generic
from utilities.tables import paginate_table
Expand Down Expand Up @@ -112,6 +112,7 @@ def get_extra_context(self, request, instance):
'circuit_count': Circuit.objects.restrict(request.user, 'view').filter(tenant=instance).count(),
'virtualmachine_count': VirtualMachine.objects.restrict(request.user, 'view').filter(tenant=instance).count(),
'cluster_count': Cluster.objects.restrict(request.user, 'view').filter(tenant=instance).count(),
'cable_count': Cable.objects.restrict(request.user, 'view').filter(tenant=instance).count(),
}

return {
Expand Down