diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-08-22 21:48:45 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-08-22 21:48:45 -0500 |
commit | 894fa564e718af7398f6f368eb3ac0dcb4d45e1f (patch) | |
tree | 9508a08f8d6598d1040cea44287c0e42af1a1ad6 /mediagoblin/auth/views.py | |
parent | 3a8c3a38559f2f81d6155c2349fcddc5ecd6ef28 (diff) | |
parent | 132aa9d97a32abfe86bc5de3ea4e2fa62ddc3793 (diff) | |
download | mediagoblin-894fa564e718af7398f6f368eb3ac0dcb4d45e1f.tar.lz mediagoblin-894fa564e718af7398f6f368eb3ac0dcb4d45e1f.tar.xz mediagoblin-894fa564e718af7398f6f368eb3ac0dcb4d45e1f.zip |
Merge branch 'master' into jwandborg-f482_media_attachments
Conflicts:
mediagoblin/config_spec.ini
mediagoblin/edit/forms.py
mediagoblin/edit/views.py
mediagoblin/submit/views.py
mediagoblin/templates/mediagoblin/user_pages/media.html
Diffstat (limited to 'mediagoblin/auth/views.py')
-rw-r--r-- | mediagoblin/auth/views.py | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py index df7e2a88..4c4a34fd 100644 --- a/mediagoblin/auth/views.py +++ b/mediagoblin/auth/views.py @@ -20,7 +20,8 @@ from webob import exc from mediagoblin import messages from mediagoblin import mg_globals -from mediagoblin.util import render_to_response, redirect +from mediagoblin.util import render_to_response, redirect, render_404 +from mediagoblin.util import pass_to_ugettext as _ from mediagoblin.db.util import ObjectId from mediagoblin.auth import lib as auth_lib from mediagoblin.auth import forms as auth_forms @@ -36,7 +37,7 @@ def register(request): messages.add_message( request, messages.WARNING, - ('Sorry, registration is disabled on this instance.')) + _('Sorry, registration is disabled on this instance.')) return redirect(request, "index") register_form = auth_forms.RegistrationForm(request.POST) @@ -44,20 +45,27 @@ def register(request): if request.method == 'POST' and register_form.validate(): # TODO: Make sure the user doesn't exist already - users_with_username = \ - request.db.User.find({ - 'username': request.POST['username'].lower() - }).count() + users_with_username = request.db.User.find( + {'username': request.POST['username'].lower()}).count() + users_with_email = request.db.User.find( + {'email': request.POST['email'].lower()}).count() + + extra_validation_passes = True if users_with_username: register_form.username.errors.append( - u'Sorry, a user with that name already exists.') - - else: + _(u'Sorry, a user with that name already exists.')) + extra_validation_passes = False + if users_with_email: + register_form.email.errors.append( + _(u'Sorry, that email address has already been taken.')) + extra_validation_passes = False + + if extra_validation_passes: # Create the user user = request.db.User() user['username'] = request.POST['username'].lower() - user['email'] = request.POST['email'] + user['email'] = request.POST['email'].lower() user['pw_hash'] = auth_lib.bcrypt_gen_password_hash( request.POST['password']) user.save(validate=True) @@ -136,7 +144,7 @@ def verify_email(request): """ # If we don't have userid and token parameters, we can't do anything; 404 if not request.GET.has_key('userid') or not request.GET.has_key('token'): - return exc.HTTPNotFound() + return render_404(request) user = request.db.User.find_one( {'_id': ObjectId(unicode(request.GET['userid']))}) @@ -148,16 +156,17 @@ def verify_email(request): messages.add_message( request, messages.SUCCESS, - ('Your email address has been verified. ' - 'You may now login, edit your profile, and submit images!')) + _("Your email address has been verified. " + "You may now login, edit your profile, and submit images!")) else: - messages.add_message(request, - messages.ERROR, - 'The verification key or user id is incorrect') + messages.add_message( + request, + messages.ERROR, + _('The verification key or user id is incorrect')) return redirect( request, 'mediagoblin.user_pages.user_home', - user=request.user['username']) + user=user['username']) def resend_activation(request): @@ -174,7 +183,7 @@ def resend_activation(request): messages.add_message( request, messages.INFO, - 'Resent your verification email.') + _('Resent your verification email.')) return redirect( request, 'mediagoblin.user_pages.user_home', user=request.user['username']) |