view gpp/accounts/views.py @ 11:cc8eb028def1

Update jquery-ui and theme version that is hosted on google. In preparation for having jquery on every page (?), make it so that the autocomplete plug is using the 'global' jquery, and not the one that came with it. It seems to work okay with jquery 1.3.2.
author Brian Neal <bgneal@gmail.com>
date Tue, 14 Apr 2009 02:35:35 +0000
parents b6263ac72052
children df56795771a6
line wrap: on
line source
"""views for the accounts application"""

import datetime
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.contrib import auth
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.conf import settings

from accounts.models import PendingUser
from accounts.forms import RegisterForm


#######################################################################

def register(request):
   if request.user.is_authenticated():
      return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)

   if request.method == 'POST':
      form = RegisterForm(request.POST)
      if form.is_valid():
         form.save()
         return HttpResponseRedirect(reverse('accounts.views.register_thanks'))
   else:
      form = RegisterForm()

   return render_to_response('accounts/register.html', {
            'form': form,
         },
         context_instance = RequestContext(request))

#######################################################################

def register_thanks(request):
   if request.user.is_authenticated():
      return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)

   return render_to_response('accounts/register_thanks.html',
         context_instance = RequestContext(request))

#######################################################################

def register_confirm(request, username, key):
   if request.user.is_authenticated():
      return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)
   
   # purge expired users

   PendingUser.objects.purge_expired()

   try:
      pending_user = PendingUser.objects.get(username = username)
   except PendingUser.DoesNotExist:
      return render_to_response('accounts/register_failure.html', {
         'username': username,
         },
         context_instance = RequestContext(request))

   if pending_user.key != key:
      return render_to_response('accounts/register_failure.html', {
         'username': username,
         },
         context_instance = RequestContext(request))

   new_user = auth.models.User()

   new_user.username = pending_user.username
   new_user.first_name = ''
   new_user.last_name = ''
   new_user.email = pending_user.email
   new_user.password = pending_user.password    # already been hashed
   new_user.is_staff = False
   new_user.is_active = True
   new_user.is_superuser = False
   new_user.last_login = datetime.datetime.now()
   new_user.date_joined = new_user.last_login

   new_user.save()
   pending_user.delete()

   return render_to_response('accounts/register_success.html', {
      'username': username,
      },
      context_instance = RequestContext(request))