From 918e5549948cd21dfcba417b0ce84d83fef12f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 18 Jul 2022 10:34:19 +0800 Subject: [PATCH] =?UTF-8?q?opl=20=E8=BF=94=E5=9B=9Ecate=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/am/views.py | 4 ++-- apps/ecm/views.py | 6 +++--- apps/hrm/views.py | 8 ++++---- apps/opm/serializers.py | 6 ++++++ apps/opm/views.py | 4 ++-- apps/rpm/views.py | 4 ++-- apps/system/views.py | 8 ++++---- apps/third/views_d.py | 4 ++-- apps/utils/viewsets.py | 4 ++-- apps/vm/views.py | 2 +- apps/wf/views.py | 22 ++++++++++------------ 11 files changed, 38 insertions(+), 34 deletions(-) diff --git a/apps/am/views.py b/apps/am/views.py index e0fe4837..c7133435 100755 --- a/apps/am/views.py +++ b/apps/am/views.py @@ -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 diff --git a/apps/ecm/views.py b/apps/ecm/views.py index ec3d9ff6..c2cfb938 100644 --- a/apps/ecm/views.py +++ b/apps/ecm/views.py @@ -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): """批量添加摄像头 diff --git a/apps/hrm/views.py b/apps/hrm/views.py index e87ed5d4..c81685df 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -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): """人像下发状态 diff --git a/apps/opm/serializers.py b/apps/opm/serializers.py index 0a8667ac..e3f870ce 100644 --- a/apps/opm/serializers.py +++ b/apps/opm/serializers.py @@ -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 diff --git a/apps/opm/views.py b/apps/opm/views.py index 896a4d96..4de7a7b0 100644 --- a/apps/opm/views.py +++ b/apps/opm/views.py @@ -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 diff --git a/apps/rpm/views.py b/apps/rpm/views.py index 1a543264..02e50cf6 100644 --- a/apps/rpm/views.py +++ b/apps/rpm/views.py @@ -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 diff --git a/apps/system/views.py b/apps/system/views.py index 6bf1ffc4..6cd75b22 100755 --- a/apps/system/views.py +++ b/apps/system/views.py @@ -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 diff --git a/apps/third/views_d.py b/apps/third/views_d.py index 831ef124..03d8f090 100644 --- a/apps/third/views_d.py +++ b/apps/third/views_d.py @@ -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): """ diff --git a/apps/utils/viewsets.py b/apps/utils/viewsets.py index cc568131..b467f25c 100755 --- a/apps/utils/viewsets.py +++ b/apps/utils/viewsets.py @@ -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) diff --git a/apps/vm/views.py b/apps/vm/views.py index 75c33d1e..6b2bbd4e 100644 --- a/apps/vm/views.py +++ b/apps/vm/views.py @@ -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 diff --git a/apps/wf/views.py b/apps/wf/views.py index fb444eb5..023d7cf9 100755 --- a/apps/wf/views.py +++ b/apps/wf/views.py @@ -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): """