87 lines
2.9 KiB
Python
87 lines
2.9 KiB
Python
from netbox.views import generic
|
|
from utilities.views import register_model_view
|
|
|
|
from netbox_librenms_plugin.filters import InterfaceTypeMappingFilterSet
|
|
from netbox_librenms_plugin.forms import (
|
|
InterfaceTypeMappingFilterForm,
|
|
InterfaceTypeMappingForm,
|
|
InterfaceTypeMappingImportForm,
|
|
)
|
|
from netbox_librenms_plugin.models import InterfaceTypeMapping
|
|
from netbox_librenms_plugin.tables.mappings import InterfaceTypeMappingTable
|
|
from netbox_librenms_plugin.views.mixins import LibreNMSPermissionMixin
|
|
|
|
|
|
class InterfaceTypeMappingListView(LibreNMSPermissionMixin, generic.ObjectListView):
|
|
"""
|
|
Provides a view for listing all `InterfaceTypeMapping` objects.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
table = InterfaceTypeMappingTable
|
|
filterset = InterfaceTypeMappingFilterSet
|
|
filterset_form = InterfaceTypeMappingFilterForm
|
|
template_name = "netbox_librenms_plugin/interfacetypemapping_list.html"
|
|
|
|
|
|
class InterfaceTypeMappingCreateView(LibreNMSPermissionMixin, generic.ObjectEditView):
|
|
"""
|
|
Provides a view for creating a new `InterfaceTypeMapping` object.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
form = InterfaceTypeMappingForm
|
|
|
|
|
|
@register_model_view(InterfaceTypeMapping, "bulk_import", path="import", detail=False)
|
|
class InterfaceTypeMappingBulkImportView(LibreNMSPermissionMixin, generic.BulkImportView):
|
|
"""
|
|
Provides a view for bulk importing `InterfaceTypeMapping` objects from CSV, JSON, or YAML.
|
|
Supports three import methods: direct import, file upload, and data file.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
model_form = InterfaceTypeMappingImportForm
|
|
|
|
|
|
class InterfaceTypeMappingView(LibreNMSPermissionMixin, generic.ObjectView):
|
|
"""
|
|
Provides a view for displaying details of a specific `InterfaceTypeMapping` object.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
|
|
|
|
class InterfaceTypeMappingEditView(LibreNMSPermissionMixin, generic.ObjectEditView):
|
|
"""
|
|
Provides a view for editing a specific `InterfaceTypeMapping` object.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
form = InterfaceTypeMappingForm
|
|
|
|
|
|
class InterfaceTypeMappingDeleteView(LibreNMSPermissionMixin, generic.ObjectDeleteView):
|
|
"""
|
|
Provides a view for deleting a specific `InterfaceTypeMapping` object.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
|
|
|
|
class InterfaceTypeMappingBulkDeleteView(LibreNMSPermissionMixin, generic.BulkDeleteView):
|
|
"""
|
|
Provides a view for deleting multiple `InterfaceTypeMapping` objects.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|
|
table = InterfaceTypeMappingTable
|
|
|
|
|
|
class InterfaceTypeMappingChangeLogView(LibreNMSPermissionMixin, generic.ObjectChangeLogView):
|
|
"""
|
|
Provides a view for displaying the change log of a specific `InterfaceTypeMapping` object.
|
|
"""
|
|
|
|
queryset = InterfaceTypeMapping.objects.all()
|