def register(): if request.method == 'POST' and config.get('registration', bool): if 'username' in request.form and 'password' in request.form and \ 'email' in request.form: try: user = NewUser(request.form['username'], request.form['password'], request.form['email']) user.create() except exceptions.UserAlreadyExists: flash(messages.username_already_exists, 'error') return redirect(url_for('register')) except: flash(messages.register_error, 'error') return redirect(url_for('register')) if user.is_active(): user.login() flash(messages.registered_and_logged_in, 'message') return redirect(url_for('index')) else: flash(messages.registered_and_deactivated, 'message') return redirect(url_for('public_index')) else: flash(messages.register_field_error, 'error') return render_template(get_template('register.html'), registration_enabled=config.get('registration', bool))