diff options
author | Rodney Ewing <ewing.rj@gmail.com> | 2013-05-24 12:52:14 -0700 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2013-05-28 01:22:19 +0200 |
commit | f9e032212dff4d54de644cb5537bc0bef6d24c7f (patch) | |
tree | 2015f4511bf1ac68ce1928baa745b687fbb47c16 /mediagoblin/auth/views.py | |
parent | 75fc93686d0763ced6a5769e99e570a4c8fd3273 (diff) | |
download | mediagoblin-f9e032212dff4d54de644cb5537bc0bef6d24c7f.tar.lz mediagoblin-f9e032212dff4d54de644cb5537bc0bef6d24c7f.tar.xz mediagoblin-f9e032212dff4d54de644cb5537bc0bef6d24c7f.zip |
added a register_user function
cherry picked from rodney757 and fixed for out of order
picking.
Diffstat (limited to 'mediagoblin/auth/views.py')
-rw-r--r-- | mediagoblin/auth/views.py | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py index 2485e79e..bb7bda77 100644 --- a/mediagoblin/auth/views.py +++ b/mediagoblin/auth/views.py @@ -25,7 +25,7 @@ from mediagoblin.tools.mail import email_debug_message from mediagoblin.auth import lib as auth_lib from mediagoblin.auth import forms as auth_forms from mediagoblin.auth.lib import send_fp_verification_email -from mediagoblin.auth.tools import (send_verification_email, +from mediagoblin.auth.tools import (send_verification_email, register_user, check_login_simple) @@ -47,38 +47,9 @@ def register(request): if request.method == 'POST' and register_form.validate(): # TODO: Make sure the user doesn't exist already - users_with_username = User.query.filter_by(username=register_form.data['username']).count() - users_with_email = User.query.filter_by(email=register_form.data['email']).count() - - extra_validation_passes = True - - if users_with_username: - register_form.username.errors.append( - _(u'Sorry, a user with that name already exists.')) - extra_validation_passes = False - if users_with_email: - register_form.email.errors.append( - _(u'Sorry, a user with that email address already exists.')) - extra_validation_passes = False - - if extra_validation_passes: - # Create the user - user = User() - user.username = register_form.data['username'] - user.email = register_form.data['email'] - user.pw_hash = auth_lib.bcrypt_gen_password_hash( - register_form.password.data) - user.verification_key = unicode(uuid.uuid4()) - user.save() - - # log the user in - request.session['user_id'] = unicode(user.id) - request.session.save() - - # send verification email - email_debug_message(request) - send_verification_email(user, request) + user = register_user(request, register_form) + if user: # redirect the user to their homepage... there will be a # message waiting for them to verify their email return redirect( |