def signup(): if g.user: return redirect('/') form = SignUpForm() # Check the captcha """ captcha_passed = False if request.method == 'POST': lowered_titles = [x.lower() for x in session.get('captcha_title', [])] if request.form.get('cover','').lower() in lowered_titles: captcha_passed = True else: flash('The text in the image did not match.', 'error') # It's important to only allow one attempt for each session title if 'captcha_title' in session: session.pop('captcha_title') """ valid_form = True # Check for the honey pot. if request.form.get('very_important_field'): # They filled in the honeypot. Most likely, they're a bot. # There can be some weird shit with autocompletes, so just # in case it's an actual user, let's flash a message. flash('Please do not use autocomplete on this form.', 'error') valid_form = False valid_form = valid_form and form.validate_on_submit() # Disabled captacha logic # valid_Form = valid_form and captcha_passed if request.method == 'POST' and valid_form: # Create the user in the database newuser = User() newuser.email = request.form['email'].lower() newuser.first_name = request.form['first_name'] newuser.last_name = request.form['last_name'] newuser.url_keyword = User.generate_url_keyword(newuser.first_name, newuser.last_name) newuser.set_password(request.form['pw']) db.session.add(newuser) # is this user a teacher? if so make a teacher if request.form['is-student'] == "false": db.session.flush() newteacher = Teacher() newteacher.uid = newuser.uid db.session.add(newteacher) db.session.commit() # Send the welcome email. mailer = Mailer() params = { 'subject': 'Welcome to Peernote', 'user': newuser } mailer.send(Welcome(), params, newuser.email) # Log this user in. session['uid'] = newuser.uid current_app.logger.debug('Logging in as uid = %d', session['uid']) return redirect('/') return render_template('users/signup.html', form=form,page_title="Welcome")