コード例 #1
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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)
コード例 #2
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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)
コード例 #3
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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)
コード例 #4
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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, {})
コード例 #5
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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)
コード例 #6
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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)
コード例 #7
0
ファイル: views.py プロジェクト: caoairong/bclub-1.0beta
 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, {})