Пример #1
0
    def restart(self, request, pk=None):
        """Restart a paused scan."""
        scan = get_object_or_404(self.queryset, pk=pk)
        if scan.status == ScanTask.PAUSED:
            fact_endpoint = request.build_absolute_uri(reverse('facts-list'))
            scan.restart()
            restart_scan.send(sender=self.__class__,
                              instance=scan,
                              fact_endpoint=fact_endpoint)
            serializer = ScanJobSerializer(scan)
            json_scan = serializer.data
            expand_scanjob(scan, json_scan)
            return Response(json_scan, status=200)
        elif scan.status == ScanTask.RUNNING:
            err_msg = _(messages.ALREADY_RUNNING)
            return JsonResponse({'non_field_errors': [err_msg]}, status=400)

        err_msg = _(messages.NO_RESTART)
        return JsonResponse({'non_field_errors': [err_msg]}, status=400)
Пример #2
0
    def restart(self, request, pk=None):
        """Restart a paused scan."""
        if not pk or (pk and not is_int(pk)):
            error = {'id': [_(messages.COMMON_ID_INV)]}
            raise ValidationError(error)
        scan = get_object_or_404(self.queryset, pk=pk)
        if scan.status == ScanTask.PAUSED:
            scan.restart()
            restart_scan.send(sender=self.__class__, instance=scan)
            serializer = ScanJobSerializer(scan)
            json_scan = serializer.data
            expand_scanjob(json_scan)
            return Response(json_scan, status=200)
        elif scan.status == ScanTask.RUNNING:
            err_msg = _(messages.ALREADY_RUNNING)
            return JsonResponse({'non_field_errors': [err_msg]}, status=400)

        err_msg = _(messages.NO_RESTART)
        return JsonResponse({'non_field_errors': [err_msg]}, status=400)