mirror of https://github.com/jumpserver/jumpserver
fix: 修复 Job 命令不显示的问题
parent
5401b1cdf2
commit
5d13f1e357
|
@ -3,6 +3,7 @@ from rest_framework.views import APIView
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
|
from ops.const import Types
|
||||||
from ops.models import Job, JobExecution
|
from ops.models import Job, JobExecution
|
||||||
from ops.serializers.job import JobSerializer, JobExecutionSerializer
|
from ops.serializers.job import JobSerializer, JobExecutionSerializer
|
||||||
|
|
||||||
|
@ -66,6 +67,8 @@ class JobExecutionViewSet(OrgBulkModelViewSet):
|
||||||
def perform_create(self, serializer):
|
def perform_create(self, serializer):
|
||||||
instance = serializer.save()
|
instance = serializer.save()
|
||||||
instance.job_version = instance.job.version
|
instance.job_version = instance.job.version
|
||||||
|
instance.material = instance.job.material
|
||||||
|
instance.type = Types[instance.job.type].value
|
||||||
instance.creator = self.request.user
|
instance.creator = self.request.user
|
||||||
instance.save()
|
instance.save()
|
||||||
task = run_ops_job_execution.delay(instance.id)
|
task = run_ops_job_execution.delay(instance.id)
|
||||||
|
@ -123,6 +126,7 @@ class FrequentUsernames(APIView):
|
||||||
permission_classes = ()
|
permission_classes = ()
|
||||||
|
|
||||||
def get(self, request, **kwargs):
|
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]
|
total=Count('username')).order_by('total')[:5]
|
||||||
return Response(data=top_accounts)
|
return Response(data=top_accounts)
|
||||||
|
|
|
@ -92,7 +92,7 @@ class Job(JMSOrgBaseModel, PeriodTaskModelMixin):
|
||||||
return "{}:{}:{}".format(self.org.name, self.creator.name, self.playbook.name)
|
return "{}:{}:{}".format(self.org.name, self.creator.name, self.playbook.name)
|
||||||
|
|
||||||
def create_execution(self):
|
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:
|
class Meta:
|
||||||
verbose_name = _("Job")
|
verbose_name = _("Job")
|
||||||
|
|
|
@ -59,7 +59,7 @@ class JobExecutionSerializer(BulkOrgResourceModelSerializer):
|
||||||
model = JobExecution
|
model = JobExecution
|
||||||
read_only_fields = ["id", "task_id", "timedelta", "time_cost",
|
read_only_fields = ["id", "task_id", "timedelta", "time_cost",
|
||||||
'is_finished', 'date_start', 'date_finished',
|
'is_finished', 'date_start', 'date_finished',
|
||||||
'date_created', 'is_success', 'task_id', 'job_type',
|
'date_created', 'is_success', 'job_type',
|
||||||
'summary', 'material']
|
'summary', 'material']
|
||||||
fields = read_only_fields + [
|
fields = read_only_fields + [
|
||||||
"job", "parameters", "creator"
|
"job", "parameters", "creator"
|
||||||
|
|
Loading…
Reference in New Issue