diff --git a/apps/system/serializers.py b/apps/system/serializers.py index 3050437c..d95dd3f5 100755 --- a/apps/system/serializers.py +++ b/apps/system/serializers.py @@ -17,6 +17,7 @@ from apps.third.tapis import dhapis from rest_framework.validators import UniqueValidator from django.conf import settings from django.db.models import Q +from apps.utils.permission import get_user_perms_map # from django_q.models import Task as QTask, Schedule as QSchedule @@ -334,6 +335,23 @@ class UserUpdateSerializer(CustomModelSerializer): return super().update(instance, validated_data) +class UserFullInfoSerializer(CustomModelSerializer): + """ + 用户信息序列化 + """ + perms = serializers.SerializerMethodField() + belong_dept_name = serializers.CharField(source="belong_dept.name", read_only=True) + post_name = serializers.CharField(source="post.name", read_only=True) + + class Meta: + model = User + fields = ['id', 'username', 'type', 'name', 'avatar', 'belong_dept', + 'belong_dept_name', 'post', 'post_name', 'perms', + 'is_superuser', 'wxmp_openid', 'wx_openid'] + + def get_perms(self, obj): + return get_user_perms_map(obj, update_cache=True) + class UserCreateSerializer(CustomModelSerializer): """ 创建用户序列化