mirror of https://github.com/jumpserver/jumpserver
fix: Task search error
parent
b70fb58faf
commit
4713c6ddf6
|
@ -109,7 +109,6 @@ class CelerySummaryAPIView(generics.RetrieveAPIView):
|
||||||
|
|
||||||
|
|
||||||
class CeleryTaskFilterSet(BaseFilterSet):
|
class CeleryTaskFilterSet(BaseFilterSet):
|
||||||
id = drf_filters.CharFilter(field_name='id', lookup_expr='exact')
|
|
||||||
name = drf_filters.CharFilter(method='filter_name')
|
name = drf_filters.CharFilter(method='filter_name')
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -127,7 +126,7 @@ class CeleryTaskFilterSet(BaseFilterSet):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CeleryTask
|
model = CeleryTask
|
||||||
fields = ['id', 'name']
|
fields = ['name']
|
||||||
|
|
||||||
|
|
||||||
class CeleryTaskViewSet(
|
class CeleryTaskViewSet(
|
||||||
|
@ -135,7 +134,7 @@ class CeleryTaskViewSet(
|
||||||
mixins.ListModelMixin, mixins.DestroyModelMixin,
|
mixins.ListModelMixin, mixins.DestroyModelMixin,
|
||||||
viewsets.GenericViewSet
|
viewsets.GenericViewSet
|
||||||
):
|
):
|
||||||
search_fields = ('id', 'name')
|
search_fields = ('name',)
|
||||||
filterset_class = CeleryTaskFilterSet
|
filterset_class = CeleryTaskFilterSet
|
||||||
serializer_class = CeleryTaskSerializer
|
serializer_class = CeleryTaskSerializer
|
||||||
|
|
||||||
|
@ -206,6 +205,14 @@ class CeleryTaskViewSet(
|
||||||
i.state = summary_state_dict.get(i.name, {}).get('state', 'green')
|
i.state = summary_state_dict.get(i.name, {}).get('state', 'green')
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
def filter_queryset(self, queryset):
|
||||||
|
search = self.request.query_params.get('search')
|
||||||
|
if search:
|
||||||
|
queryset = CeleryTaskFilterSet.filter_name(queryset, 'name', search)
|
||||||
|
else:
|
||||||
|
queryset = super().filter_queryset(queryset)
|
||||||
|
return queryset
|
||||||
|
|
||||||
def list(self, request, *args, **kwargs):
|
def list(self, request, *args, **kwargs):
|
||||||
queryset = self.filter_queryset(self.get_queryset())
|
queryset = self.filter_queryset(self.get_queryset())
|
||||||
queryset = self.mark_periodic_and_sorted(queryset)
|
queryset = self.mark_periodic_and_sorted(queryset)
|
||||||
|
@ -241,7 +248,7 @@ class CeleryTaskExecutionViewSet(CommonApiMixin, viewsets.ModelViewSet):
|
||||||
serializer_class = CeleryTaskExecutionSerializer
|
serializer_class = CeleryTaskExecutionSerializer
|
||||||
http_method_names = ('get', 'post', 'head', 'options',)
|
http_method_names = ('get', 'post', 'head', 'options',)
|
||||||
queryset = CeleryTaskExecution.objects.all()
|
queryset = CeleryTaskExecution.objects.all()
|
||||||
search_fields = ('name',)
|
search_fields = ('id',)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
task_id = self.request.query_params.get('task_id')
|
task_id = self.request.query_params.get('task_id')
|
||||||
|
|
Loading…
Reference in New Issue