diff --git a/netbox/netbox/views/__init__.py b/netbox/netbox/views/__init__.py index df5bda4e4..1f3513437 100644 --- a/netbox/netbox/views/__init__.py +++ b/netbox/netbox/views/__init__.py @@ -21,10 +21,12 @@ from dcim.models import ( ) from extras.choices import JobResultStatusChoices from extras.models import ObjectChange, JobResult +from extras.tables import ObjectChangeTable from ipam.models import Aggregate, IPAddress, IPRange, Prefix, VLAN, VRF from netbox.constants import SEARCH_MAX_RESULTS, SEARCH_TYPES from netbox.forms import SearchForm from tenancy.models import Tenant +from utilities.tables import paginate_table from virtualization.models import Cluster, VirtualMachine @@ -122,7 +124,11 @@ class HomeView(View): return stats - changelog = ObjectChange.objects.restrict(request.user, 'view').prefetch_related('user', 'changed_object_type') + # Compile changelog table + changelog = ObjectChange.objects.restrict(request.user, 'view').prefetch_related( + 'user', 'changed_object_type' + )[:10] + changelog_table = ObjectChangeTable(changelog) # Check whether a new release is available. (Only for staff/superusers.) new_release = None @@ -140,7 +146,7 @@ class HomeView(View): 'search_form': SearchForm(), 'stats': build_stats(), 'report_results': report_results, - 'changelog': changelog[:15], + 'changelog_table': changelog_table, 'new_release': new_release, }) diff --git a/netbox/templates/home.html b/netbox/templates/home.html index 6ed83563a..be4dd161d 100644 --- a/netbox/templates/home.html +++ b/netbox/templates/home.html @@ -1,6 +1,7 @@ {% extends 'base/layout.html' %} {% load get_status %} {% load helpers %} +{% load render_table from django_tables2 %} {% block header %} {{ block.super }} @@ -51,44 +52,16 @@ {# Changelog #} -
-
-
-
Changelog
- {% if changelog and perms.extras.view_objectchange %} - {# TODO: Replace this with a django-tables2 Table #} - - - - - - - - - - - - {% for change in changelog %} - - - - - - - - {% endfor %} - -
UserActionTypeObjectTime
{{ change.user|default:change.user_name }}{{ change.get_action_display|bettertitle }}{{ change.changed_object_type.name|bettertitle }} - {% if change.changed_object.get_absolute_url %} - {{ change.changed_object }} - {% else %} {{ change.changed_object|default:change.object_repr }} {% endif %} - {{ change.time|date:'SHORT_DATETIME_FORMAT' }}
- {% elif perms.extras.view_objectchange %} - - {% endif %} + {% if perms.extras.view_objectchange %} +
+
+
+
Change Log
+
+ {% include 'inc/responsive_table.html' with table=changelog_table %} +
+
-
+ {% endif %} {% endblock content %}