Example #1
0
def signup():
    form = SignupForm()

    if form.validate_on_submit():
        u = User()

        form.populate_obj(u)
        u.password = User.encrypt_password(request.form.get('password'))
        u.save()

        if login_user(u):
            flash('Awesome, thanks for signing up!', 'success')
            return redirect(url_for('user.welcome'))

    return render_template('user/signup.html', form=form)
Example #2
0
def signup():
    form = SignupForm()

    if form.validate_on_submit():
        u = User()

        form.populate_obj(u)
        u.password = User.encrypt_password(request.form.get('password'))
        u.save()

        if login_user(u):

            from app.blueprints.user.tasks import send_welcome_email
            send_welcome_email.delay(current_user.email)

            # Create a user id for the user
            mailbox_id = generate_mailbox_id()

            # Create an inbox for the user
            if create_inbox(mailbox_id):
                current_user.mailbox_count += 1
                current_user.active_mailbox = True
                current_user.mailbox_id = mailbox_id

                current_user.save()

                from app.blueprints.parse.models.mailbox import Mailbox

                m = Mailbox()
                m.mailbox_id = mailbox_id
                m.user_email = current_user.email
                db.session.add(m)

                db.session.commit()
                flash('Awesome, thanks for signing up!', 'success')
            else:
                flash(
                    'There was a problem creating an inbox for you. Please try again.',
                    'error')
                current_user.active_mailbox = False
                current_user.mailbox_count = 0
                current_user.mailbox_id = None

                current_user.save()

            return redirect(url_for('user.settings'))

    return render_template('user/signup.html', form=form)