97 lines
2.9 KiB
Python
97 lines
2.9 KiB
Python
#!/usr/bin/env python
|
|
#-*- coding:utf8 -*-
|
|
|
|
import tornado.web
|
|
from utils import encrypt
|
|
from handlers.home import BaseHandler
|
|
from model.user import User, UserInfo
|
|
|
|
|
|
class ProfileHandler(BaseHandler):
|
|
|
|
error_message = {
|
|
'130': 'update success!',
|
|
'131': 'realname empty',
|
|
'132': 'username empty',
|
|
'133': 'email empty',
|
|
}
|
|
|
|
@tornado.web.authenticated
|
|
def get(self):
|
|
user = self.current_user
|
|
user_info = UserInfo.get_info_by_uid(user.user_id)
|
|
self.render('home/settings_profile.html', error=None, user=user, user_info=user_info)
|
|
|
|
def post(self):
|
|
user = self.current_user
|
|
realname = self.get_argument('realname', '')
|
|
username = self.get_argument('username', '')
|
|
email = self.get_argument('email', '')
|
|
about_me = self.get_argument('about_me', '')
|
|
avatar_src = self.get_argument('avatar_src', '')
|
|
if not realname:
|
|
self.render('home/settings_profile.html', error=131)
|
|
return
|
|
if not username:
|
|
self.render('home/settings_profile.html', error=132)
|
|
return
|
|
if not email:
|
|
self.render('home/settings_profile.html', error=133)
|
|
return
|
|
|
|
user.update(username, email, realname, about_me, avatar_src)
|
|
self.redirect('/settings/profile')
|
|
|
|
|
|
class PasswordHandler(BaseHandler):
|
|
|
|
error_message = {
|
|
'140': '密码修改成功',
|
|
'141': '原始密码填写错误',
|
|
'142': '新密码不能为空',
|
|
'143': '校验密码不能为空',
|
|
'144': '两次密码不一致',
|
|
'145': '密码修改出错,请稍后再试'
|
|
}
|
|
|
|
@tornado.web.authenticated
|
|
def get(self):
|
|
self.render('home/settings_password.html', error=None)
|
|
|
|
@tornado.web.authenticated
|
|
def post(self):
|
|
user = self.current_user
|
|
password = self.get_argument('password', '')
|
|
new_password = self.get_argument('new_password', '')
|
|
verify_password = self.get_argument('verify_password', '')
|
|
|
|
if user.get_password() != encrypt(password):
|
|
self.render('home/settings_password.html', error=141)
|
|
return
|
|
if new_password == '':
|
|
self.render('home/settings_password.html', error=142)
|
|
return
|
|
if verify_password == '':
|
|
self.render('home/settings_password.html', error=143)
|
|
return
|
|
if new_password != verify_password:
|
|
self.render('home/settings_password.html', error=144)
|
|
return
|
|
|
|
result = user.update_password(new_password)
|
|
if not result:
|
|
self.render('home/settings_password.html', error=145)
|
|
return
|
|
self.render('home/settings_password.html', error=140)
|
|
|
|
|
|
class NotificationsHandler(BaseHandler):
|
|
|
|
def get(self):
|
|
self.render('home/settings_notifications.html')
|
|
|
|
def post(self):
|
|
pass
|
|
|
|
|