mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Add VMInterface list view
This commit is contained in:
@ -372,6 +372,9 @@
|
||||
{% endif %}
|
||||
<a href="{% url 'virtualization:virtualmachine_list' %}">Virtual Machines</a>
|
||||
</li>
|
||||
<li{% if not perms.virtualization.view_vminterface%} class="disabled"{% endif %}>
|
||||
<a href="{% url 'virtualization:vminterface_list' %}">Interfaces</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li class="dropdown-header">Clusters</li>
|
||||
<li{% if not perms.virtualization.view_cluster %} class="disabled"{% endif %}>
|
||||
|
@ -173,7 +173,11 @@ class VirtualMachineDetailTable(VirtualMachineTable):
|
||||
#
|
||||
|
||||
class VMInterfaceTable(BaseTable):
|
||||
virtual_machine = tables.LinkColumn()
|
||||
name = tables.Column(
|
||||
linkify=True
|
||||
)
|
||||
|
||||
class Meta(BaseTable.Meta):
|
||||
model = VMInterface
|
||||
fields = ('name', 'enabled', 'description')
|
||||
fields = ('virtual_machine', 'name', 'enabled', 'mac_address', 'mtu', 'description')
|
||||
|
@ -192,6 +192,7 @@ class VirtualMachineTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
||||
# TODO: Update base class to DeviceComponentViewTestCase
|
||||
# Blocked by #4721
|
||||
class VMInterfaceTestCase(
|
||||
ViewTestCases.ListObjectsViewTestCase,
|
||||
ViewTestCases.GetObjectViewTestCase,
|
||||
ViewTestCases.EditObjectViewTestCase,
|
||||
ViewTestCases.DeleteObjectViewTestCase,
|
||||
|
@ -51,6 +51,7 @@ urlpatterns = [
|
||||
path('virtual-machines/<int:virtualmachine>/services/assign/', ServiceEditView.as_view(), name='virtualmachine_service_assign'),
|
||||
|
||||
# VM interfaces
|
||||
path('interfaces/', views.InterfaceListView.as_view(), name='vminterface_list'),
|
||||
path('interfaces/add/', views.InterfaceCreateView.as_view(), name='vminterface_add'),
|
||||
path('interfaces/edit/', views.InterfaceBulkEditView.as_view(), name='vminterface_bulk_edit'),
|
||||
path('interfaces/delete/', views.InterfaceBulkDeleteView.as_view(), name='vminterface_bulk_delete'),
|
||||
|
@ -290,11 +290,11 @@ class VirtualMachineBulkDeleteView(BulkDeleteView):
|
||||
#
|
||||
|
||||
class InterfaceListView(ObjectListView):
|
||||
queryset = VMInterface.objects.prefetch_related('virtual_machine', 'virtual_machine__tenant', 'cable')
|
||||
queryset = VMInterface.objects.prefetch_related('virtual_machine')
|
||||
filterset = filters.VMInterfaceFilterSet
|
||||
filterset_form = forms.VMInterfaceFilterForm
|
||||
table = tables.VMInterfaceTable
|
||||
action_buttons = ('import', 'export')
|
||||
action_buttons = ('export',)
|
||||
|
||||
|
||||
class InterfaceView(ObjectView):
|
||||
|
Reference in New Issue
Block a user