app/projrev/views/login.py
changeset 1 324233b04d76
parent 0 c94bd9ae70d2
child 8 294ff7ac9cb6
--- a/app/projrev/views/login.py	Tue Aug 04 02:21:15 2009 -0400
+++ b/app/projrev/views/login.py	Tue Aug 04 19:42:47 2009 +0530
@@ -7,27 +7,82 @@
 ]
 
 
-from django.contrib.auth import authenticate, login
-from django.shortcuts import render_to_response, get_object_or_404
+from django.contrib.auth import authenticate
+from django.contrib.auth import login
+from django.contrib.auth.forms import AuthenticationForm
+from django.contrib.auth.models import User
+from django.db import IntegrityError
+from django.http import HttpResponseRedirect
+from django.shortcuts import render_to_response
+from django.shortcuts import get_object_or_404
 
 
 def login_validate(request):
   """Validate the user and log him in.
   """
 
-  username = request.POST['username']
-  password = request.POST['password']
-  user = authenticate(username=username, password=password)
-  if user is not None:
-    if user.is_active:
-      login(request, user)
-        # Redirect to a success page.
+  if request.POST:
+    username = request.POST['username']
+    password = request.POST['password']
+    user = authenticate(username=username, password=password)
+    if user is not None:
+      if user.is_active:
+        login(request, user)
+        return HttpResponseRedirect('/proposal/submit/')
+      else:
+        pass
+        # Return a 'disabled account' error message
     else:
+      # Return an 'invalid login' error message.
       pass
-      # Return a 'disabled account' error message
   else:
-    # Return an 'invalid login' error message.
+    context = {}
+    template = 'projrev/auth/login.html'
+
+  return render_to_response(template, context)
+
+def create_account(request):
+  """Create an account for a user.
+  """
+
+  if request.POST:
+    username = request.POST['username']
+    password = request.POST['password']
+    confirm_pasword = request.POST['confirmpassword']
+    if password == confirm_pasword:
+      try:
+        user = User.objects.create_user(username, username, password)
+        user.save()
+        context = {
+            'created': True,
+            'username': username,
+            }
+      except IntegrityError:
+        context = {
+            'exits': True,
+            }
+    else:
+      context = {
+          'password_err': True,
+          }
+  else:
+    context = {}
+
+  template = 'projrev/auth/create_account.html'
+
+  return render_to_response(template, context)
+
+def forgot_password(request):
+  """Resend the password if forgotten.
+  """
+
+  if request.POST:
     pass
+  else:
+    context = {}
+    template = 'projrev/auth/forgot_password.html'
+
+  return render_to_response(template, context)
 
 def logout_view(request):
   """Logout the user