diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index 39c38ced2..edd58a0e8 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -99,6 +99,7 @@ A new Cloud model has been introduced to represent the boundary of a network tha * [#5971](https://github.com/netbox-community/netbox/issues/5971) - Add dedicated views for organizational models * [#5972](https://github.com/netbox-community/netbox/issues/5972) - Enable bulk editing for organizational models * [#5975](https://github.com/netbox-community/netbox/issues/5975) - Allow partial (decimal) vCPU allocations for virtual machines +* [#6038](https://github.com/netbox-community/netbox/issues/6038) - Include tagged objects list on tag view ### Other Changes diff --git a/netbox/extras/tables.py b/netbox/extras/tables.py index 362a57e95..70b5c5f70 100644 --- a/netbox/extras/tables.py +++ b/netbox/extras/tables.py @@ -6,14 +6,6 @@ from utilities.tables import ( ) from .models import ConfigContext, JournalEntry, ObjectChange, Tag, TaggedItem -TAGGED_ITEM = """ -{% if value.get_absolute_url %} - {{ value }} -{% else %} - {{ value }} -{% endif %} -""" - CONFIGCONTEXT_ACTIONS = """ {% if perms.extras.change_configcontext %} @@ -50,18 +42,18 @@ class TagTable(BaseTable): class TaggedItemTable(BaseTable): - content_object = tables.TemplateColumn( - template_code=TAGGED_ITEM, + content_type = ContentTypeColumn( + verbose_name='Type' + ) + content_object = tables.Column( + linkify=True, orderable=False, verbose_name='Object' ) - content_type = tables.Column( - verbose_name='Type' - ) class Meta(BaseTable.Meta): model = TaggedItem - fields = ('content_object', 'content_type') + fields = ('content_type', 'content_object') class ConfigContextTable(BaseTable): diff --git a/netbox/extras/views.py b/netbox/extras/views.py index b4b6ef628..cd564b8d1 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -39,8 +39,14 @@ class TagView(generic.ObjectView): def get_extra_context(self, request, instance): tagged_items = TaggedItem.objects.filter(tag=instance) + taggeditem_table = tables.TaggedItemTable( + data=tagged_items, + orderable=False + ) + paginate_table(taggeditem_table, request) return { + 'taggeditem_table': taggeditem_table, 'tagged_item_count': tagged_items.count(), } diff --git a/netbox/templates/extras/tag.html b/netbox/templates/extras/tag.html index cd6d09c29..ae90fdb9c 100644 --- a/netbox/templates/extras/tag.html +++ b/netbox/templates/extras/tag.html @@ -32,7 +32,7 @@ Tagged Items - {{ tagged_item_count }} + {{ taggeditem_table.rows|length }} @@ -45,7 +45,14 @@
- {% plugin_full_width_page object %} +
+
+ Device Types +
+ {% include 'inc/table.html' with table=taggeditem_table %} +
+ {% include 'inc/paginator.html' with paginator=taggeditem_table.paginator page=taggeditem_table.page %} + {% plugin_full_width_page object %}
{% endblock %}