Exemplo n.º 1
0
def register():
    form = RegistrationForm(request.form, meta={'locales': ['fa']})
    if request.method == 'POST' and form.validate():
        plain_email = re.match(re.compile("(.*)(@.*)"), form.email.data)
        user_email = plain_email.group(1).replace('.',
                                                  '') + plain_email.group(2)

        new_user = User(email=user_email, password=form.password.data)
        db.session.add(new_user)
        token = new_user.generate_confirmation_token()
        url = url_for('user.confirm', token=token, _external=True)
        try:
            email.send(
                new_user.email, 'Confirm Your Account',
                render_template('user/email/confirm.html',
                                user=new_user,
                                url=url))
            db.session.commit()
            new_user.add_ability(Abilities.TYPICAL)
        except ConnectionError:
            flash(
                u'.ارسال ایمیل تایید حساب کاربری با مشکل روبه رو شد.مجددا تلاش کنید'
            )
            db.session.rollback()
            return render_template('user/register.html', form=form)
        flash(u'.یک ایمیل تایید حساب کاربری برای شما ارسال شده است')
        return redirect(url_for('main.index'))
    return render_template('user/register.html', form=form)