From 391a5cb7d0b545314ccdcc6e10bc42426d6a3c6b Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 7 Jun 2021 10:40:07 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E5=A4=8D=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=AF=86=E7=A0=81=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/api/system_user.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/assets/api/system_user.py b/apps/assets/api/system_user.py index d0cc5662d..25c3f58f4 100644 --- a/apps/assets/api/system_user.py +++ b/apps/assets/api/system_user.py @@ -1,12 +1,12 @@ # ~*~ coding: utf-8 ~*~ from django.shortcuts import get_object_or_404 from rest_framework.response import Response -from rest_framework.exceptions import ValidationError from common.utils import get_logger from common.permissions import IsOrgAdmin, IsOrgAdminOrAppUser, IsValidUser from orgs.mixins.api import OrgBulkModelViewSet from orgs.mixins import generics +from orgs.utils import tmp_to_root_org from ..models import SystemUser, Asset from .. import serializers from ..serializers import SystemUserWithAuthInfoSerializer, SystemUserTempAuthSerializer @@ -66,11 +66,13 @@ class SystemUserTempAuthInfoApi(generics.CreateAPIView): serializer = super().get_serializer(data=request.data) serializer.is_valid(raise_exception=True) pk = kwargs.get('pk') - instance = get_object_or_404(SystemUser, pk=pk) - data = serializer.validated_data user = self.request.user + data = serializer.validated_data instance_id = data.get('instance_id') - instance.set_temp_auth(instance_id, user, data) + + with tmp_to_root_org(): + instance = get_object_or_404(SystemUser, pk=pk) + instance.set_temp_auth(instance_id, user, data) return Response(serializer.data, status=201)