operation path vchannels

This commit is contained in:
caoqianming 2023-02-11 16:28:23 +08:00
parent 9a9fe62baa
commit eda09432f4
2 changed files with 16 additions and 5 deletions

View File

@ -49,6 +49,12 @@ class OperationCreateUpdateSerializer(CustomModelSerializer):
exclude = EXCLUDE_FIELDS + ['number']
class OperationPartialUpdateSerializer(CustomModelSerializer):
class Meta:
model = Operation
fields = ['vchannels']
class OperationSerializer(CustomModelSerializer):
class Meta:
model = Operation

View File

@ -5,7 +5,8 @@ from apps.opm.serializers import (GasCheckCreateUpdateSerializer, GasCheckSerial
OperationCreateUpdateSerializer, OperationDetailSerializer,
OplCateCreateUpdateSerializer, OplCateDetailSerializer, OplCateSerializer,
OplCreateUpdateSerializer, OplDetailSerializer, OplListSerializer,
OplWorkerCreateSerializer, OplWorkerSerializer, OplWorkerUpdateSerializer)
OplWorkerCreateSerializer, OplWorkerSerializer, OplWorkerUpdateSerializer,
OperationPartialUpdateSerializer)
from apps.opm.services import close_mtask, start_mtask
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from rest_framework.exceptions import ParseError
@ -45,13 +46,15 @@ class OperationViewSet(CustomModelViewSet):
def update(self, request, *args, **kwargs):
obj = self.get_object()
if obj.state != Operation.OP_CREATE:
raise ParseError('非创建状态不可修改')
user = request.user
if user == obj.create_by or user.is_superuser:
if user.is_superuser:
pass
elif obj.state == Operation.OP_CREATE and user == obj.create_by:
pass
elif user == obj.create_by and kwargs['partial']:
pass
else:
raise ParseError('非创建人不可修改')
raise ParseError('该作业不可修改')
return super().update(request, *args, **kwargs)
def destroy(self, request, *args, **kwargs):
@ -111,6 +114,8 @@ class OplViewSet(CustomModelViewSet):
开启作业监控
"""
obj = self.get_object()
if obj.operation.state != Operation.OP_DONE:
raise ParseError('作业已关闭,不能开启监控')
res = start_mtask(obj)
return Response(res)