From 4894f134c5c6f9b3088a132000c8959f71e8c6b0 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 25 Oct 2023 08:41:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mio=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/inm/views.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/inm/views.py b/apps/inm/views.py index ee22ad9c..8b182bf2 100644 --- a/apps/inm/views.py +++ b/apps/inm/views.py @@ -127,13 +127,22 @@ class MIOViewSet(CustomModelViewSet): def get_serializer_class(self): if self.action in ['create', 'update', 'partial_update']: type = self.request.data.get('type') + user = self.request.user if type in [MIO.MIO_TYPE_DO_IN, MIO.MIO_TYPE_DO_OUT]: + if not has_perm(user, ['mio.do']): + raise PermissionDenied return MIODoSerializer elif type in [MIO.MIO_TYPE_OTHER_IN, MIO.MIO_TYPE_OTHER_OUT]: + if not has_perm(user, ['mio.other']): + raise PermissionDenied return MIOOtherSerializer elif type == MIO.MIO_TYPE_SALE_OUT: + if not has_perm(user, ['mio.sale']): + raise PermissionDenied return MIOSaleSerializer elif type == MIO.MIO_TYPE_PUR_IN: + if not has_perm(user, ['mio.pur']): + raise PermissionDenied return MIOPurSerializer return self.serializer_class @@ -177,7 +186,7 @@ class MIOItemViewSet(ListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin ordering = ['create_time'] def perform_destroy(self, instance): - if instance.state != MIO.MIO_CREATE: + if instance.mio.state != MIO.MIO_CREATE: raise ParseError('出入库记录非创建中不可删除') if has_perm(self.request.user, ['mio.update']) is False and instance.mio.create_by != self.request.user: raise PermissionDenied('无权限删除')