Parcourir la source

Closes #2259: Add changelog tab to interface view

Jeremy Stretch il y a 7 ans
Parent
commit
b7c2a26155
2 fichiers modifiés avec 11 ajouts et 2 suppressions
  1. 3 2
      netbox/dcim/urls.py
  2. 8 0
      netbox/templates/dcim/interface.html

+ 3 - 2
netbox/dcim/urls.py

@@ -7,8 +7,8 @@ from ipam.views import ServiceCreateView
 from secrets.views import secret_add
 from secrets.views import secret_add
 from . import views
 from . import views
 from .models import (
 from .models import (
-    Device, DeviceRole, DeviceType, Manufacturer, Platform, Rack, RackGroup, RackReservation, RackRole, Region, Site,
-    VirtualChassis,
+    Device, DeviceRole, DeviceType, Interface, Manufacturer, Platform, Rack, RackGroup, RackReservation, RackRole,
+    Region, Site, VirtualChassis,
 )
 )
 
 
 app_name = 'dcim'
 app_name = 'dcim'
@@ -203,6 +203,7 @@ urlpatterns = [
     url(r'^interfaces/(?P<pk>\d+)/edit/$', views.InterfaceEditView.as_view(), name='interface_edit'),
     url(r'^interfaces/(?P<pk>\d+)/edit/$', views.InterfaceEditView.as_view(), name='interface_edit'),
     url(r'^interfaces/(?P<pk>\d+)/assign-vlans/$', views.InterfaceAssignVLANsView.as_view(), name='interface_assign_vlans'),
     url(r'^interfaces/(?P<pk>\d+)/assign-vlans/$', views.InterfaceAssignVLANsView.as_view(), name='interface_assign_vlans'),
     url(r'^interfaces/(?P<pk>\d+)/delete/$', views.InterfaceDeleteView.as_view(), name='interface_delete'),
     url(r'^interfaces/(?P<pk>\d+)/delete/$', views.InterfaceDeleteView.as_view(), name='interface_delete'),
+    url(r'^interfaces/(?P<pk>\d+)/changelog/$', ObjectChangeLogView.as_view(), name='interface_changelog', kwargs={'model': Interface}),
     url(r'^interfaces/rename/$', views.InterfaceBulkRenameView.as_view(), name='interface_bulk_rename'),
     url(r'^interfaces/rename/$', views.InterfaceBulkRenameView.as_view(), name='interface_bulk_rename'),
 
 
     # Device bays
     # Device bays

+ 8 - 0
netbox/templates/dcim/interface.html

@@ -28,6 +28,14 @@
         {% endif %}
         {% endif %}
     </div>
     </div>
     <h1>{% block title %}{{ interface.parent }} / {{ interface.name }}{% endblock %}</h1>
     <h1>{% block title %}{{ interface.parent }} / {{ interface.name }}{% endblock %}</h1>
+    <ul class="nav nav-tabs">
+        <li role="presentation"{% if not active_tab %} class="active"{% endif %}>
+            <a href="{{ interface.get_absolute_url }}">Interface</a>
+        </li>
+        <li role="presentation"{% if active_tab == 'changelog' %} class="active"{% endif %}>
+            <a href="{% url 'dcim:interface_changelog' pk=interface.pk %}">Changelog</a>
+        </li>
+    </ul>
 {% endblock %}
 {% endblock %}
 
 
 {% block content %}
 {% block content %}