Browse Source

Registered user!

Rafał Pitoń 11 years ago
parent
commit
0408384e72
3 changed files with 21 additions and 3 deletions
  1. 2 2
      misago/core/captcha.py
  2. 1 0
      misago/project_template/requirements.txt
  3. 18 1
      misago/users/views/register.py

+ 2 - 2
misago/core/captcha.py

@@ -34,14 +34,14 @@ def add_recaptcha_to_form(request):
 Q&A
 """
 def clean_qa_answer(self):
-    answer = self.cleaned_data['qa_answer']
+    answer = self.cleaned_data['qa_answer'].lower()
 
     for predefined_answer in settings.qa_answers.lower().splitlines():
         predefined_answer = predefined_answer.strip().lower()
         if answer == predefined_answer:
             self.has_qa_captcha = False
             mark_session_as_passing(self.session)
-            return answer
+            return self.cleaned_data['qa_answer']
     else:
         raise forms.ValidationError(_("Entered answer is invalid."))
 

+ 1 - 0
misago/project_template/requirements.txt

@@ -9,4 +9,5 @@ fake-factory
 markdown==2.4.1
 psycopg2==2.5.3
 pytz
+recaptcha-client==1.0.6
 unidecode

+ 18 - 1
misago/users/views/register.py

@@ -1,4 +1,7 @@
+from django.contrib import messages
+from django.contrib.auth import authenticate, get_user_model, login
 from django.shortcuts import redirect, render
+from django.utils.translation import ugettext as _
 from django.views.decorators.debug import sensitive_post_parameters
 
 from misago.conf import settings
@@ -28,7 +31,21 @@ def register(request):
     if request.method == 'POST':
         form = SecuredForm(request.POST)
         if form.is_valid():
-            pass
+            User = get_user_model()
+            new_user = User.objects.create_user(form.cleaned_data['username'],
+                                                form.cleaned_data['email'],
+                                                form.cleaned_data['password'])
+
+            authenticated_user = authenticate(
+                username=new_user.email,
+                password=form.cleaned_data['password'])
+            login(request, authenticated_user)
+
+            welcome_message = _("Welcome aboard, %(username)s!")
+            welcome_message = welcome_message % {'username': new_user.username}
+            messages.success(request, welcome_message)
+
+            return redirect('misago:index')
 
     return render(request, 'misago/register/form.html', {'form': form, 'testname': 'and<b>rzej'})