diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py
index 47109c233..dcf3298f9 100644
--- a/netbox/dcim/forms.py
+++ b/netbox/dcim/forms.py
@@ -1738,6 +1738,9 @@ class FrontPortTemplateCreateForm(ComponentTemplateCreateForm):
choices=PortTypeChoices,
widget=StaticSelect()
)
+ color = ColorField(
+ required=False
+ )
rear_port_set = forms.MultipleChoiceField(
choices=[],
label='Rear ports',
diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py
index 432428003..352ac7d5c 100644
--- a/netbox/dcim/tables/devices.py
+++ b/netbox/dcim/tables/devices.py
@@ -288,10 +288,10 @@ class ConsolePortTable(DeviceComponentTable, PathEndpointTable):
class Meta(DeviceComponentTable.Meta):
model = ConsolePort
fields = (
- 'pk', 'device', 'name', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color',
+ 'pk', 'name', 'device', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color',
'cable_peer', 'connection', 'tags',
)
- default_columns = ('pk', 'device', 'name', 'label', 'type', 'speed', 'description')
+ default_columns = ('pk', 'name', 'device', 'label', 'type', 'speed', 'description')
class DeviceConsolePortTable(ConsolePortTable):
@@ -332,10 +332,10 @@ class ConsoleServerPortTable(DeviceComponentTable, PathEndpointTable):
class Meta(DeviceComponentTable.Meta):
model = ConsoleServerPort
fields = (
- 'pk', 'device', 'name', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color',
+ 'pk', 'name', 'device', 'label', 'type', 'speed', 'description', 'mark_connected', 'cable', 'cable_color',
'cable_peer', 'connection', 'tags',
)
- default_columns = ('pk', 'device', 'name', 'label', 'type', 'speed', 'description')
+ default_columns = ('pk', 'name', 'device', 'label', 'type', 'speed', 'description')
class DeviceConsoleServerPortTable(ConsoleServerPortTable):
@@ -377,10 +377,10 @@ class PowerPortTable(DeviceComponentTable, PathEndpointTable):
class Meta(DeviceComponentTable.Meta):
model = PowerPort
fields = (
- 'pk', 'device', 'name', 'label', 'type', 'description', 'mark_connected', 'maximum_draw', 'allocated_draw',
+ 'pk', 'name', 'device', 'label', 'type', 'description', 'mark_connected', 'maximum_draw', 'allocated_draw',
'cable', 'cable_color', 'cable_peer', 'connection', 'tags',
)
- default_columns = ('pk', 'device', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description')
+ default_columns = ('pk', 'name', 'device', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description')
class DevicePowerPortTable(PowerPortTable):
@@ -428,10 +428,10 @@ class PowerOutletTable(DeviceComponentTable, PathEndpointTable):
class Meta(DeviceComponentTable.Meta):
model = PowerOutlet
fields = (
- 'pk', 'device', 'name', 'label', 'type', 'description', 'power_port', 'feed_leg', 'mark_connected', 'cable',
+ 'pk', 'name', 'device', 'label', 'type', 'description', 'power_port', 'feed_leg', 'mark_connected', 'cable',
'cable_color', 'cable_peer', 'connection', 'tags',
)
- default_columns = ('pk', 'device', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description')
+ default_columns = ('pk', 'name', 'device', 'label', 'type', 'power_port', 'feed_leg', 'description')
class DevicePowerOutletTable(PowerOutletTable):
@@ -490,11 +490,11 @@ class InterfaceTable(DeviceComponentTable, BaseInterfaceTable, PathEndpointTable
class Meta(DeviceComponentTable.Meta):
model = Interface
fields = (
- 'pk', 'device', 'name', 'label', 'enabled', 'type', 'mgmt_only', 'mtu', 'mode', 'mac_address',
+ 'pk', 'name', 'device', 'label', 'enabled', 'type', 'mgmt_only', 'mtu', 'mode', 'mac_address',
'description', 'mark_connected', 'cable', 'cable_color', 'cable_peer', 'connection', 'tags', 'ip_addresses',
'untagged_vlan', 'tagged_vlans',
)
- default_columns = ('pk', 'device', 'name', 'label', 'enabled', 'type', 'description')
+ default_columns = ('pk', 'name', 'device', 'label', 'enabled', 'type', 'description')
class DeviceInterfaceTable(InterfaceTable):
@@ -559,11 +559,11 @@ class FrontPortTable(DeviceComponentTable, CableTerminationTable):
class Meta(DeviceComponentTable.Meta):
model = FrontPort
fields = (
- 'pk', 'device', 'name', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description',
+ 'pk', 'name', 'device', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description',
'mark_connected', 'cable', 'cable_color', 'cable_peer', 'tags',
)
default_columns = (
- 'pk', 'device', 'name', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description',
+ 'pk', 'name', 'device', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description',
)
@@ -610,10 +610,10 @@ class RearPortTable(DeviceComponentTable, CableTerminationTable):
class Meta(DeviceComponentTable.Meta):
model = RearPort
fields = (
- 'pk', 'device', 'name', 'label', 'type', 'color', 'positions', 'description', 'mark_connected', 'cable',
+ 'pk', 'name', 'device', 'label', 'type', 'color', 'positions', 'description', 'mark_connected', 'cable',
'cable_color', 'cable_peer', 'tags',
)
- default_columns = ('pk', 'device', 'name', 'label', 'type', 'color', 'description')
+ default_columns = ('pk', 'name', 'device', 'label', 'type', 'color', 'description')
class DeviceRearPortTable(RearPortTable):
@@ -662,8 +662,8 @@ class DeviceBayTable(DeviceComponentTable):
class Meta(DeviceComponentTable.Meta):
model = DeviceBay
- fields = ('pk', 'device', 'name', 'label', 'status', 'installed_device', 'description', 'tags')
- default_columns = ('pk', 'device', 'name', 'label', 'status', 'installed_device', 'description')
+ fields = ('pk', 'name', 'device', 'label', 'status', 'installed_device', 'description', 'tags')
+ default_columns = ('pk', 'name', 'device', 'label', 'status', 'installed_device', 'description')
class DeviceDeviceBayTable(DeviceBayTable):
@@ -708,10 +708,10 @@ class InventoryItemTable(DeviceComponentTable):
class Meta(BaseTable.Meta):
model = InventoryItem
fields = (
- 'pk', 'device', 'name', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description',
+ 'pk', 'name', 'device', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description',
'discovered', 'tags',
)
- default_columns = ('pk', 'device', 'name', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag')
+ default_columns = ('pk', 'name', 'device', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag')
class DeviceInventoryItemTable(InventoryItemTable):
diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py
index a34ce5c53..a883bab0f 100644
--- a/netbox/ipam/forms.py
+++ b/netbox/ipam/forms.py
@@ -147,6 +147,10 @@ class RouteTargetForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
fields = [
'name', 'description', 'tenant_group', 'tenant', 'tags',
]
+ fieldsets = (
+ ('Route Target', ('name', 'description', 'tags')),
+ ('Tenancy', ('tenant_group', 'tenant')),
+ )
class RouteTargetCSVForm(CustomFieldModelCSVForm):
@@ -626,9 +630,8 @@ class PrefixFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFilter
model = Prefix
field_groups = [
['q', 'tag'],
- ['within_include', 'family', 'status', 'role_id'],
+ ['within_include', 'family', 'status', 'role_id', 'mask_length', 'is_pool', 'mark_utilized'],
['vrf_id', 'present_in_vrf_id'],
- ['mask_length', 'is_pool', 'mark_utilized'],
['region_id', 'site_group_id', 'site_id'],
['tenant_group_id', 'tenant_id']
]
@@ -1270,9 +1273,8 @@ class IPAddressFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldModelFil
]
field_groups = [
['q', 'tag'],
- ['parent', 'family', 'status', 'role'],
+ ['parent', 'family', 'status', 'role', 'mask_length', 'assigned_to_interface'],
['vrf_id', 'present_in_vrf_id'],
- ['mask_length', 'assigned_to_interface'],
['tenant_group_id', 'tenant_id'],
]
q = forms.CharField(
diff --git a/netbox/ipam/tables.py b/netbox/ipam/tables.py
index 96c2c892e..e4bb7d693 100644
--- a/netbox/ipam/tables.py
+++ b/netbox/ipam/tables.py
@@ -548,7 +548,7 @@ class VLANTable(BaseTable):
class Meta(BaseTable.Meta):
model = VLAN
- fields = ('pk', 'vid', 'site', 'group', 'name', 'tenant', 'status', 'role', 'description')
+ fields = ('pk', 'vid', 'name', 'site', 'group', 'tenant', 'status', 'role', 'description')
row_attrs = {
'class': lambda record: 'success' if not isinstance(record, VLAN) else '',
}
@@ -566,8 +566,8 @@ class VLANDetailTable(VLANTable):
)
class Meta(VLANTable.Meta):
- fields = ('pk', 'vid', 'site', 'group', 'name', 'prefixes', 'tenant', 'status', 'role', 'description', 'tags')
- default_columns = ('pk', 'vid', 'site', 'group', 'name', 'prefixes', 'tenant', 'status', 'role', 'description')
+ fields = ('pk', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description', 'tags')
+ default_columns = ('pk', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description')
class VLANMembersTable(BaseTable):
diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css
index 5de631e37..1a55a0096 100644
Binary files a/netbox/project-static/dist/netbox-dark.css and b/netbox/project-static/dist/netbox-dark.css differ
diff --git a/netbox/project-static/dist/netbox-light.css b/netbox/project-static/dist/netbox-light.css
index 330e2efc9..ed5941e35 100644
Binary files a/netbox/project-static/dist/netbox-light.css and b/netbox/project-static/dist/netbox-light.css differ
diff --git a/netbox/project-static/dist/netbox-print.css b/netbox/project-static/dist/netbox-print.css
index c77db1bc8..bc76dc029 100644
Binary files a/netbox/project-static/dist/netbox-print.css and b/netbox/project-static/dist/netbox-print.css differ
diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss
index e19e8f964..de568d22d 100644
--- a/netbox/project-static/styles/netbox.scss
+++ b/netbox/project-static/styles/netbox.scss
@@ -243,6 +243,7 @@ table {
&.attr-table {
th {
+ font-weight: normal;
width: 25%;
}
}
@@ -723,10 +724,6 @@ div.paginator > form > div.input-group {
width: fit-content;
}
-div.field-group:not(:first-of-type) {
- margin-top: $spacer * 3;
-}
-
label.required {
font-weight: $font-weight-bold;
diff --git a/netbox/templates/circuits/circuit.html b/netbox/templates/circuits/circuit.html
index 7b22c5d65..bf26d7fe3 100644
--- a/netbox/templates/circuits/circuit.html
+++ b/netbox/templates/circuits/circuit.html
@@ -24,7 +24,7 @@
Circuit ID |
- {{ object.cid }} |
+ {{ object.cid }} |
Type |
diff --git a/netbox/templates/circuits/circuittermination_edit.html b/netbox/templates/circuits/circuittermination_edit.html
index edafc94a8..76ef4a5d2 100644
--- a/netbox/templates/circuits/circuittermination_edit.html
+++ b/netbox/templates/circuits/circuittermination_edit.html
@@ -5,7 +5,7 @@
{% block title %}{{ obj.circuit.provider }} {{ obj.circuit }} - Side {{ form.term_side.value }}{% endblock %}
{% block form %}
-
+
Circuit Termination
@@ -41,7 +41,7 @@
-
+
{% render_field form.region %}
{% render_field form.site_group %}
@@ -53,7 +53,9 @@
{% endwith %}
-
+
+
+
Termination Details
diff --git a/netbox/templates/circuits/inc/circuit_termination.html b/netbox/templates/circuits/inc/circuit_termination.html
index 3b0a84219..e2fe6af29 100644
--- a/netbox/templates/circuits/inc/circuit_termination.html
+++ b/netbox/templates/circuits/inc/circuit_termination.html
@@ -54,9 +54,9 @@
{% endif %}
{{ peer }}
{% endwith %}
-
Type |
- {{ object.get_type_display }} |
+ {{ object.get_type_display|placeholder }} |
- Speed |
+ Speed |
{{ object.get_speed_display|placeholder }} |
diff --git a/netbox/templates/dcim/device_edit.html b/netbox/templates/dcim/device_edit.html
index c900b10dd..ab754a74f 100644
--- a/netbox/templates/dcim/device_edit.html
+++ b/netbox/templates/dcim/device_edit.html
@@ -4,7 +4,7 @@
{% block form %}
{% render_errors form %}
-
+
Device
@@ -12,8 +12,9 @@
{% render_field form.device_role %}
{% render_field form.tags %}
+
-
+
Hardware
@@ -22,8 +23,9 @@
{% render_field form.serial %}
{% render_field form.asset_tag %}
+
-
+
Location
@@ -56,8 +58,9 @@
{% render_field form.position %}
{% endif %}
+
-
+
Management
@@ -68,38 +71,43 @@
{% render_field form.primary_ip6 %}
{% endif %}
+
-
+
Virtualization
{% render_field form.cluster_group %}
{% render_field form.cluster %}
+
-
+
Tenancy
{% render_field form.tenant_group %}
{% render_field form.tenant %}
+
-{% if form.custom_fields %}
-
+ {% if form.custom_fields %}
+
Custom Fields
{% render_custom_fields form %}
-
+
+
+ {% endif %}
-{% endif %}
-
+
Local Config Context Data
{% render_field form.local_context_data %}
+
-
+
{% render_field form.comments label='Comments' %}
diff --git a/netbox/templates/dcim/inc/cable_form.html b/netbox/templates/dcim/inc/cable_form.html
index 89d4c5130..f1baeb756 100644
--- a/netbox/templates/dcim/inc/cable_form.html
+++ b/netbox/templates/dcim/inc/cable_form.html
@@ -16,8 +16,11 @@
{% render_field form.tags %}
{% if form.custom_fields %}
+
-
Custom Fields
- {% render_custom_fields form %}
+
+
Custom Fields
+
+ {% render_custom_fields form %}
{% endif %}
diff --git a/netbox/templates/dcim/interface_edit.html b/netbox/templates/dcim/interface_edit.html
index 8b8845e8c..64cd8407e 100644
--- a/netbox/templates/dcim/interface_edit.html
+++ b/netbox/templates/dcim/interface_edit.html
@@ -2,7 +2,7 @@
{% load form_helpers %}
{% block form %}
-
+
Interface
@@ -27,7 +27,9 @@
{% render_field form.mgmt_only %}
{% render_field form.mark_connected %}
-
+
+
+
802.1Q Switching
@@ -36,13 +38,15 @@
{% render_field form.untagged_vlan %}
{% render_field form.tagged_vlans %}
+
{% if form.custom_fields %}
-
-
-
Custom Fields
-
- {% render_custom_fields form %}
+
+
+
+
Custom Fields
+ {% render_custom_fields form %}
+
{% endif %}
{% endblock %}
diff --git a/netbox/templates/dcim/manufacturer.html b/netbox/templates/dcim/manufacturer.html
index 3c3699c91..85d76f14f 100644
--- a/netbox/templates/dcim/manufacturer.html
+++ b/netbox/templates/dcim/manufacturer.html
@@ -26,7 +26,7 @@
- Inventory Items |
+ Inventory Items |
{{ inventory_item_count }}
|
diff --git a/netbox/templates/dcim/rack_edit.html b/netbox/templates/dcim/rack_edit.html
index 09b1586e2..64e366ea7 100644
--- a/netbox/templates/dcim/rack_edit.html
+++ b/netbox/templates/dcim/rack_edit.html
@@ -2,7 +2,7 @@
{% load form_helpers %}
{% block form %}
-
+
Rack
@@ -15,7 +15,9 @@
{% render_field form.role %}
{% render_field form.tags %}
-
+
+
+
Inventory Control
@@ -23,14 +25,18 @@
{% render_field form.serial %}
{% render_field form.asset_tag %}
-
+
+
+
Tenancy
{% render_field form.tenant_group %}
{% render_field form.tenant %}
-
+
+
+
Dimensions
@@ -54,15 +60,19 @@
{% render_field form.desc_units %}
+
+
{% if form.custom_fields %}
-
+
Custom Fields
- {% render_custom_fields form %}
-
+ {% render_custom_fields form %}
+
+
{% endif %}
-
+
+
{% render_field form.comments label='Comments' %}
{% endblock %}
diff --git a/netbox/templates/dcim/site.html b/netbox/templates/dcim/site.html
index 1e50e7ba6..17628cbde 100644
--- a/netbox/templates/dcim/site.html
+++ b/netbox/templates/dcim/site.html
@@ -209,7 +209,14 @@
Locations
+ {% if locations %}
+
+ Location |
+ Racks |
+ Devices |
+ |
+
{% for location in locations %}
@@ -230,6 +237,9 @@
|
{% endfor %}
+ {% else %}
+
None
+ {% endif %}
diff --git a/netbox/templates/dcim/virtualchassis_add.html b/netbox/templates/dcim/virtualchassis_add.html
index 1a5bd85c2..1ff0cd8bd 100644
--- a/netbox/templates/dcim/virtualchassis_add.html
+++ b/netbox/templates/dcim/virtualchassis_add.html
@@ -2,7 +2,7 @@
{% load form_helpers %}
{% block form %}
-
+
Virtual Chassis
@@ -10,7 +10,9 @@
{% render_field form.domain %}
{% render_field form.tags %}
-
+
+
+
Member Devices
@@ -21,8 +23,10 @@
{% render_field form.members %}
{% render_field form.initial_position %}
+
{% if form.custom_fields %}
-
+
+
Custom Fields
diff --git a/netbox/templates/dcim/virtualchassis_edit.html b/netbox/templates/dcim/virtualchassis_edit.html
index e726b7687..c994f05dc 100644
--- a/netbox/templates/dcim/virtualchassis_edit.html
+++ b/netbox/templates/dcim/virtualchassis_edit.html
@@ -11,7 +11,7 @@
{% csrf_token %}
{{ pk_form.pk }}
{{ formset.management_form }}
-
+
Virtual Chassis
@@ -20,14 +20,18 @@
{% render_field vc_form.master %}
{% render_field vc_form.tags %}
+
+
{% if vc_form.custom_fields %}
-
+
Custom Fields
{% render_custom_fields vc_form %}
+
{% endif %}
+
Members
diff --git a/netbox/templates/generic/object_edit.html b/netbox/templates/generic/object_edit.html
index 95657249d..7ee4c4f94 100644
--- a/netbox/templates/generic/object_edit.html
+++ b/netbox/templates/generic/object_edit.html
@@ -42,7 +42,7 @@
{# Render grouped fields according to Form #}
{% for group, fields in form.Meta.fieldsets %}
-
+
{{ group }}
@@ -50,11 +50,15 @@
{% render_field form|getfield:name %}
{% endfor %}
+ {% if not forloop.last %}
+
+ {% endif %}
{% endfor %}
{% if form.custom_fields %}
-
-
+
+
+
Custom Fields
{% render_custom_fields form %}
@@ -62,14 +66,15 @@
{% endif %}
{% if form.comments %}
-
+
+
{% render_field form.comments label='Comments' %}
{% endif %}
{% else %}
{# Render all fields in a single group #}
-
+
{% block form_fields %}{% render_form form %}{% endblock %}
{% endif %}
diff --git a/netbox/templates/inc/filter_list.html b/netbox/templates/inc/filter_list.html
index cf1ec342e..1e73fedb2 100644
--- a/netbox/templates/inc/filter_list.html
+++ b/netbox/templates/inc/filter_list.html
@@ -48,7 +48,7 @@
Reset
diff --git a/netbox/templates/ipam/aggregate.html b/netbox/templates/ipam/aggregate.html
index 0e8366e4a..43760ed80 100644
--- a/netbox/templates/ipam/aggregate.html
+++ b/netbox/templates/ipam/aggregate.html
@@ -34,7 +34,7 @@
Utilization |
- {{ object.get_utilization }}%
+ {% utilization_graph object.get_utilization %}
|
diff --git a/netbox/templates/ipam/ipaddress_bulk_add.html b/netbox/templates/ipam/ipaddress_bulk_add.html
index 84fe60dcf..af0b27e98 100644
--- a/netbox/templates/ipam/ipaddress_bulk_add.html
+++ b/netbox/templates/ipam/ipaddress_bulk_add.html
@@ -9,8 +9,10 @@
{% endblock %}
{% block form %}
-
-
IP Addresses
+
+
+
IP Addresses
+
{% render_field form.pattern %}
{% render_field model_form.status %}
{% render_field model_form.role %}
@@ -18,14 +20,21 @@
{% render_field model_form.description %}
{% render_field model_form.tags %}
-
-
Tenancy
+
+
+
+
+
Tenancy
+
{% render_field model_form.tenant_group %}
{% render_field model_form.tenant %}
{% if model_form.custom_fields %}
-
-
Custom Fields
+
+
+
+
Custom Fields
+
{% render_custom_fields model_form %}
{% endif %}
diff --git a/netbox/templates/ipam/ipaddress_edit.html b/netbox/templates/ipam/ipaddress_edit.html
index 1aa5d1d81..d12c12245 100644
--- a/netbox/templates/ipam/ipaddress_edit.html
+++ b/netbox/templates/ipam/ipaddress_edit.html
@@ -8,7 +8,7 @@
{% endblock tabs %}
{% block form %}
-
+
IP Address
@@ -20,14 +20,18 @@
{% render_field form.description %}
{% render_field form.tags %}
-
+
+
+
Tenancy
{% render_field form.tenant_group %}
{% render_field form.tenant %}
-
+
+
+
Interface Assignment
@@ -64,7 +68,7 @@
-
+
{% render_field form.device %}
{% render_field form.interface %}
@@ -77,7 +81,9 @@
{% endwith %}
-
+
+
+
NAT IP (Inside)
@@ -126,7 +132,7 @@
-
+
{% render_field form.nat_region %}
{% render_field form.nat_site_group %}
@@ -144,8 +150,10 @@
{% render_field form.nat_inside %}
+
{% if form.custom_fields %}
-
+
+
Custom Fields
diff --git a/netbox/templates/ipam/service_edit.html b/netbox/templates/ipam/service_edit.html
index 9fbd3b9e6..fe8ddf525 100644
--- a/netbox/templates/ipam/service_edit.html
+++ b/netbox/templates/ipam/service_edit.html
@@ -2,7 +2,7 @@
{% load form_helpers %}
{% block form %}
-
+
Service
@@ -24,10 +24,10 @@
{% render_field form.name %}
-
+
{{ form.protocol }}
-
@@ -41,7 +41,9 @@
{% render_field form.description %}
{% render_field form.tags %}
+
{% if form.custom_fields %}
+
Custom Fields
diff --git a/netbox/templates/ipam/vlan_edit.html b/netbox/templates/ipam/vlan_edit.html
index f1f4ecc2d..776e0aa4a 100644
--- a/netbox/templates/ipam/vlan_edit.html
+++ b/netbox/templates/ipam/vlan_edit.html
@@ -4,7 +4,7 @@
{% load helpers %}
{% block form %}
-
+
VLAN
@@ -15,14 +15,18 @@
{% render_field form.description %}
{% render_field form.tags %}
-
+
+
+
Tenancy
{% render_field form.tenant_group %}
{% render_field form.tenant %}
-
+
+
+
Assignment
@@ -39,7 +43,7 @@
-
+
{% render_field form.scope_type %}
{% render_field form.group %}
@@ -52,8 +56,10 @@
{% endwith %}
+
{% if form.custom_fields %}
-
+
+
Custom Fields
diff --git a/netbox/templates/virtualization/cluster/base.html b/netbox/templates/virtualization/cluster/base.html
index fec0da220..082a4d37a 100644
--- a/netbox/templates/virtualization/cluster/base.html
+++ b/netbox/templates/virtualization/cluster/base.html
@@ -13,13 +13,13 @@
{% block extra_controls %}
{% if perms.virtualization.change_cluster and perms.virtualization.add_virtualmachine %}
-
+
Add Virtual Machine
{% endif %}
{% if perms.virtualization.change_cluster %}
-
+
Assign Device
{% endif %}
diff --git a/netbox/templates/virtualization/vminterface_edit.html b/netbox/templates/virtualization/vminterface_edit.html
index 1ea417dbe..ad3c77e13 100644
--- a/netbox/templates/virtualization/vminterface_edit.html
+++ b/netbox/templates/virtualization/vminterface_edit.html
@@ -2,7 +2,7 @@
{% load form_helpers %}
{% block form %}
-
+
Interface
@@ -22,7 +22,9 @@
{% render_field form.description %}
{% render_field form.tags %}
-
+
+
+
802.1Q Switching
@@ -31,8 +33,10 @@
{% render_field form.untagged_vlan %}
{% render_field form.tagged_vlans %}
+
{% if form.custom_fields %}
-
+
+
Custom Fields
diff --git a/netbox/virtualization/tables.py b/netbox/virtualization/tables.py
index dfa65b41c..b5fb93e5c 100644
--- a/netbox/virtualization/tables.py
+++ b/netbox/virtualization/tables.py
@@ -180,10 +180,10 @@ class VMInterfaceTable(BaseInterfaceTable):
class Meta(BaseTable.Meta):
model = VMInterface
fields = (
- 'pk', 'virtual_machine', 'name', 'enabled', 'parent', 'mac_address', 'mtu', 'mode', 'description', 'tags',
+ 'pk', 'name', 'virtual_machine', 'enabled', 'parent', 'mac_address', 'mtu', 'mode', 'description', 'tags',
'ip_addresses', 'untagged_vlan', 'tagged_vlans',
)
- default_columns = ('pk', 'virtual_machine', 'name', 'enabled', 'parent', 'description')
+ default_columns = ('pk', 'name', 'virtual_machine', 'enabled', 'parent', 'description')
class VirtualMachineVMInterfaceTable(VMInterfaceTable):