mirror of https://github.com/jumpserver/jumpserver
fix: 修复应用账号
parent
1605a57df6
commit
91b269fc36
|
@ -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):
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
Loading…
Reference in New Issue