diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 716752c57..37006dfad 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -5,847 +5,934 @@ {% block title %}{{ device }}{% endblock %} {% block header %} -
-
+
+
-
-
-
-
- - - - -
-
-
-
- {% if perms.dcim.change_device %} -
- - +
+
+
+ + + +
- - - Edit this device - - {% endif %} - {% if perms.dcim.delete_device %} - - - Delete this device - - {% endif %} +
-

{{ device }}

- {% include 'inc/created_updated.html' with obj=device %} -
+
+ {% if perms.dcim.change_device %} +
+ + + {% if perms.dcim.add_devicebay %}
  • Device Bays +
  • {% endif %} + +
    + + + Edit this device + + {% endif %} + {% if perms.dcim.delete_device %} + + + Delete this device + + {% endif %} +
    +

    {{ device }}

    +{% include 'inc/created_updated.html' with obj=device %} + {% endblock %} {% block content %} -
    -
    -
    -
    - Device -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Site - {% if device.site.region %} - {{ device.site.region }} - - {% endif %} - {{ device.site }} -
    Rack - {% if device.rack %} - {% if device.rack.group %} - {{ device.rack.group }} - - {% endif %} - {{ device.rack }} - {% else %} - None - {% endif %} -
    Position - {% if device.parent_bay %} - {% with device.parent_bay.device as parent %} - {{ parent }} {{ device.parent_bay }} - {% if parent.position %} - (U{{ parent.position }} / {{ parent.get_face_display }}) - {% endif %} - {% endwith %} - {% elif device.rack and device.position %} - U{{ device.position }} / {{ device.get_face_display }} - {% elif device.rack and device.device_type.u_height %} - Not racked - {% else %} - - {% endif %} -
    Tenant - {% if device.tenant %} - {% if device.tenant.group %} - {{ device.tenant.group }} - - {% endif %} - {{ device.tenant }} - {% else %} - None - {% endif %} -
    Device Type - {{ device.device_type.display_name }} ({{ device.device_type.u_height }}U) -
    Serial Number{{ device.serial|placeholder }}
    Asset Tag{{ device.asset_tag|placeholder }}
    +
    +
    +
    +
    + Device
    - {% if vc_members %} -
    -
    - Virtual Chassis -
    - - - - - - - - {% for vc_member in vc_members %} - - - - - - - {% endfor %} -
    DevicePositionMasterPriority
    - {{ vc_member }} - {{ vc_member.vc_position }}{% if device.virtual_chassis.master == vc_member %}{% endif %}{{ vc_member.vc_priority|default:"" }}
    - + {% if vc_members %} +
    +
    + Virtual Chassis +
    + + + + + + + + {% for vc_member in vc_members %} + + + + + + + {% endfor %} +
    DevicePositionMasterPriority
    + {{ vc_member }} + {{ vc_member.vc_position }}{% if device.virtual_chassis.master == vc_member %}{% endif %}{{ vc_member.vc_priority|default:"" }}
    +
    -
    - {% if console_ports or power_ports %} -
    -
    - Console / Power -
    - - {% for cp in console_ports %} - {% include 'dcim/inc/consoleport.html' %} - {% endfor %} - {% for pp in power_ports %} - {% include 'dcim/inc/powerport.html' %} - {% endfor %} -
    - {% if perms.dcim.add_interface or perms.dcim.add_consoleport or perms.dcim.add_powerport %} - - {% endif %} -
    - {% endif %} - {% if request.user.is_authenticated %} -
    -
    - Secrets -
    - {% if secrets %} - - {% for secret in secrets %} - {% include 'secrets/inc/secret_tr.html' %} - {% endfor %} -
    - {% else %} -
    - None found -
    - {% endif %} - {% if perms.secrets.add_secret %} -
    - {% csrf_token %} -
    - - {% endif %} -
    - {% endif %} -
    -
    - Services -
    - {% if services %} - - {% for service in services %} - {% include 'ipam/inc/service.html' %} - {% endfor %} -
    - {% else %} -
    - None -
    - {% endif %} - {% if perms.ipam.add_service %} - - {% endif %} + {% endif %} +
    +
    + Management
    -
    -
    - Images -
    - {% include 'inc/image_attachments.html' with images=device.images.all %} - {% if perms.extras.add_imageattachment %} - + + + + + + + + + + + + + + + + + + + + + + {% if device.cluster %} + + + + {% endif %} +
    Role + {{ device.device_role }} +
    Platform + {% if device.platform %} + {{ device.platform }} + {% else %} + None + {% endif %} +
    Status + {{ device.get_status_display }} +
    Primary IPv4 + {% if device.primary_ip4 %} + {{ device.primary_ip4.address.ip }} + {% if device.primary_ip4.nat_inside %} + (NAT for {{ device.primary_ip4.nat_inside.address.ip }}) + {% elif device.primary_ip4.nat_outside %} + (NAT: {{ device.primary_ip4.nat_outside.address.ip }}) + {% endif %} + {% else %} + + {% endif %} +
    Primary IPv6 + {% if device.primary_ip6 %} + {{ device.primary_ip6.address.ip }} + {% if device.primary_ip6.nat_inside %} + (NAT for {{ device.primary_ip6.nat_inside.address.ip }}) + {% elif device.primary_ip6.nat_outside %} + (NAT: {{ device.primary_ip6.nat_outside.address.ip }}) + {% endif %} + {% else %} + + {% endif %} +
    Cluster + {% if device.cluster.group %} + {{ device.cluster.group }} + + {% endif %} + {{ device.cluster }} +
    +
    + {% include 'inc/custom_fields_panel.html' with obj=device %} + {% include 'extras/inc/tags_panel.html' with tags=device.tags.all url='dcim:device_list' %} +
    +
    + Comments
    -
    -
    - Related Devices -
    - {% if related_devices %} - - {% for rd in related_devices %} - - - - - - {% endfor %} -
    - {{ rd }} - - {% if rd.rack %} - Rack {{ rd.rack }} - {% else %} - - {% endif %} - {{ rd.device_type.display_name }}
    +
    + {% if device.comments %} + {{ device.comments|gfm }} {% else %} -
    None found
    + None {% endif %}
    -
    -
    - {% if device_bays or device.device_type.is_parent_device %} - {% if perms.dcim.delete_devicebay %} -
    - {% csrf_token %} +
    + {% if console_ports or power_ports %} +
    +
    + Console / Power +
    + + {% for cp in console_ports %} + {% include 'dcim/inc/consoleport.html' %} + {% endfor %} + {% for pp in power_ports %} + {% include 'dcim/inc/powerport.html' %} + {% endfor %} +
    + {% if perms.dcim.add_interface or perms.dcim.add_consoleport or perms.dcim.add_powerport %} + {% endif %} - {% if interfaces %} - {% if perms.dcim.change_interface or perms.dcim.delete_interface %} -
    - {% csrf_token %} - - {% endif %} -
    -
    - Interfaces -
    - -
    -
    - - - - {% if perms.dcim.change_interface or perms.dcim.delete_interface %} - - {% endif %} - - - - - - - - - - - - {% for iface in interfaces %} - {% include 'dcim/inc/interface.html' %} - {% endfor %} - -
    NameLAGDescriptionMTUModeCableConnection
    - -
    - {% if perms.dcim.delete_interface %} -
    - {% endif %} +
    + {% endif %} + {% if request.user.is_authenticated %} +
    +
    + Secrets +
    + {% if secrets %} + + {% for secret in secrets %} + {% include 'secrets/inc/secret_tr.html' %} + {% endfor %} +
    + {% else %} +
    + None found +
    {% endif %} - {% if consoleserverports %} - {% if perms.dcim.delete_consoleserverport %} -
    - {% csrf_token %} - {% endif %} -
    -
    - Console Server Ports -
    - - - - {% if perms.dcim.change_consoleserverport or perms.dcim.delete_consoleserverport %} - - {% endif %} - - - - - - - - {% for csp in consoleserverports %} - {% include 'dcim/inc/consoleserverport.html' %} - {% endfor %} - -
    NameCableConnection
    - -
    - {% if perms.dcim.delete_consoleserverport %} -
    - {% endif %} - {% endif %} - {% if poweroutlets %} - {% if perms.dcim.delete_poweroutlet %} -
    - {% csrf_token %} - {% endif %} -
    -
    - Power Outlets -
    - - - - {% if perms.dcim.change_poweroutlet or perms.dcim.delete_poweroutlet %} - - {% endif %} - - - - - - - - {% for po in poweroutlets %} - {% include 'dcim/inc/poweroutlet.html' %} - {% endfor %} - -
    NameCableConnection
    - -
    - {% if perms.dcim.delete_poweroutlet %} -
    - {% endif %} - {% endif %} - {% if front_ports %} -
    + {% if perms.secrets.add_secret %} + {% csrf_token %} -
    -
    - Front Ports -
    - - - - {% if perms.dcim.change_frontport or perms.dcim.delete_frontport %} - - {% endif %} - - - - - - - - - - - - {% for frontport in front_ports %} - {% include 'dcim/inc/frontport.html' %} - {% endfor %} - -
    NameTypeRear PortPositionDescriptionCableConnection
    - -
    -
    + + {% endif %} - {% if rear_ports %} -
    - {% csrf_token %} -
    -
    - Rear Ports -
    - - - - {% if perms.dcim.change_rearport or perms.dcim.delete_rearport %} - - {% endif %} - - - - - - - - - - - {% for rearport in rear_ports %} - {% include 'dcim/inc/rearport.html' %} - {% endfor %} - -
    NameTypePositionsDescriptionCableConnection
    - -
    -
    +
    + {% endif %} +
    +
    + Services +
    + {% if services %} + + {% for service in services %} + {% include 'ipam/inc/service.html' %} + {% endfor %} +
    + {% else %} +
    + None +
    + {% endif %} + {% if perms.ipam.add_service %} + + {% endif %} +
    +
    +
    + Images +
    + {% include 'inc/image_attachments.html' with images=device.images.all %} + {% if perms.extras.add_imageattachment %} + + {% endif %} +
    +
    +
    + Related Devices +
    + {% if related_devices %} + + {% for rd in related_devices %} + + + + + + {% endfor %} +
    + {{ rd }} + + {% if rd.rack %} + Rack {{ rd.rack }} + {% else %} + + {% endif %} + {{ rd.device_type.display_name }}
    + {% else %} +
    None found
    {% endif %}
    +
    +
    +
    + {% if device_bays or device.device_type.is_parent_device %} + {% if perms.dcim.delete_devicebay %} +
    + {% csrf_token %} + {% endif %} +
    +
    + Device Bays +
    + + + + {% if perms.dcim.change_devicebay or perms.dcim.delete_devicebay %} + + {% endif %} + + + + + + + + {% for devicebay in device_bays %} + {% include 'dcim/inc/devicebay.html' %} + {% empty %} + + + + {% endfor %} + +
    NameStatusInstalled Device
    — No device bays defined —
    + +
    + {% if perms.dcim.delete_devicebay %} +
    + {% endif %} + {% endif %} + {% if interfaces %} + {% if perms.dcim.change_interface or perms.dcim.delete_interface %} +
    + {% csrf_token %} + + {% endif %} +
    +
    + Interfaces +
    + + +
    +
    + + + + + {% if perms.dcim.change_interface or perms.dcim.delete_interface %} + + {% endif %} + + + + + + + + + + + + {% for iface in interfaces %} + {% include 'dcim/inc/interface.html' %} + {% endfor %} + +
    NameLAGDescriptionMTUModeCableConnection
    + + {% include 'dcim/inc/interfaces_vlan_table.html' %} + + +
    + + + + + {% if perms.dcim.delete_interface %} +
    + {% endif %} + {% endif %} + {% if consoleserverports %} + {% if perms.dcim.delete_consoleserverport %} +
    + {% csrf_token %} + {% endif %} +
    +
    + Console Server Ports +
    + + + + {% if perms.dcim.change_consoleserverport or perms.dcim.delete_consoleserverport %} + + {% endif %} + + + + + + + + {% for csp in consoleserverports %} + {% include 'dcim/inc/consoleserverport.html' %} + {% endfor %} + +
    NameCableConnection
    + +
    + {% if perms.dcim.delete_consoleserverport %} +
    + {% endif %} + {% endif %} + {% if poweroutlets %} + {% if perms.dcim.delete_poweroutlet %} +
    + {% csrf_token %} + {% endif %} +
    +
    + Power Outlets +
    + + + + {% if perms.dcim.change_poweroutlet or perms.dcim.delete_poweroutlet %} + + {% endif %} + + + + + + + + {% for po in poweroutlets %} + {% include 'dcim/inc/poweroutlet.html' %} + {% endfor %} + +
    NameCableConnection
    + +
    + {% if perms.dcim.delete_poweroutlet %} +
    + {% endif %} + {% endif %} + {% if front_ports %} +
    + {% csrf_token %} +
    +
    + Front Ports +
    + + + + {% if perms.dcim.change_frontport or perms.dcim.delete_frontport %} + + {% endif %} + + + + + + + + + + + + {% for frontport in front_ports %} + {% include 'dcim/inc/frontport.html' %} + {% endfor %} + +
    NameTypeRear PortPositionDescriptionCableConnection
    + +
    +
    + {% endif %} + {% if rear_ports %} +
    + {% csrf_token %} +
    +
    + Rear Ports +
    + + + + {% if perms.dcim.change_rearport or perms.dcim.delete_rearport %} + + {% endif %} + + + + + + + + + + + {% for rearport in rear_ports %} + {% include 'dcim/inc/rearport.html' %} + {% endfor %} + +
    NameTypePositionsDescriptionCableConnection
    + +
    +
    + {% endif %} +
    +
    {% include 'inc/modal.html' with modal_name='graphs' %} {% include 'secrets/inc/private_key_modal.html' %} {% endblock %} {% block javascript %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/netbox/templates/dcim/inc/interfaces_vlan_table.html b/netbox/templates/dcim/inc/interfaces_vlan_table.html new file mode 100644 index 000000000..756bd0b40 --- /dev/null +++ b/netbox/templates/dcim/inc/interfaces_vlan_table.html @@ -0,0 +1,89 @@ + + + + + + + + + + + + + {% for iface in interfaces %} + + + {% load helpers %} + + + + {# Icon and name #} + + + {# LAG #} + + + {# Description/tags #} + + + {# 802.1Q mode #} + + + + + + + + + + + + + {% endfor %} + + \ No newline at end of file