修改用户属性设置页面,添加学校字段,合并了一些冲突

This commit is contained in:
esp
2015-11-10 18:46:51 +08:00
parent d64659ec6f
commit 0a9b9df13a
6 changed files with 100 additions and 50 deletions

View File

@@ -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)