From 1845821f6cc0638e55eec4811ee10ad27cf893d7 Mon Sep 17 00:00:00 2001 From: Bai Date: Wed, 3 Jun 2020 18:20:33 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?profile=E5=BA=8F=E5=88=97=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/serializers/user.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index 437ec9302..4d7a8da4d 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # from django.core.cache import cache +from django.conf import settings from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers @@ -199,17 +200,24 @@ class UserProfileSerializer(UserSerializer): public_key_hash_md5 = serializers.CharField( source='get_public_key_hash_md5', required=False, read_only=True, max_length=128 ) + MFA_LEVEL_CHOICES = ( + (0, _('Disable')), + (1, _('Enable')), + ) + mfa_level = serializers.ChoiceField(choices=MFA_LEVEL_CHOICES, label=_('MFA')) + guide_url = serializers.SerializerMethodField() class Meta(UserSerializer.Meta): fields = UserSerializer.Meta.fields + [ - 'public_key_comment', 'public_key_hash_md5', 'admin_or_audit_orgs', 'current_org_roles' + 'public_key_comment', 'public_key_hash_md5', 'admin_or_audit_orgs', 'current_org_roles', + 'guide_url' ] extra_kwargs = dict(UserSerializer.Meta.extra_kwargs) extra_kwargs.update({ 'name': {'read_only': True, 'max_length': 128}, 'username': {'read_only': True, 'max_length': 128}, 'email': {'read_only': True}, - 'mfa_level': {'read_only': True}, + # 'mfa_level': {'read_only': True}, 'source': {'read_only': True}, 'is_valid': {'read_only': True}, 'is_active': {'read_only': True}, @@ -230,6 +238,10 @@ class UserProfileSerializer(UserSerializer): fields.remove('public_key') extra_kwargs.pop('public_key', None) + @staticmethod + def get_guide_url(obj): + return settings.USER_GUIDE_URL + class UserUpdatePasswordSerializer(serializers.ModelSerializer): old_password = serializers.CharField(required=True, max_length=128, write_only=True) -- GitLab