]> git.openstreetmap.org Git - osqa.git/blob - forum_modules/localauth/views.py
Converts the welcome message to the new mail system and makes some changes to the...
[osqa.git] / forum_modules / localauth / views.py
1 from forum.models import User
2 from django.shortcuts import render_to_response
3 from django.template import RequestContext
4 from django.utils.translation import ugettext as _
5
6 from forms import ClassicRegisterForm
7 from forum.authentication.forms import SimpleEmailSubscribeForm
8 from forum.views.auth import login_and_forward
9 from forum.actions import UserJoinsAction
10
11 def register(request):
12     if request.method == 'POST':
13         form = ClassicRegisterForm(request.POST)
14         email_feeds_form = SimpleEmailSubscribeForm(request.POST)
15
16         if form.is_valid() and email_feeds_form.is_valid():
17             username = form.cleaned_data['username']
18             password = form.cleaned_data['password1']
19             email = form.cleaned_data['email']
20
21             user_ = User(username=username, email=email)
22             user_.set_password(password)
23
24             if User.objects.all().count() == 0:
25                 user_.is_superuser = True
26
27             user_.save()
28             UserJoinsAction(user=user_, ip=request.META['REMOTE_ADDR']).save()
29
30             if email_feeds_form.cleaned_data['subscribe'] == 'n':
31                 user_.subscription_settings.enable_notifications = False
32                 user_.subscription_settings.save()
33
34             return login_and_forward(request, user_, None, _("A welcome email has been sent to your email address. "))
35     else:
36         form = ClassicRegisterForm(initial={'next':'/'})
37         email_feeds_form = SimpleEmailSubscribeForm()
38
39     return render_to_response('auth/complete.html', {
40         'form1': form,
41         'email_feeds_form': email_feeds_form
42         }, context_instance=RequestContext(request))