def decorator(*args, **kwargs): if current_user.is_authenticated: #flash(_("You have logined in ,needn't login again")) msg = _("You have logined in ,needn't login again") #return redirect('/') return get_json(1, msg, {}) return func(*args, **kwargs)
def send_email(self, user): token = user.email_token confirm_url = url_for( 'auth.confirm_token', token=token, _external=True) html = render_template('templet/email.html', confirm_url=confirm_url) subject = _("Please confirm your email") user.send_email(html=html, subject=subject)
def post(self): post_data = request.json username = post_data['username'] password = post_data['password'] confirm_password = post_data['confirm_password'] email = post_data['email'] phone = post_data['phone'] try: recommender_code = post_data['recommender_code'] except: recommender_code = None if User.query.filter_by(email=email).exists(): msg = _('The email has been registered') #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR, message=msg).to_response() return get_json(0, msg, {}) if User.query.filter_by(phone=phone).exists(): msg = _('The phone has been registered') return get_json(0, msg, {}) if User.query.filter_by(username=username).exists(): msg = _('The username has been registered') #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR, message=msg).to_response() return get_json(0, msg, {}) if password != confirm_password: msg = _('Two passwords are different') user_code = self.user_code() user = User(username=username, email=email, phone=phone, user_code=user_code, recommender_code=recommender_code, integral=100) recommender_user = User.query.filter_by(user_code=recommender_code).first() user.integral = user.integral+1 if recommender_user: recommender_user.integral = user.integral+1 recommender_user.save() user.set_password(password) user.save() user.login(True) #self.send_email(user) #flash(_('An email has been sent to your.Please receive')) #msg = _('An email has been sent to your.Please receive') msg = _('注册成功') data = {"username":user.username} Avatar(data, user) #serializer = user.serializer if hasattr( # user, 'serializer') else Serializer(user, depth=1) #return HTTPResponse(HTTPResponse.NORMAL_STATUS, data=serializer.data).to_response() return get_json(1, msg, data)
def get(self, token): user = User.check_email_token(token) if not user: msg = _('The confirm link has been out of time.' 'Please confirm your email again') #flash(msg) #return redirect('/') return get_json(1, msg, {}) if user.is_confirmed: #flash(_('The email has been confirmed. Please login.')) msg = _('The email has been confirmed. Please login.') #return redirect('auth.login') return get_json(1, msg, {}) user.is_confirmed = True user.save() #flash('You have confirmed your account. Thanks!') msg = _('You have confirmed your account. Thanks!') return get_json(1, msg, {})
def decorator(*args, **kwargs): length = { 'username': lambda value: 3 <= len(value) <= 20, 'password': lambda value: 3 <= len(value) <= 20, } babel = { 'username': _("Username"), 'password': _("Password"), 'email': _("Email"), #'captcha': _("Captcha") } #keys.append('captcha') post_data = request.json for key in keys: if not post_data.get(key): msg = _('The %(key)s is required', key=babel[key]) #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR,message=msg).to_response() return get_json(0, msg, {}) if not length.get(key, lambda value: True)(post_data[key]): msg = _( "The %(key)s's length must be between 4 to 20 characters", key=babel[key]) #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR,message=msg).to_response() return get_json(0, msg, {}) captcha = post_data['captcha'] session_captcha = session.pop('captcha', '00000') if captcha.lower() != session_captcha.lower(): msg = _('The captcha is error') #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR,message=msg).to_response() return get_json(0, msg, {}) return func(*args, **kwargs)
def post(self): post_data = request.json username = post_data['username'] password = post_data['password'] remember = post_data.pop('remember', True) user = User.query.filter_by(username=username).first() if not user or not user.check_password(password): msg = _('Username or Password Error') #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR, message=msg).to_response() return get_json(0, msg, {}) user.login(remember) data = {"username":user.username} Avatar(data, user) #serializer = user.serializer if hasattr( # user, 'serializer') else Serializer(user, depth=1) #return HTTPResponse(HTTPResponse.NORMAL_STATUS, data=serializer.data).to_response() return get_json(1, '登录成功', data)
def post(self): post_data = request.json email = post_data['email'] user = User.query.filter_by(email=email).first() if not user: msg = 'The email is error' #return HTTPResponse(HTTPResponse.HTTP_PARA_ERROR, message=msg).to_response() return get_json(0, msg, {}) password = ''.join(sample(ascii_letters + digits, 8)) user.set_password(password) user.save() self.send_email(user, password) #flash( # _('An email has been sent to you.' # 'Please receive and update your password in time')) msg = _('An email has been sent to you.Please receive and update your password in time') #return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response() return get_json(1, msg, {})