def register_customer(): return redirect(url_for('.index')) if g.user: flash(u'Вы уже зарегистрированы', 'warning') return redirect(url_for('.index')) ref = session.get('ref', '') key = app.config.get('REFERRAL_CRYPT_KEY', 'qwertyui12345678') try: id, _salt = aes_base16_decrypt(key, ref).split('$') referrer = users.get_user_by_id(int(id)) if not referrer or not referrer.is_customer(): raise ValueError() except: form = None else: form = forms.CustomerRegisterForm(request.form) if request.method == 'POST' and form.validate(): users.add_user(email=form.email.data, password_hash=generate_password_hash(form.password.data), first_name=form.first_name.data, last_name=form.last_name.data, organization=form.organization.data, phone=form.phone.data, messenger_type=form.messenger_type.data, messenger_uid=form.messenger_uid.data, referrer_id=referrer.id) user = users.get_user_by_email(form.email.data, full=True) if user: users.add_user_role(user.id, roles.CUSTOMER) user.roles.append(roles.CUSTOMER) session['user_id'] = user.id session['ref'] = '' tmail.user_confirm_email(user) flash(u'Вы успешно зарегистрированы. На указанный электронный адрес' u' было выслано письмо с подтверждением.', 'success') return redirect(url_for('cabinet.index')) flash(u'Произошла ошибка при регистрации. Обратитесь к администрации.', 'error') return render_template('site/register-customer.html', form=form)
def info(): if request.method == 'POST': mail.user_confirm_email(g.user) flash(u'Письмо выслано повторно', 'success') return render_template('cabinet/info.html')