From f1e585c2b9c4d4b652c0fd769001de65d6a70eec Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 18 Jan 2024 11:57:39 -0800 Subject: [PATCH] 14729 review fixes --- netbox/core/tables/tasks.py | 35 ++++++++++++++++++++++++----------- netbox/core/urls.py | 6 +++--- netbox/core/views.py | 10 +++++----- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/netbox/core/tables/tasks.py b/netbox/core/tables/tasks.py index ce1c4c6f5..012e77a10 100644 --- a/netbox/core/tables/tasks.py +++ b/netbox/core/tables/tasks.py @@ -4,20 +4,20 @@ from django.urls import reverse from django.utils.html import mark_safe from django.utils.translation import gettext_lazy as _ -from netbox.tables import NetBoxTable, columns +from netbox.tables import BaseTable, NetBoxTable, columns from utilities.templatetags.helpers import annotated_date from ..models import Job -class BackgroundTasksTable(tables.Table): +class BackgroundQueueTable(BaseTable): name = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Name")) - jobs = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Queued Jobs")) - oldest_job_timestamp = tables.Column(verbose_name=_("Oldest Queued Job")) - started_jobs = tables.Column(verbose_name=_("Active Jobs")) - deferred_jobs = tables.Column(verbose_name=_("Deferred Jobs")) - finished_jobs = tables.Column(verbose_name=_("Finished Jobs")) - failed_jobs = tables.Column(verbose_name=_("Failed Jobs")) - scheduled_jobs = tables.Column(verbose_name=_("Scheduled Jobs")) + jobs = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("Queued")) + oldest_job_timestamp = tables.Column(verbose_name=_("Oldest Queued")) + started_jobs = tables.Column(verbose_name=_("Active")) + deferred_jobs = tables.Column(verbose_name=_("Deferred")) + finished_jobs = tables.Column(verbose_name=_("Finished")) + failed_jobs = tables.Column(verbose_name=_("Failed")) + scheduled_jobs = tables.Column(verbose_name=_("Scheduled")) workers = tables.Column(verbose_name=_("Workers")) host = tables.Column(accessor="connection_kwargs__host", verbose_name=_("Host")) port = tables.Column(accessor="connection_kwargs__port", verbose_name=_("Port")) @@ -25,13 +25,19 @@ class BackgroundTasksTable(tables.Table): pid = tables.Column(accessor="scheduler__pid", verbose_name=_("Scheduler PID")) class Meta: + empty_text = _('No tasks found') + fields = ( + 'name', 'jobs', 'oldest_job_timestamp', 'started_jobs', 'deferred_jobs', 'finished_jobs', 'failed_jobs', 'scheduled_jobs', 'workers', 'host', 'port', 'db', 'pid', + ) + default_columns = ( + 'name', 'jobs', 'oldest_job_timestamp', 'started_jobs', 'deferred_jobs', 'finished_jobs', 'failed_jobs', 'scheduled_jobs', 'workers', 'host', 'port', 'db', 'pid', + ) attrs = { 'class': 'table table-hover object-list', } -class BackgroundTasksQueueTable(tables.Table): - # id = tables.LinkColumn("core:background_tasks_queues", args=[A("index")], verbose_name=_("ID")) +class BackgroundTaskTable(BaseTable): id = tables.Column(empty_values=(), verbose_name=_("ID")) created_at = tables.Column(verbose_name=_("Created")) enqueued_at = tables.Column(verbose_name=_("Enqueued")) @@ -40,6 +46,13 @@ class BackgroundTasksQueueTable(tables.Table): callable = tables.Column(empty_values=(), verbose_name=_("Callable")) class Meta: + empty_text = _('No queues found') + fields = ( + 'id', 'created_at', 'enqueued_at', 'ended_at', 'status', 'callable', + ) + default_columns = ( + 'id', 'created_at', 'enqueued_at', 'ended_at', 'status', 'callable', + ) attrs = { 'class': 'table table-hover object-list', } diff --git a/netbox/core/urls.py b/netbox/core/urls.py index b47be8a56..e1125b548 100644 --- a/netbox/core/urls.py +++ b/netbox/core/urls.py @@ -26,9 +26,9 @@ urlpatterns = ( path('jobs//delete/', views.JobDeleteView.as_view(), name='job_delete'), # Background Tasks - path('background-tasks/', views.BackgroundTasksListView.as_view(), name='background_tasks_list'), - path('background-tasks/queues//', views.BackgroundTasksQueueListView.as_view(), name='background_tasks_queues'), - path('background-tasks/queues///', views.BackgroundTasksJobDetailView.as_view(), name='background_tasks_job_detail'), + path('background-queues/', views.BackgroundQueuesListView.as_view(), name='background_tasks_list'), + path('background-queues//', views.BackgroundTasksListView.as_view(), name='background_tasks_queues'), + path('background-tasks///', views.BackgroundTaskDetailView.as_view(), name='background_tasks_job_detail'), # Config revisions path('config-revisions/', views.ConfigRevisionListView.as_view(), name='configrevision_list'), diff --git a/netbox/core/views.py b/netbox/core/views.py index a67325c1d..55f2bed40 100644 --- a/netbox/core/views.py +++ b/netbox/core/views.py @@ -243,16 +243,16 @@ class ConfigRevisionRestoreView(ContentTypePermissionRequiredMixin, View): # -class BackgroundTasksListView(LoginRequiredMixin, View): +class BackgroundQueuesListView(LoginRequiredMixin, View): def get(self, request): - table = tables.BackgroundTasksTable(get_statistics(run_maintenance_tasks=True)["queues"]) + table = tables.BackgroundQueueTable(get_statistics(run_maintenance_tasks=True)["queues"]) return render(request, 'core/background_tasks.html', { 'table': table, }) -class BackgroundTasksQueueListView(LoginRequiredMixin, View): +class BackgroundTasksListView(LoginRequiredMixin, View): def get(self, request, queue_index): queue_index = int(queue_index) @@ -263,14 +263,14 @@ class BackgroundTasksQueueListView(LoginRequiredMixin, View): else: jobs = [] - table = tables.BackgroundTasksQueueTable(data=jobs, queue_index=queue_index) + table = tables.BackgroundTaskTable(data=jobs, queue_index=queue_index) return render(request, 'core/background_tasks_queue.html', { 'table': table, 'queue': queue, }) -class BackgroundTasksJobDetailView(LoginRequiredMixin, View): +class BackgroundTaskDetailView(LoginRequiredMixin, View): def get(self, request, queue_index, job_id): queue_index = int(queue_index)