Merge remote-tracking branch 'remotes/lorochka85/bug852_use_media_slug_instead_of_id'
[mediagoblin.git] / mediagoblin / auth / views.py
index 8888d23cc9fda929489552f055fcde60f5013a02..d01861d1221137b383066950e088b6a97dccf20d 100644 (file)
@@ -74,7 +74,7 @@ def register(request):
             extra_validation_passes = False
         if users_with_email:
             register_form.email.errors.append(
-                _(u'Sorry, that email address has already been taken.'))
+                _(u'Sorry, a user with that email address already exists.'))
             extra_validation_passes = False
 
         if extra_validation_passes:
@@ -87,7 +87,7 @@ def register(request):
             user.save(validate=True)
 
             # log the user in
-            request.session['user_id'] = unicode(user['_id'])
+            request.session['user_id'] = unicode(user._id)
             request.session.save()
 
             # send verification email
@@ -122,7 +122,7 @@ def login(request):
 
         if user and user.check_login(request.POST['password']):
             # set up login in session
-            request.session['user_id'] = unicode(user['_id'])
+            request.session['user_id'] = unicode(user._id)
             request.session.save()
 
             if request.POST.get('next'):
@@ -195,9 +195,26 @@ def resend_activation(request):
 
     Resend the activation email.
     """
+
+    if request.user is None:
+        messages.add_message(
+            request,
+            messages.ERROR,
+            _('You must be logged in so we know who to send the email to!'))
+        
+        return redirect(request, 'mediagoblin.auth.login')
+
+    if request.user["email_verified"]:
+        messages.add_message(
+            request,
+            messages.ERROR,
+            _("You've already verified your email address!"))
+        
+        return redirect(request, "mediagoblin.user_pages.user_home", user=request.user['username'])
+
     request.user[u'verification_key'] = unicode(uuid.uuid4())
     request.user.save()
-
+    
     email_debug_message(request)
     send_verification_email(request.user, request)