修改用户属性设置页面,添加学校字段,合并了一些冲突
This commit is contained in:
@@ -18,11 +18,13 @@ from mail.tasks import send_email
|
||||
|
||||
from .decorators import login_required
|
||||
from .models import User, UserProfile
|
||||
|
||||
from .serializers import (UserLoginSerializer, UserRegisterSerializer,
|
||||
UserChangePasswordSerializer,
|
||||
UserSerializer, EditUserSerializer,
|
||||
ApplyResetPasswordSerializer, ResetPasswordSerializer,
|
||||
SSOSerializer, EditUserProfileSerializer)
|
||||
SSOSerializer, EditUserProfileSerializer, UserProfileSerializer)
|
||||
|
||||
from .decorators import super_admin_required
|
||||
|
||||
|
||||
@@ -226,6 +228,37 @@ class UserInfoAPIView(APIView):
|
||||
return success_response(UserSerializer(request.user).data)
|
||||
|
||||
|
||||
class UserProfileAPIView(APIView):
|
||||
@login_required
|
||||
def get(self, request):
|
||||
"""
|
||||
返回这个用户的个人信息
|
||||
---
|
||||
response_serializer: UserSerializer
|
||||
"""
|
||||
return success_response(UserSerializer(request.user).data)
|
||||
|
||||
@login_required
|
||||
def put(self, request):
|
||||
serializer = EditUserProfileSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
data = serializer.data
|
||||
user_profile = request.user.userprofile
|
||||
if data["avatar"]:
|
||||
user_profile.avatar = data["avatar"]
|
||||
user_profile.mood = data["mood"]
|
||||
user_profile.hduoj_username = data["hduoj_username"]
|
||||
user_profile.bestcoder_username = data["bestcoder_username"]
|
||||
user_profile.codeforces_username = data["codeforces_username"]
|
||||
user_profile.blog = data["blog"]
|
||||
user_profile.school = data["school"]
|
||||
user_profile.phone_number = data["phone_number"]
|
||||
user_profile.save()
|
||||
return success_response(u"修改成功")
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
|
||||
|
||||
class ApplyResetPasswordAPIView(APIView):
|
||||
def post(self, request):
|
||||
"""
|
||||
@@ -300,28 +333,6 @@ def user_index_page(request, username):
|
||||
return render(request, "oj/account/user_index.html", {"user": user, "blog_link": blog_link})
|
||||
|
||||
|
||||
class UserProfileAPIView(APIView):
|
||||
@login_required
|
||||
def put(self, request):
|
||||
serializer = EditUserProfileSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
data = serializer.data
|
||||
user_profile = request.user.userprofile
|
||||
|
||||
if data["avatar"]:
|
||||
user_profile.avatar = data["avatar"]
|
||||
user_profile.mood = data["mood"]
|
||||
user_profile.hduoj_username = data["hduoj_username"]
|
||||
user_profile.bestcoder_username = data["bestcoder_username"]
|
||||
user_profile.codeforces_username = data["codeforces_username"]
|
||||
user_profile.blog = data["blog"]
|
||||
|
||||
user_profile.save()
|
||||
return success_response(u"修改成功")
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
|
||||
|
||||
class SSOAPIView(APIView):
|
||||
def post(self, request):
|
||||
serializer = SSOSerializer(data=request.data)
|
||||
|
||||
Reference in New Issue
Block a user