fix: 修复应用账号

pull/6664/head
ibuler 2021-08-17 20:05:07 +08:00 committed by Jiangjie.Bai
parent 1605a57df6
commit 91b269fc36
2 changed files with 11 additions and 3 deletions

View File

@ -2,7 +2,6 @@
# #
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from django.conf import settings
from django.db.models import F, Value, CharField from django.db.models import F, Value, CharField
from django.db.models.functions import Concat from django.db.models.functions import Concat
from django.http import Http404 from django.http import Http404
@ -47,7 +46,7 @@ class ApplicationAccountViewSet(JMSModelViewSet):
.annotate(app=F('applications')) \ .annotate(app=F('applications')) \
.annotate(app_name=F("applications__name")) \ .annotate(app_name=F("applications__name")) \
.values('username', 'password', 'systemuser', 'systemuser_display', .values('username', 'password', 'systemuser', 'systemuser_display',
'app', 'app_name', 'category', 'type', 'uid') 'app', 'app_name', 'category', 'type', 'uid', 'org_id')
return queryset return queryset
def get_object(self): def get_object(self):

View File

@ -3,6 +3,8 @@
from rest_framework import serializers from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from orgs.models import Organization
from orgs.mixins.serializers import BulkOrgResourceModelSerializer from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from common.drf.serializers import MethodSerializer from common.drf.serializers import MethodSerializer
from .attrs import category_serializer_classes_mapping, type_serializer_classes_mapping from .attrs import category_serializer_classes_mapping, type_serializer_classes_mapping
@ -74,12 +76,14 @@ class ApplicationAccountSerializer(serializers.Serializer):
systemuser = serializers.ReadOnlyField(label=_('System user')) systemuser = serializers.ReadOnlyField(label=_('System user'))
systemuser_display = serializers.ReadOnlyField(label=_("System user display")) systemuser_display = serializers.ReadOnlyField(label=_("System user display"))
app = serializers.ReadOnlyField(label=_('App')) app = serializers.ReadOnlyField(label=_('App'))
uid = serializers.ReadOnlyField(label=_("Union id"))
app_name = serializers.ReadOnlyField(label=_("Application name"), read_only=True) app_name = serializers.ReadOnlyField(label=_("Application name"), read_only=True)
category = serializers.ChoiceField(label=_('Category'), choices=const.AppCategory.choices, read_only=True) category = serializers.ChoiceField(label=_('Category'), choices=const.AppCategory.choices, read_only=True)
category_display = serializers.SerializerMethodField(label=_('Category display')) category_display = serializers.SerializerMethodField(label=_('Category display'))
type = serializers.ChoiceField(label=_('Type'), choices=const.AppType.choices, read_only=True) type = serializers.ChoiceField(label=_('Type'), choices=const.AppType.choices, read_only=True)
type_display = serializers.SerializerMethodField(label=_('Type display')) type_display = serializers.SerializerMethodField(label=_('Type display'))
uid = serializers.ReadOnlyField(label=_("Union id"))
org_id = serializers.ReadOnlyField(label=_("Organization"))
org_name = serializers.SerializerMethodField(label=_("Org name"))
category_mapper = dict(const.AppCategory.choices) category_mapper = dict(const.AppCategory.choices)
type_mapper = dict(const.AppType.choices) type_mapper = dict(const.AppType.choices)
@ -96,6 +100,11 @@ class ApplicationAccountSerializer(serializers.Serializer):
def get_type_display(self, obj): def get_type_display(self, obj):
return self.type_mapper.get(obj['type']) return self.type_mapper.get(obj['type'])
@staticmethod
def get_org_name(obj):
org = Organization.get_instance(obj['org_id'])
return org.name
class ApplicationAccountSecretSerializer(ApplicationAccountSerializer): class ApplicationAccountSecretSerializer(ApplicationAccountSerializer):
password = serializers.CharField(write_only=False, label=_("Password")) password = serializers.CharField(write_only=False, label=_("Password"))