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 %}
|
{% endif %}
|
||||||
<a href="{% url 'virtualization:virtualmachine_list' %}">Virtual Machines</a>
|
<a href="{% url 'virtualization:virtualmachine_list' %}">Virtual Machines</a>
|
||||||
</li>
|
</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="divider"></li>
|
||||||
<li class="dropdown-header">Clusters</li>
|
<li class="dropdown-header">Clusters</li>
|
||||||
<li{% if not perms.virtualization.view_cluster %} class="disabled"{% endif %}>
|
<li{% if not perms.virtualization.view_cluster %} class="disabled"{% endif %}>
|
||||||
|
@ -173,7 +173,11 @@ class VirtualMachineDetailTable(VirtualMachineTable):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class VMInterfaceTable(BaseTable):
|
class VMInterfaceTable(BaseTable):
|
||||||
|
virtual_machine = tables.LinkColumn()
|
||||||
|
name = tables.Column(
|
||||||
|
linkify=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
model = VMInterface
|
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
|
# TODO: Update base class to DeviceComponentViewTestCase
|
||||||
# Blocked by #4721
|
# Blocked by #4721
|
||||||
class VMInterfaceTestCase(
|
class VMInterfaceTestCase(
|
||||||
|
ViewTestCases.ListObjectsViewTestCase,
|
||||||
ViewTestCases.GetObjectViewTestCase,
|
ViewTestCases.GetObjectViewTestCase,
|
||||||
ViewTestCases.EditObjectViewTestCase,
|
ViewTestCases.EditObjectViewTestCase,
|
||||||
ViewTestCases.DeleteObjectViewTestCase,
|
ViewTestCases.DeleteObjectViewTestCase,
|
||||||
|
@ -51,6 +51,7 @@ urlpatterns = [
|
|||||||
path('virtual-machines/<int:virtualmachine>/services/assign/', ServiceEditView.as_view(), name='virtualmachine_service_assign'),
|
path('virtual-machines/<int:virtualmachine>/services/assign/', ServiceEditView.as_view(), name='virtualmachine_service_assign'),
|
||||||
|
|
||||||
# VM interfaces
|
# VM interfaces
|
||||||
|
path('interfaces/', views.InterfaceListView.as_view(), name='vminterface_list'),
|
||||||
path('interfaces/add/', views.InterfaceCreateView.as_view(), name='vminterface_add'),
|
path('interfaces/add/', views.InterfaceCreateView.as_view(), name='vminterface_add'),
|
||||||
path('interfaces/edit/', views.InterfaceBulkEditView.as_view(), name='vminterface_bulk_edit'),
|
path('interfaces/edit/', views.InterfaceBulkEditView.as_view(), name='vminterface_bulk_edit'),
|
||||||
path('interfaces/delete/', views.InterfaceBulkDeleteView.as_view(), name='vminterface_bulk_delete'),
|
path('interfaces/delete/', views.InterfaceBulkDeleteView.as_view(), name='vminterface_bulk_delete'),
|
||||||
|
@ -290,11 +290,11 @@ class VirtualMachineBulkDeleteView(BulkDeleteView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class InterfaceListView(ObjectListView):
|
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 = filters.VMInterfaceFilterSet
|
||||||
filterset_form = forms.VMInterfaceFilterForm
|
filterset_form = forms.VMInterfaceFilterForm
|
||||||
table = tables.VMInterfaceTable
|
table = tables.VMInterfaceTable
|
||||||
action_buttons = ('import', 'export')
|
action_buttons = ('export',)
|
||||||
|
|
||||||
|
|
||||||
class InterfaceView(ObjectView):
|
class InterfaceView(ObjectView):
|
||||||
|
Reference in New Issue
Block a user