From bff7400de4503b8f25938680572e28c634f09ed4 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 7 Jan 2022 11:23:04 -0500 Subject: [PATCH] Convert ActionsMenuItem to dataclass --- netbox/utilities/tables/columns.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/netbox/utilities/tables/columns.py b/netbox/utilities/tables/columns.py index 90505f2da..df9db357f 100644 --- a/netbox/utilities/tables/columns.py +++ b/netbox/utilities/tables/columns.py @@ -1,4 +1,6 @@ from collections import namedtuple +from dataclasses import dataclass +from typing import Optional import django_tables2 as tables from django.conf import settings @@ -90,16 +92,20 @@ class TemplateColumn(tables.TemplateColumn): return ret -ActionsMenuItem = namedtuple('ActionsMenuItem', ['title', 'icon', 'permission']) +@dataclass +class ActionsItem: + title: str + icon: str + permission: Optional[str] = None class ActionsColumn(tables.Column): attrs = {'td': {'class': 'text-end noprint'}} empty_values = () _actions = { - 'edit': ActionsMenuItem('Edit', 'pencil', 'change'), - 'delete': ActionsMenuItem('Delete', 'trash-can-outline', 'delete'), - 'changelog': ActionsMenuItem('Changelog', 'history', None), + 'edit': ActionsItem('Edit', 'pencil', 'change'), + 'delete': ActionsItem('Delete', 'trash-can-outline', 'delete'), + 'changelog': ActionsItem('Changelog', 'history'), } def __init__(self, *args, actions=('edit', 'delete', 'changelog'), **kwargs):