From 5d13f1e357e2211b42250eaa82b529b0e48bba4e Mon Sep 17 00:00:00 2001 From: Aaron3S Date: Thu, 9 Feb 2023 17:00:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Job=20=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/api/job.py | 6 +++++- apps/ops/models/job.py | 2 +- apps/ops/serializers/job.py | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/ops/api/job.py b/apps/ops/api/job.py index 30bd0ee18..108e812e1 100644 --- a/apps/ops/api/job.py +++ b/apps/ops/api/job.py @@ -3,6 +3,7 @@ from rest_framework.views import APIView from django.shortcuts import get_object_or_404 from rest_framework.response import Response +from ops.const import Types from ops.models import Job, JobExecution from ops.serializers.job import JobSerializer, JobExecutionSerializer @@ -66,6 +67,8 @@ class JobExecutionViewSet(OrgBulkModelViewSet): def perform_create(self, serializer): instance = serializer.save() instance.job_version = instance.job.version + instance.material = instance.job.material + instance.type = Types[instance.job.type].value instance.creator = self.request.user instance.save() task = run_ops_job_execution.delay(instance.id) @@ -123,6 +126,7 @@ class FrequentUsernames(APIView): permission_classes = () def get(self, request, **kwargs): - top_accounts = Account.objects.exclude(username='root').exclude(username__startswith='jms_').values('username').annotate( + top_accounts = Account.objects.exclude(username='root').exclude(username__startswith='jms_').values( + 'username').annotate( total=Count('username')).order_by('total')[:5] return Response(data=top_accounts) diff --git a/apps/ops/models/job.py b/apps/ops/models/job.py index 0af043580..dd248e83d 100644 --- a/apps/ops/models/job.py +++ b/apps/ops/models/job.py @@ -92,7 +92,7 @@ class Job(JMSOrgBaseModel, PeriodTaskModelMixin): return "{}:{}:{}".format(self.org.name, self.creator.name, self.playbook.name) def create_execution(self): - return self.executions.create(job_version=self.version, material=self.material, job_type=Types[self.type].label) + return self.executions.create(job_version=self.version, material=self.material, job_type=Types[self.type].value) class Meta: verbose_name = _("Job") diff --git a/apps/ops/serializers/job.py b/apps/ops/serializers/job.py index f5e4ee5d6..13afe6d6c 100644 --- a/apps/ops/serializers/job.py +++ b/apps/ops/serializers/job.py @@ -59,7 +59,7 @@ class JobExecutionSerializer(BulkOrgResourceModelSerializer): model = JobExecution read_only_fields = ["id", "task_id", "timedelta", "time_cost", 'is_finished', 'date_start', 'date_finished', - 'date_created', 'is_success', 'task_id', 'job_type', + 'date_created', 'is_success', 'job_type', 'summary', 'material'] fields = read_only_fields + [ "job", "parameters", "creator"