From e4b0359b8ed580f14102f79a4a48dd3b458729ee Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 4 Nov 2021 14:01:07 -0400 Subject: [PATCH] Include action buttons on contact assignments table --- netbox/templates/tenancy/contact.html | 9 +++++++-- netbox/tenancy/tables.py | 8 ++++++-- netbox/tenancy/views.py | 8 ++++---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/netbox/templates/tenancy/contact.html b/netbox/templates/tenancy/contact.html index 3c6ada5a0..af466cb30 100644 --- a/netbox/templates/tenancy/contact.html +++ b/netbox/templates/tenancy/contact.html @@ -1,6 +1,7 @@ {% extends 'generic/object.html' %} {% load helpers %} {% load plugins %} +{% load render_table from django_tables2 %} {% block breadcrumbs %} {{ block.super }} @@ -69,10 +70,14 @@
Assignments
- {% include 'inc/table.html' with table=contacts_table %} + {% if assignments_table.rows %} + {% render_table assignments_table 'inc/table.html' %} + {% else %} +
None
+ {% endif %}
- {% include 'inc/paginator.html' with paginator=contacts_table.paginator page=contacts_table.page %} + {% include 'inc/paginator.html' with paginator=assignments_table.paginator page=assignments_table.page %} {% plugin_full_width_page object %} diff --git a/netbox/tenancy/tables.py b/netbox/tenancy/tables.py index 541087cff..ff9f826ae 100644 --- a/netbox/tenancy/tables.py +++ b/netbox/tenancy/tables.py @@ -160,8 +160,12 @@ class ContactAssignmentTable(BaseTable): role = tables.Column( linkify=True ) + actions = ButtonsColumn( + model=ContactAssignment, + buttons=('edit', 'delete') + ) class Meta(BaseTable.Meta): model = ContactAssignment - fields = ('pk', 'content_type', 'object', 'contact', 'role', 'priority') - default_columns = ('pk', 'object', 'contact', 'role', 'priority') + fields = ('pk', 'content_type', 'object', 'contact', 'role', 'priority', 'actions') + default_columns = ('pk', 'content_type', 'object', 'contact', 'role', 'priority', 'actions') diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index 604b3ed70..dcef3d8be 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -293,12 +293,12 @@ class ContactView(generic.ObjectView): contact_assignments = ContactAssignment.objects.restrict(request.user, 'view').filter( contact=instance ) - contacts_table = tables.ContactAssignmentTable(contact_assignments) - contacts_table.columns.hide('contact') - paginate_table(contacts_table, request) + assignments_table = tables.ContactAssignmentTable(contact_assignments) + assignments_table.columns.hide('contact') + paginate_table(assignments_table, request) return { - 'contacts_table': contacts_table, + 'assignments_table': assignments_table, 'assignment_count': ContactAssignment.objects.filter(contact=instance).count(), }