From a44776e51b0996f04f8ed0a3c2e9fc7389da3c46 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 19 Nov 2024 09:50:22 -0800 Subject: [PATCH] 7848 queue detail view --- netbox/core/api/serializers_/tasks.py | 6 ++++++ netbox/core/api/views.py | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/netbox/core/api/serializers_/tasks.py b/netbox/core/api/serializers_/tasks.py index f285f1a19..1bf474286 100644 --- a/netbox/core/api/serializers_/tasks.py +++ b/netbox/core/api/serializers_/tasks.py @@ -1,4 +1,5 @@ from rest_framework import serializers +from rest_framework.reverse import reverse __all__ = ( 'BackgroundTaskSerializer', @@ -46,6 +47,7 @@ class BackgroundTaskSerializer(serializers.Serializer): class BackgroundQueueSerializer(serializers.Serializer): name = serializers.CharField() + url = serializers.SerializerMethodField() jobs = serializers.IntegerField() oldest_job_timestamp = serializers.CharField() index = serializers.IntegerField() @@ -58,6 +60,10 @@ class BackgroundQueueSerializer(serializers.Serializer): failed_jobs = serializers.IntegerField() scheduled_jobs = serializers.IntegerField() + def get_url(self, obj): + request = self.context.get('request') + return reverse('core-api:rqqueue-detail', kwargs={'name': obj['name']}, request=request) + class BackgroundWorkerSerializer(serializers.Serializer): name = serializers.CharField() diff --git a/netbox/core/api/views.py b/netbox/core/api/views.py index f712fee3d..0eb8c60f3 100644 --- a/netbox/core/api/views.py +++ b/netbox/core/api/views.py @@ -124,8 +124,8 @@ class QueueViewSet(BaseRQListView): raise Http404 for queue in queues: - if queue.name == name: - return Response(self.serializer_class(data, context={'request': request})) + if queue['name'] == name: + return Response(self.serializer_class(queue, context={'request': request}).data) raise Http404