Exemplo n.º 1
0
 def post(self):
     form = RegisterForm()
     if form.validate_on_submit():
         email = form.email.data
         username = form.username.data
         password = form.password.data
         if User.query.filter_by(email=email).exists():
             msg = _('The email has been registered')
             return HTTPResponse(HTTPResponse.HTTP_CODE_PARA_ERROR,
                                 message=msg).to_response()
         if User.query.filter_by(username=username).exists():
             msg = _('The username has been registered')
             return HTTPResponse(HTTPResponse.HTTP_CODE_PARA_ERROR,
                                 message=msg).to_response()
         user = User(username=username, email=email)
         user.set_password(password)
         user.save()
         login(user, True)
         self.register_email(user)
         flash(_('An email has been sent to your.Please receive'))
         return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response()
     else:
         if form.errors:
             return return_errors(form)
         return render_template('auth/register.html', form=form)
Exemplo n.º 2
0
 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('/')
     if user.is_confirmed:
         flash(_('The email has been confirmed. Please login.'))
         return redirect('auth.login')
     user.is_confirmed = True
     user.save()
     flash('You have confirmed your account. Thanks!')
     return redirect('/')
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 def post(self):
     if current_user.is_confirmed:
         return HTTPResponse(HTTPResponse.USER_IS_CONFIRMED).to_response()
     self.send_email(current_user)
     return HTTPResponse(
         HTTPResponse.NORMAL_STATUS,
         description=_('An email has been sent to your.Please receive'
                       )).to_response()
Exemplo n.º 5
0
class ForgetForm(Form):
    email = StringField(_('Register Email:'), [DataRequired(), Email()])

    captcha = StringField(
        _('Captcha:'), [DataRequired(), Length(min=4, max=4)])

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        captcha = session['captcha']
        captcha_data = self.captcha.data
        if captcha_data.lower() != captcha.lower():
            self.captcha.errors.append(_('The captcha is error'))
            return False

        return True
Exemplo n.º 6
0
class BaseForm(Form):
    username = StringField(
        _('Username:'******'Password:'******'Captcha:'), [DataRequired(), Length(min=4, max=4)])

    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        captcha = session['captcha']
        captcha_data = self.captcha.data
        if captcha_data.lower() != captcha.lower():
            self.captcha.errors.append(_('The captcha is error'))
            return False

        return True
Exemplo n.º 7
0
 def post(self):
     form = ForgetForm()
     if form.validate_on_submit():
         email = form.email.data
         user = User.query.filter_by(email=email).first()
         if not user:
             msg = _('The email is error')
             return HTTPResponse(HTTPResponse.HTTP_CODE_PARA_ERROR,
                                 message=msg).to_response()
         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'))
         return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response()
     else:
         if form.errors:
             return return_errors(form)
         return render_template('auth/forget.html', form=form)
Exemplo n.º 8
0
    def validate(self):
        rv = Form.validate(self)
        if not rv:
            return False

        captcha = session['captcha']
        captcha_data = self.captcha.data
        if captcha_data.lower() != captcha.lower():
            self.captcha.errors.append(_('The captcha is error'))
            return False

        return True
Exemplo n.º 9
0
 def post(self):
     form = LoginForm()
     if form.validate_on_submit():
         username = form.username.data
         password = form.password.data
         remember = True if request.json.get('remember') else False
         user = User.query.filter_by(username=username).first()
         if user and user.check_password(password):
             login(user, remember)
             return HTTPResponse(HTTPResponse.NORMAL_STATUS).to_response()
         msg = _('Username or Password Error')
         return HTTPResponse(HTTPResponse.HTTP_CODE_PARA_ERROR,
                             message=msg).to_response()
     else:
         if form.errors:
             return return_errors(form)
         return render_template('auth/login.html', form=form)
Exemplo n.º 10
0
 def decorator(*args, **kwargs):
     if current_user.is_authenticated:
         flash(_("You have logined in ,needn't login again"))
         return redirect('/')
     return func(*args, **kwargs)
Exemplo n.º 11
0
class LoginForm(BaseForm):
    remember = BooleanField(_('Remember me'), default=False)
Exemplo n.º 12
0
class RegisterForm(BaseForm):
    email = StringField(_('Email:'), [DataRequired(), Email()])