diff --git a/netbox/templates/circuits/circuit.html b/netbox/templates/circuits/circuit.html index 5c86cb24e..3e449ce22 100644 --- a/netbox/templates/circuits/circuit.html +++ b/netbox/templates/circuits/circuit.html @@ -95,33 +95,15 @@ Install Date - - {% if circuit.install_date %} - {{ circuit.install_date }} - {% else %} - N/A - {% endif %} - + {{ circuit.install_date|placeholder }} Commit Rate - - {% if circuit.commit_rate %} - {{ circuit.commit_rate|humanize_speed }} - {% else %} - N/A - {% endif %} - + {{ circuit.commit_rate|humanize_speed|placeholder }} Description - - {% if circuit.description %} - {{ circuit.description }} - {% else %} - N/A - {% endif %} - + {{ circuit.description|placeholder }} diff --git a/netbox/templates/circuits/inc/circuit_termination.html b/netbox/templates/circuits/inc/circuit_termination.html index 560322357..55432b159 100644 --- a/netbox/templates/circuits/inc/circuit_termination.html +++ b/netbox/templates/circuits/inc/circuit_termination.html @@ -79,29 +79,17 @@ None {% endfor %} {% else %} - N/A + {% endif %} Cross-Connect - - {% if termination.xconnect_id %} - {{ termination.xconnect_id }} - {% else %} - N/A - {% endif %} - + {{ termination.xconnect_id|placeholder }} Patch Panel/Port - - {% if termination.pp_info %} - {{ termination.pp_info }} - {% else %} - N/A - {% endif %} - + {{ termination.pp_info|placeholder }} {% else %} diff --git a/netbox/templates/circuits/provider.html b/netbox/templates/circuits/provider.html index 99f615a90..ea936adcb 100644 --- a/netbox/templates/circuits/provider.html +++ b/netbox/templates/circuits/provider.html @@ -67,23 +67,11 @@ - + - + @@ -91,29 +79,17 @@ {% if provider.portal_url %} {{ provider.portal_url }} {% else %} - N/A + {% endif %} - + - + diff --git a/netbox/templates/dcim/cable.html b/netbox/templates/dcim/cable.html index 3bf99465f..a9b61aaf1 100644 --- a/netbox/templates/dcim/cable.html +++ b/netbox/templates/dcim/cable.html @@ -51,7 +51,7 @@ - + @@ -69,7 +69,7 @@ {% if cable.length %} {{ cable.length }} {{ cable.get_length_unit_display }} {% else %} - N/A + {% endif %} diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 7289909b1..fb633c612 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -142,7 +142,7 @@ {% elif device.rack and device.device_type.u_height %} Not racked {% else %} - N/A + {% endif %} @@ -168,23 +168,11 @@ - + - +
ASN - {% if provider.asn %} - {{ provider.asn }} - {% else %} - N/A - {% endif %} - {{ provider.asn|placeholder }}
Account - {% if provider.account %} - {{ provider.account }} - {% else %} - N/A - {% endif %} - {{ provider.account|placeholder }}
Customer Portal
NOC Contact - {% if provider.noc_contact %} - {{ provider.noc_contact|linebreaksbr }} - {% else %} - N/A - {% endif %} - {{ provider.noc_contact|linebreaksbr|placeholder }}
Admin Contact - {% if provider.admin_contact %} - {{ provider.admin_contact|linebreaksbr }} - {% else %} - N/A - {% endif %} - {{ provider.admin_contact|linebreaksbr|placeholder }}
Circuits
Label{% if cable.label %}{{ cable.label }}{% else %}N/A{% endif %}{{ cable.labe|placeholder }}
Color
Serial Number - {% if device.serial %} - {{ device.serial }} - {% else %} - N/A - {% endif %} - {{ device.serial|placeholder }}
Asset Tag - {% if device.asset_tag %} - {{ device.asset_tag }} - {% else %} - N/A - {% endif %} - {{ device.asset_tag|placeholder }}
@@ -266,7 +254,7 @@ (NAT: {{ device.primary_ip4.nat_outside.address.ip }}) {% endif %} {% else %} - N/A + {% endif %} @@ -281,7 +269,7 @@ (NAT: {{ device.primary_ip6.nat_outside.address.ip }}) {% endif %} {% else %} - N/A + {% endif %} diff --git a/netbox/templates/dcim/device_inventory.html b/netbox/templates/dcim/device_inventory.html index 1efbd0fbc..d9f8c5495 100644 --- a/netbox/templates/dcim/device_inventory.html +++ b/netbox/templates/dcim/device_inventory.html @@ -1,4 +1,5 @@ {% extends 'dcim/device.html' %} +{% load helpers %} {% block title %}{{ device }} - Inventory{% endblock %} @@ -16,23 +17,11 @@ Serial Number - - {% if device.serial %} - {{ device.serial }} - {% else %} - N/A - {% endif %} - + {{ device.serial|placeholder }} Asset Tag - - {% if device.asset_tag %} - {{ device.asset_tag }} - {% else %} - N/A - {% endif %} - + {{ device.asset_tag|placeholder }} diff --git a/netbox/templates/dcim/devicetype.html b/netbox/templates/dcim/devicetype.html index 1719e8f66..0b0f8698b 100644 --- a/netbox/templates/dcim/devicetype.html +++ b/netbox/templates/dcim/devicetype.html @@ -74,13 +74,7 @@ Part Number - - {% if devicetype.part_number %} - {{ devicetype.part_number }} - {% else %} - N/A - {% endif %} - + {{ devicetype.part_number|placeholder }} Height (U) @@ -104,7 +98,7 @@ {% elif devicetype.subdevice_role == False %} {% else %} - N/A + {% endif %} diff --git a/netbox/templates/dcim/interface.html b/netbox/templates/dcim/interface.html index ed5313c7d..2ca17ac33 100644 --- a/netbox/templates/dcim/interface.html +++ b/netbox/templates/dcim/interface.html @@ -82,33 +82,15 @@ Description - - {% if interface.description %} - {{ interface.description }} - {% else %} - N/A - {% endif %} - + {{ interface.description|placeholder }} MTU - - {% if interface.mtu %} - {{ interface.mtu }} - {% else %} - N/A - {% endif %} - + {{ interface.mtu|placeholder }} MAC Address - - {% if interface.mac_address %} - {{ interface.mac_address }} - {% else %} - N/A - {% endif %} - + {{ interface.mac_address|placeholder }} 802.1Q Mode @@ -165,33 +147,15 @@ Description - - {% if connected_interface.description %} - {{ connected_interface.description }} - {% else %} - N/A - {% endif %} - + {{ connected_interface.description|placeholder }} MTU - - {% if connected_interface.mtu %} - {{ connected_interface.mtu }} - {% else %} - N/A - {% endif %} - + {{ connected_interface.mtu|placeholder }} MAC Address - - {% if connected_interface.mac_address %} - {{ connected_interface.mac_address }} - {% else %} - N/A - {% endif %} - + {{ connected_interface.mac_address|placeholder }} 802.1Q Mode diff --git a/netbox/templates/dcim/rack.html b/netbox/templates/dcim/rack.html index 2e17d04e7..f78fb9503 100644 --- a/netbox/templates/dcim/rack.html +++ b/netbox/templates/dcim/rack.html @@ -83,13 +83,7 @@ Facility ID - - {% if rack.facility_id %} - {{ rack.facility_id }} - {% else %} - N/A - {% endif %} - + {{ rack.facility_id|placeholder }} Tenant @@ -123,23 +117,11 @@ Serial Number - - {% if rack.serial %} - {{ rack.serial }} - {% else %} - N/A - {% endif %} - + {{ rack.serial|placeholder }} Asset Tag - - {% if rack.asset_tag %} - {{ rack.asset_tag }} - {% else %} - N/A - {% endif %} - + {{ rack.asset_tag|placeholder }} Devices @@ -231,7 +213,7 @@ {% if device.parent_bay %} {{ device.parent_bay }} {% else %} - N/A + {% endif %} diff --git a/netbox/templates/dcim/site.html b/netbox/templates/dcim/site.html index b74521e9c..1b35b0db9 100644 --- a/netbox/templates/dcim/site.html +++ b/netbox/templates/dcim/site.html @@ -106,23 +106,11 @@ Facility - - {% if site.facility %} - {{ site.facility }} - {% else %} - N/A - {% endif %} - + {{ site.facility|placeholder }} AS Number - - {% if site.asn %} - {{ site.asn }} - {% else %} - N/A - {% endif %} - + {{ site.asn|placeholder }} Time Zone @@ -131,19 +119,13 @@ {{ site.time_zone }} (UTC {{ site.time_zone|tzoffset }})
Site time: {% timezone site.time_zone %}{% now "SHORT_DATETIME_FORMAT" %}{% endtimezone %} {% else %} - N/A + {% endif %} Description - - {% if site.description %} - {{ site.description }} - {% else %} - N/A - {% endif %} - + {{ site.description|placeholder }} @@ -163,19 +145,13 @@ {{ site.physical_address|linebreaksbr }} {% else %} - N/A + {% endif %} Shipping Address - - {% if site.shipping_address %} - {{ site.shipping_address|linebreaksbr }} - {% else %} - N/A - {% endif %} - + {{ site.shipping_address|linebreaksbr|placeholder }} GPS Coordinates @@ -188,19 +164,13 @@ {{ site.latitude }}, {{ site.longitude }} {% else %} - N/A + {% endif %} Contact Name - - {% if site.contact_name %} - {{ site.contact_name }} - {% else %} - N/A - {% endif %} - + {{ site.contact_name|placeholder }} Contact Phone @@ -208,7 +178,7 @@ {% if site.contact_phone %} {{ site.contact_phone }} {% else %} - N/A + {% endif %} @@ -218,7 +188,7 @@ {% if site.contact_email %} {{ site.contact_email }} {% else %} - N/A + {% endif %} diff --git a/netbox/templates/dcim/virtualchassis_edit.html b/netbox/templates/dcim/virtualchassis_edit.html index 097cb487f..2665473fc 100644 --- a/netbox/templates/dcim/virtualchassis_edit.html +++ b/netbox/templates/dcim/virtualchassis_edit.html @@ -1,4 +1,5 @@ {% extends '_base.html' %} +{% load helpers %} {% load form_helpers %} {% block content %} @@ -52,16 +53,10 @@ {% if device.rack %} {{ device.rack }} / {{ device.position }} {% else %} - N/A - {% endif %} - - - {% if device.serial %} - {{ device.serial }} - {% else %} - N/A + {% endif %} + {{ device.serial|placeholder }} {{ form.vc_position }} {% if form.vc_position.errors %} diff --git a/netbox/templates/extras/configcontext.html b/netbox/templates/extras/configcontext.html index c987daf33..6c14b7b16 100644 --- a/netbox/templates/extras/configcontext.html +++ b/netbox/templates/extras/configcontext.html @@ -55,13 +55,7 @@ Description - - {% if configcontext.description %} - {{ configcontext.description }} - {% else %} - N/A - {% endif %} - + {{ configcontext.description|placeholder }} Active diff --git a/netbox/templates/inc/custom_fields_panel.html b/netbox/templates/inc/custom_fields_panel.html index e469048af..52d9c2d6e 100644 --- a/netbox/templates/inc/custom_fields_panel.html +++ b/netbox/templates/inc/custom_fields_panel.html @@ -20,7 +20,7 @@ {% elif field.required %} Not defined {% else %} - N/A + {% endif %} diff --git a/netbox/templates/ipam/aggregate.html b/netbox/templates/ipam/aggregate.html index 129d9d071..0dfdd8260 100644 --- a/netbox/templates/ipam/aggregate.html +++ b/netbox/templates/ipam/aggregate.html @@ -75,23 +75,11 @@ Date Added - - {% if aggregate.date_added %} - {{ aggregate.date_added }} - {% else %} - N/A - {% endif %} - + {{ aggregate.date_added|placeholder }} Description - - {% if aggregate.description %} - {{ aggregate.description }} - {% else %} - N/A - {% endif %} - + {{ aggregate.description|placeholder }} diff --git a/netbox/templates/ipam/ipaddress.html b/netbox/templates/ipam/ipaddress.html index a8501c8a0..f822ac2b8 100644 --- a/netbox/templates/ipam/ipaddress.html +++ b/netbox/templates/ipam/ipaddress.html @@ -105,13 +105,7 @@ Description - - {% if ipaddress.description %} - {{ ipaddress.description }} - {% else %} - N/A - {% endif %} - + {{ ipaddress.description|placeholder }} Assignment @@ -119,7 +113,7 @@ {% if ipaddress.interface %} {{ ipaddress.interface.parent }} ({{ ipaddress.interface }}) {% else %} - None + {% endif %} diff --git a/netbox/templates/ipam/prefix.html b/netbox/templates/ipam/prefix.html index f621a0130..0e3aff6b0 100644 --- a/netbox/templates/ipam/prefix.html +++ b/netbox/templates/ipam/prefix.html @@ -160,13 +160,7 @@ Description - - {% if prefix.description %} - {{ prefix.description }} - {% else %} - N/A - {% endif %} - + {{ prefix.description|placeholder }} Is a pool diff --git a/netbox/templates/ipam/service.html b/netbox/templates/ipam/service.html index a0f1e57a5..17b1d971e 100644 --- a/netbox/templates/ipam/service.html +++ b/netbox/templates/ipam/service.html @@ -70,13 +70,7 @@ Description - - {% if service.description %} - {{ service.description }} - {% else %} - N/A - {% endif %} - + {{ service.description|placeholder }} diff --git a/netbox/templates/ipam/vlan.html b/netbox/templates/ipam/vlan.html index 73e87149b..96e3a5e10 100644 --- a/netbox/templates/ipam/vlan.html +++ b/netbox/templates/ipam/vlan.html @@ -129,13 +129,7 @@ Description - - {% if vlan.description %} - {{ vlan.description }} - {% else %} - N/A - {% endif %} - + {{ vlan.description|placeholder }} diff --git a/netbox/templates/ipam/vrf.html b/netbox/templates/ipam/vrf.html index a69ccd0f5..f89212804 100644 --- a/netbox/templates/ipam/vrf.html +++ b/netbox/templates/ipam/vrf.html @@ -82,13 +82,7 @@ Description - - {% if vrf.description %} - {{ vrf.description }} - {% else %} - N/A - {% endif %} - + {{ vrf.description|placeholder }} diff --git a/netbox/templates/secrets/secret.html b/netbox/templates/secrets/secret.html index bfe700938..6d3119d5b 100644 --- a/netbox/templates/secrets/secret.html +++ b/netbox/templates/secrets/secret.html @@ -59,13 +59,7 @@ Name - - {% if secret.name %} - {{ secret.name }} - {% else %} - N/A - {% endif %} - + {{ secret.name|placeholder }} diff --git a/netbox/templates/tenancy/tenant.html b/netbox/templates/tenancy/tenant.html index 6f2131a51..67f3c72fe 100644 --- a/netbox/templates/tenancy/tenant.html +++ b/netbox/templates/tenancy/tenant.html @@ -71,13 +71,7 @@ Description - - {% if tenant.description %} - {{ tenant.description }} - {% else %} - N/A - {% endif %} - + {{ tenant.description|placeholder }} diff --git a/netbox/templates/virtualization/virtualmachine.html b/netbox/templates/virtualization/virtualmachine.html index 552aaa997..410ab32e5 100644 --- a/netbox/templates/virtualization/virtualmachine.html +++ b/netbox/templates/virtualization/virtualmachine.html @@ -116,7 +116,7 @@ (NAT: {{ virtualmachine.primary_ip4.nat_outside.address.ip }}) {% endif %} {% else %} - N/A + {% endif %} @@ -131,7 +131,7 @@ (NAT: {{ virtualmachine.primary_ip6.nat_outside.address.ip }}) {% endif %} {% else %} - N/A + {% endif %} @@ -181,13 +181,7 @@ - + @@ -195,7 +189,7 @@ {% if virtualmachine.memory %} {{ virtualmachine.memory }} MB {% else %} - N/A + {% endif %} @@ -205,7 +199,7 @@ {% if virtualmachine.disk %} {{ virtualmachine.disk }} GB {% else %} - N/A + {% endif %} diff --git a/netbox/utilities/templatetags/helpers.py b/netbox/utilities/templatetags/helpers.py index 0d5063ae0..9fcbf2edd 100644 --- a/netbox/utilities/templatetags/helpers.py +++ b/netbox/utilities/templatetags/helpers.py @@ -22,6 +22,16 @@ def oneline(value): """ return value.replace('\n', ' ') +@register.filter() +def placeholder(value): + """ + Render a muted placeholder if value equates to False. + """ + if value: + return value + placeholder = '' + return mark_safe(placeholder) + @register.filter() def getlist(value, arg): @@ -97,6 +107,8 @@ def humanize_speed(speed): 100000 => "100 Mbps" 10000000 => "10 Gbps" """ + if not speed: + return '' if speed >= 1000000000 and speed % 1000000000 == 0: return '{} Tbps'.format(int(speed / 1000000000)) elif speed >= 1000000 and speed % 1000000 == 0:
Virtual CPUs - {% if virtualmachine.vcpus %} - {{ virtualmachine.vcpus }} - {% else %} - N/A - {% endif %} - {{ virtualmachine.vcpus|placeholder }}
Memory