opl 返回cate workflow

This commit is contained in:
曹前明 2022-07-18 10:34:19 +08:00
parent 3326f9c730
commit 918e554994
11 changed files with 38 additions and 34 deletions

View File

@ -20,7 +20,7 @@ class AreaViewSet(CustomModelViewSet):
ordering = ['number']
@transaction.atomic
@action(methods=['post'], detail=True, perms_map={'post': 'area:bind_rail'},
@action(methods=['post'], detail=True, perms_map={'post': 'area.bind_rail'},
serializer_class=serializers.Serializer)
def bind_rail(self, request, pk=None):
"""
@ -45,7 +45,7 @@ class AreaViewSet(CustomModelViewSet):
class AccessViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'access:create', 'delete': 'access:delete'}
perms_map = {'get': '*', 'post': 'access.create', 'delete': 'access.delete'}
queryset = Access.objects.all()
create_serializer_class = AccessCreateSerializer
serializer_class = AccessSerializer

View File

@ -19,7 +19,7 @@ from django.db.models import Count, F
# Create your views here.
class EventCateViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'put': 'event_cate:update', 'post': 'event_cate:create'}
perms_map = {'get': '*', 'put': 'event_cate.update', 'post': 'event_cate.create'}
queryset = EventCate.objects.all()
list_serializer_class = EventCateListSerializer
create_serializer_class = EventCateCreateUpdateSerializer
@ -30,14 +30,14 @@ class EventCateViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin, Custo
class AlgoChannelViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'event_cate:update', 'delete': 'event_cate:create'}
perms_map = {'get': '*', 'post': 'event_cate.update', 'delete': 'event_cate.create'}
queryset = AlgoChannel.objects.all()
create_serializer_class = AlgoChannelCreateSerializer
serializer_class = AlgoChannelSerializer
filterset_fields = ['algo']
@transaction.atomic
@action(methods=['post'], detail=False, perms_map={'post': 'event_cate:update'},
@action(methods=['post'], detail=False, perms_map={'post': 'event_cate.update'},
serializer_class=AlgoChannelCreatesSerializer)
def creates(self, request, pk=None):
"""批量添加摄像头

View File

@ -84,7 +84,7 @@ class EmployeeViewSet(CustomModelViewSet):
user.save()
return Response()
@action(methods=['post'], detail=True, perms_map={'post': 'employee:notworkremark'},
@action(methods=['post'], detail=True, perms_map={'post': 'employee.notworkremark'},
serializer_class=EmployeeNotWorkRemarkSerializer)
def not_work_remark(self, request, pk=None):
"""
@ -116,7 +116,7 @@ class EmployeeViewSet(CustomModelViewSet):
raise ParseError(**NO_NEED_LEVEL_REMARK)
@transaction.atomic
@action(methods=['post'], detail=False, perms_map={'post': 'employee:channel_authority'},
@action(methods=['post'], detail=False, perms_map={'post': 'employee.channel_authority'},
serializer_class=ChannelAuthoritySerializer)
def channel_authority(self, request, pk=None):
"""门通道授权
@ -151,7 +151,7 @@ class EmployeeViewSet(CustomModelViewSet):
return Response()
@transaction.atomic
@action(methods=['post'], detail=False, perms_map={'post': 'employee:face_bind_1'},
@action(methods=['post'], detail=False, perms_map={'post': 'employee.face_bind_1'},
serializer_class=serializers.Serializer)
def face_bind_1(self, request, pk=None):
"""同步人脸库1
@ -190,7 +190,7 @@ class EmployeeViewSet(CustomModelViewSet):
dhClient.request(**dhapis['face_bind'], json=json_data)
return Response()
@action(methods=['get'], detail=False, perms_map={'get': 'employee:face_bind_1'},
@action(methods=['get'], detail=False, perms_map={'get': 'employee.face_bind_1'},
serializer_class=serializers.Serializer)
def face_status_1(self, request, pk=None):
"""人像下发状态

View File

@ -20,6 +20,11 @@ class OplCateSerializer(CustomModelSerializer):
model = OplCate
fields = '__all__'
class OplCateSimpleSerializer(CustomModelSerializer):
class Meta:
model = OplCate
fields = ['id', 'name', 'workflow']
class OplCateDetailSerializer(CustomModelSerializer):
measure_options_ = DictSimpleSerializer(source='measure_options', read_only=True, many=True)
@ -154,6 +159,7 @@ class OplCreateUpdateSerializer(CustomModelSerializer):
class OplSerializer(CustomModelSerializer):
cate_name = serializers.CharField(source='cate.name', read_only=True)
cate_ = OplCateSimpleSerializer(source='cate', read_only=True)
class Meta:
model = Opl

View File

@ -62,7 +62,7 @@ class OplViewSet(CustomModelViewSet):
class OplWorkerViewSet(CustomModelViewSet):
perms_map = {'get': '*', 'post': 'opl:update', 'put': 'opl:update', 'delete': 'opl:update'}
perms_map = {'get': '*', 'post': 'opl.update', 'put': 'opl.update', 'delete': 'opl.update'}
queryset = OplWorker.objects.all()
create_serializer_class = OplWorkerCreateSerializer
update_serializer_class = OplWorkerUpdateSerializer
@ -88,7 +88,7 @@ class OplWorkerViewSet(CustomModelViewSet):
class GasCheckViewSet(CreateModelMixin, ListModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'opl:update', 'delete': 'opl:update'}
perms_map = {'get': '*', 'post': 'opl.update', 'delete': 'opl.update'}
queryset = GasCheck.objects.all()
create_serializer_class = GasCheckCreateUpdateSerializer
serializer_class = GasCheckSerializer

View File

@ -150,7 +150,7 @@ class RpjViewSet(CustomModelViewSet):
class RpjmemberViewSet(CustomModelViewSet):
perms_map = {'get': '*', 'post': 'rpj:update', 'put': 'rpj:update', 'delete': 'rpj:update'}
perms_map = {'get': '*', 'post': 'rpj.update', 'put': 'rpj.update', 'delete': 'rpj.update'}
queryset = Rpjmember.objects.all()
create_serializer_class = RpjmemberCreateSerializer
update_serializer_class = RpjmemberUpdateSerializer
@ -167,7 +167,7 @@ class RpjmemberViewSet(CustomModelViewSet):
class RpjfileViewSet(UpdateModelMixin, DestroyModelMixin, ListModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'put': 'rpj:update', 'delete': 'rpj:update'}
perms_map = {'get': '*', 'put': 'rpj.update', 'delete': 'rpj.update'}
queryset = Rpjfile.objects.all()
update_serializer_class = RpjfileUpdateSerializer
serializer_class = RpjfileSerializer

View File

@ -119,7 +119,7 @@ class PTaskViewSet(CustomModelViewSet):
select_related_fields = ['interval', 'crontab']
ordering = ['-id']
@action(methods=['post'], detail=True, perms_map={'get': 'qtask:run_once'},
@action(methods=['post'], detail=True, perms_map={'get': 'qtask.run_once'},
serializer_class=TaskRunSerializer)
def run_once(self, request, pk=None):
"""执行一次
@ -137,7 +137,7 @@ class PTaskViewSet(CustomModelViewSet):
task_obj = f.delay(*json.loads(obj.args), **json.loads(obj.kwargs))
return Response({'task_id': task_obj.id})
@action(methods=['put'], detail=True, perms_map={'put': 'ptask:update'})
@action(methods=['put'], detail=True, perms_map={'put': 'ptask.update'})
def toggle(self, request, pk=None):
"""修改启用禁用状态
@ -350,7 +350,7 @@ class PostRoleViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, Custo
岗位/角色关系
"""
perms_map = {'get': '*', 'post': 'post:update', 'delete': 'post:update'}
perms_map = {'get': '*', 'post': 'post.update', 'delete': 'post.update'}
queryset = PostRole.objects.select_related('post', 'role').all()
serializer_class = PostRoleSerializer
create_serializer_class = PostRoleCreateSerializer
@ -362,7 +362,7 @@ class UserPostViewSet(CreateModelMixin, DestroyModelMixin, ListModelMixin, Custo
用户/岗位关系
"""
perms_map = {'get': '*', 'post': 'user:update', 'delete': 'user:update'}
perms_map = {'get': '*', 'post': 'user.update', 'delete': 'user.update'}
queryset = UserPost.objects.select_related('user', 'post', 'dept').all()
serializer_class = UserPostSerializer
create_serializer_class = UserPostCreateSerializer

View File

@ -365,7 +365,7 @@ class TDeviceViewSet(ListModelMixin, UpdateModelMixin, DestroyModelMixin, Custom
i['my_info'] = tds_dict[i['channelCode']]
return Response(res)
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:label_location'},
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice.label_location'},
serializer_class=LabelLocationSerializer)
def label_location(self, request):
"""
@ -401,7 +401,7 @@ class TDeviceViewSet(ListModelMixin, UpdateModelMixin, DestroyModelMixin, Custom
td.areas.add(i)
return Response()
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:bind_area'},
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice.bind_area'},
serializer_class=BindAreaSerializer)
def bind_area(self, request):
"""

View File

@ -110,8 +110,8 @@ class CustomModelViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin,
# 增加默认权限标识
if not self.perms_map:
basename = self.basename
self.perms_map = {'get': '*', 'post': '{}:create'.format(basename), 'put': '{}:update'.format(
basename), 'patch': '{}:update'.format(basename), 'delete': '{}:delete'.format(basename)}
self.perms_map = {'get': '*', 'post': '{}.create'.format(basename), 'put': '{}.update'.format(
basename), 'patch': '{}.update'.format(basename), 'delete': '{}.delete'.format(basename)}
for k, v in self.perms_map.items():
if v not in ALL_PERMS and v != '*':
ALL_PERMS.append(v)

View File

@ -88,7 +88,7 @@ class VisitorViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Custo
class VpeopleViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'visit:update', 'put': 'visit:update', 'delete': 'visit:update'}
perms_map = {'get': '*', 'post': 'visit.update', 'put': 'visit.update', 'delete': 'visit.update'}
queryset = Vpeople.objects.all()
create_serializer_class = VpeopleCreateSerializer
serializer_class = VpeopleSerializer

View File

@ -57,8 +57,6 @@ class WorkflowKeyInitView(APIView):
class WorkflowViewSet(CustomModelViewSet):
perms_map = {'get': '*', 'post': 'workflow:create',
'put': 'workflow:update', 'delete': 'workflow:delete'}
queryset = Workflow.objects.all()
serializer_class = WorkflowSerializer
search_fields = ['name', 'description']
@ -66,7 +64,7 @@ class WorkflowViewSet(CustomModelViewSet):
ordering_fields = ['create_time']
ordering = ['-create_time']
@action(methods=['get'], detail=True, perms_map={'get': 'workflow:update'},
@action(methods=['get'], detail=True, perms_map={'get': 'workflow.update'},
pagination_class=None, serializer_class=StateSerializer)
def states(self, request, pk=None):
"""
@ -76,7 +74,7 @@ class WorkflowViewSet(CustomModelViewSet):
serializer = self.serializer_class(instance=WfService.get_worlflow_states(wf), many=True)
return Response(serializer.data)
@action(methods=['get'], detail=True, perms_map={'get': 'workflow:update'},
@action(methods=['get'], detail=True, perms_map={'get': 'workflow.update'},
pagination_class=None, serializer_class=TransitionSerializer)
def transitions(self, request, pk=None):
"""
@ -86,7 +84,7 @@ class WorkflowViewSet(CustomModelViewSet):
serializer = self.serializer_class(instance=WfService.get_workflow_transitions(wf), many=True)
return Response(serializer.data)
@action(methods=['get'], detail=True, perms_map={'get': 'workflow:update'},
@action(methods=['get'], detail=True, perms_map={'get': 'workflow.update'},
pagination_class=None, serializer_class=CustomFieldSerializer)
def customfields(self, request, pk=None):
"""
@ -121,8 +119,8 @@ class WorkflowViewSet(CustomModelViewSet):
class StateViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'workflow:update',
'put': 'workflow:update', 'delete': 'workflow:update'}
perms_map = {'get': '*', 'post': 'workflow.update',
'put': 'workflow.update', 'delete': 'workflow.update'}
queryset = State.objects.all()
serializer_class = StateSerializer
search_fields = ['name']
@ -131,8 +129,8 @@ class StateViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, Destr
class TransitionViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'workflow:update',
'put': 'workflow:update', 'delete': 'workflow:update'}
perms_map = {'get': '*', 'post': 'workflow.update',
'put': 'workflow.update', 'delete': 'workflow.update'}
queryset = Transition.objects.all()
serializer_class = TransitionSerializer
search_fields = ['name']
@ -141,8 +139,8 @@ class TransitionViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin,
class CustomFieldViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin, CustomGenericViewSet):
perms_map = {'get': '*', 'post': 'workflow:update',
'put': 'workflow:update', 'delete': 'workflow:update'}
perms_map = {'get': '*', 'post': 'workflow.update',
'put': 'workflow.update', 'delete': 'workflow.update'}
queryset = CustomField.objects.all()
serializer_class = CustomFieldSerializer
search_fields = ['field_name']
@ -422,7 +420,7 @@ class TicketViewSet(CreateUpdateCustomMixin, CreateModelMixin, ListModelMixin, R
else:
return Response('工单不可关闭', status=status.HTTP_400_BAD_REQUEST)
@action(methods=['post'], detail=False, perms_map={'post': 'ticket:destorys'},
@action(methods=['post'], detail=False, perms_map={'post': 'ticket.destorys'},
serializer_class=TicketDestorySerializer)
def destorys(self, request, pk=None):
"""