]> git.openstreetmap.org Git - osqa.git/blobdiff - forum_modules/localauth/views.py
Converts the temp login email to the new style, and makes some more enahncements...
[osqa.git] / forum_modules / localauth / views.py
old mode 100755 (executable)
new mode 100644 (file)
index acad16c..4392c5a
@@ -1,30 +1,43 @@
-from django.contrib.auth.models import User\r
-from django.shortcuts import render_to_response\r
-from django.template import RequestContext\r
-\r
-from forms import ClassicRegisterForm\r
-from forum.authentication.forms import SimpleEmailSubscribeForm\r
-from forum.views.auth import login_and_forward\r
-\r
-def register(request):\r
-    if request.method == 'POST':\r
-        form = ClassicRegisterForm(request.POST)\r
-        email_feeds_form = SimpleEmailSubscribeForm(request.POST)\r
-\r
-        if form.is_valid() and email_feeds_form.is_valid():\r
-            username = form.cleaned_data['username']\r
-            password = form.cleaned_data['password1']\r
-            email = form.cleaned_data['email']\r
-\r
-            user_ = User.objects.create_user( username,email,password )\r
-            email_feeds_form.save(user_)\r
-            #todo: email validation\r
-            return login_and_forward(request, user_)\r
-    else:\r
-        form = ClassicRegisterForm(initial={'next':'/'})\r
-        email_feeds_form = SimpleEmailSubscribeForm()\r
-\r
-    return render_to_response('auth/signup.html', {\r
-        'form': form,\r
-        'email_feeds_form': email_feeds_form\r
+from forum.models import User
+from django.shortcuts import render_to_response
+from django.template import RequestContext
+from django.utils.translation import ugettext as _
+
+from forms import ClassicRegisterForm
+from forum.authentication.forms import SimpleEmailSubscribeForm
+from forum.views.auth import login_and_forward
+from forum.actions import UserJoinsAction
+
+def register(request):
+    if request.method == 'POST':
+        form = ClassicRegisterForm(request.POST)
+        email_feeds_form = SimpleEmailSubscribeForm(request.POST)
+
+        if form.is_valid() and email_feeds_form.is_valid():
+            username = form.cleaned_data['username']
+            password = form.cleaned_data['password1']
+            email = form.cleaned_data['email']
+
+            user_ = User(username=username, email=email)
+            user_.set_password(password)
+
+            if User.objects.all().count() == 0:
+                user_.is_superuser = True
+                user_.is_staff = True
+
+            user_.save()
+            UserJoinsAction(user=user_, ip=request.META['REMOTE_ADDR']).save()
+
+            if email_feeds_form.cleaned_data['subscribe'] == 'n':
+                user_.subscription_settings.enable_notifications = False
+                user_.subscription_settings.save()
+
+            return login_and_forward(request, user_, None, _("A welcome email has been sent to your email address. "))
+    else:
+        form = ClassicRegisterForm(initial={'next':'/'})
+        email_feeds_form = SimpleEmailSubscribeForm()
+
+    return render_to_response('auth/complete.html', {
+        'form1': form,
+        'email_feeds_form': email_feeds_form
         }, context_instance=RequestContext(request))
\ No newline at end of file