From 3ce9d01b6dae7b45fa1e65ddece8b5e7b6670e01 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 13 Sep 2018 12:16:49 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=20=E4=BF=AE=E5=A4=8Dcoco=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=9F=A5=E7=9C=8B=E8=B5=84=E4=BA=A7=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/api.py | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/apps/perms/api.py b/apps/perms/api.py index 6128a90fc..bfc22bf4d 100644 --- a/apps/perms/api.py +++ b/apps/perms/api.py @@ -62,14 +62,15 @@ class UserGrantedAssetsApi(ListAPIView): """ permission_classes = (IsOrgAdminOrAppUser,) serializer_class = AssetGrantedSerializer - - def dispatch(self, request, *args, **kwargs): - if request.user.is_superuser or request.user.is_app or \ + + def change_org_if_need(self): + if self.request.user.is_superuser or \ + self.request.user.is_app or \ self.kwargs.get('pk') is None: set_to_root_org() - return super().dispatch(request, *args, **kwargs) - + def get_queryset(self): + self.change_org_if_need() user_id = self.kwargs.get('pk', '') queryset = [] @@ -97,14 +98,15 @@ class UserGrantedNodesApi(ListAPIView): """ permission_classes = (IsOrgAdmin,) serializer_class = NodeSerializer - - def dispatch(self, request, *args, **kwargs): - if request.user.is_superuser or request.user.is_app or \ + + def change_org_if_need(self): + if self.request.user.is_superuser or \ + self.request.user.is_app or \ self.kwargs.get('pk') is None: set_to_root_org() - return super().dispatch(request, *args, **kwargs) def get_queryset(self): + self.change_org_if_need() user_id = self.kwargs.get('pk', '') if user_id: user = get_object_or_404(User, id=user_id) @@ -126,14 +128,15 @@ class UserGrantedNodesWithAssetsApi(ListAPIView): """ permission_classes = (IsOrgAdminOrAppUser,) serializer_class = NodeGrantedSerializer - - def dispatch(self, request, *args, **kwargs): - if request.user.is_superuser or request.user.is_app or \ + + def change_org_if_need(self): + if self.request.user.is_superuser or \ + self.request.user.is_app or \ self.kwargs.get('pk') is None: set_to_root_org() - return super().dispatch(request, *args, **kwargs) def get_queryset(self): + self.change_org_if_need() user_id = self.kwargs.get('pk', '') queryset = [] if not user_id: @@ -164,14 +167,15 @@ class UserGrantedNodeAssetsApi(ListAPIView): """ permission_classes = (IsOrgAdminOrAppUser,) serializer_class = AssetGrantedSerializer - - def dispatch(self, request, *args, **kwargs): - if request.user.is_superuser or request.user.is_app or \ + + def change_org_if_need(self): + if self.request.user.is_superuser or \ + self.request.user.is_app or \ self.kwargs.get('pk') is None: set_to_root_org() - return super().dispatch(request, *args, **kwargs) def get_queryset(self): + self.change_org_if_need() user_id = self.kwargs.get('pk', '') node_id = self.kwargs.get('node_id')