From b5fcc10925b0db4ed3eb19ac15a54a8a6b010f7c Mon Sep 17 00:00:00 2001 From: xinwen Date: Thu, 19 Nov 2020 14:49:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(old-api):=20=E8=B0=83=E6=95=B4=E6=97=A7?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E7=BB=87=E4=B8=8E=E7=94=A8=E6=88=B7=E5=85=B3?= =?UTF-8?q?=E8=81=94=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/orgs/middleware.py | 1 - apps/orgs/serializers.py | 35 +++++++++++++++++++---------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/apps/orgs/middleware.py b/apps/orgs/middleware.py index efbee2dde..2448fffc3 100644 --- a/apps/orgs/middleware.py +++ b/apps/orgs/middleware.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # -from .models import Organization from .utils import get_org_from_request, set_current_org diff --git a/apps/orgs/serializers.py b/apps/orgs/serializers.py index 7a57b4fac..c4402d433 100644 --- a/apps/orgs/serializers.py +++ b/apps/orgs/serializers.py @@ -74,26 +74,29 @@ class OrgMemberSerializer(BulkModelSerializer): ).distinct() -class OrgMemberAdminSerializer(BulkModelSerializer): +class OrgMemberOldBaseSerializer(BulkModelSerializer): + organization = serializers.PrimaryKeyRelatedField( + label=_('Organization'), queryset=Organization.objects.all(), required=True, source='org' + ) + + def to_internal_value(self, data): + view = self.context['view'] + org_id = view.kwargs.get('org_id') + if org_id: + data['organization'] = org_id + return super().to_internal_value(data) + + class Meta: + model = OrganizationMember + fields = ('id', 'organization', 'user', 'role') + + +class OrgMemberAdminSerializer(OrgMemberOldBaseSerializer): role = serializers.HiddenField(default=ROLE.ADMIN) - organization = serializers.PrimaryKeyRelatedField( - label=_('Organization'), queryset=Organization.objects.all(), required=True, source='org' - ) - - class Meta: - model = OrganizationMember - fields = ('id', 'organization', 'user', 'role') -class OrgMemberUserSerializer(BulkModelSerializer): +class OrgMemberUserSerializer(OrgMemberOldBaseSerializer): role = serializers.HiddenField(default=ROLE.USER) - organization = serializers.PrimaryKeyRelatedField( - label=_('Organization'), queryset=Organization.objects.all(), required=True, source='org' - ) - - class Meta: - model = OrganizationMember - fields = ('id', 'organization', 'user', 'role') class OrgRetrieveSerializer(OrgReadSerializer):