Some more redirects. Editing user settings does not work. Overhauled adding a new...
[~kgodey/maayanwich.git] / views.py
index b5d68ff..1fd9137 100644 (file)
--- a/views.py
+++ b/views.py
@@ -5,7 +5,7 @@ from django.shortcuts import render_to_response
 from django.core.files.uploadedfile import SimpleUploadedFile
 from models import Sandwich, Ingredient
 from django.contrib.auth import authenticate, login, logout
 from django.core.files.uploadedfile import SimpleUploadedFile
 from models import Sandwich, Ingredient
 from django.contrib.auth import authenticate, login, logout
-from django.contrib.auth.forms import AuthenticationForm
+from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
 from django.contrib.comments.models import Comment
 from django.template import RequestContext
 from django.core import serializers
 from django.contrib.comments.models import Comment
 from django.template import RequestContext
 from django.core import serializers
@@ -165,28 +165,23 @@ def login_view(request):
 def create_user(request):
        if request.user.is_authenticated():
                return render_to_response('loggedin.html', context_instance=RequestContext(request))
 def create_user(request):
        if request.user.is_authenticated():
                return render_to_response('loggedin.html', context_instance=RequestContext(request))
-       elif request.method == 'POST': # If the form has been submitted...
-               form = NewUserForm(request.POST) # A form bound to the POST data
-               if form.is_valid(): # All validation rules pass
-                       username = form.cleaned_data['username']
-                       first_name = form.cleaned_data['first_name']
-                       last_name = form.cleaned_data['last_name']
-                       password = form.cleaned_data['password']
-                       cpassword = form.cleaned_data['confirm_password']
-                       email = form.cleaned_data['email']
-                       if password == cpassword:
-                               user = User.objects.create_user(username, email, password)
-                               user.save()
-                               user.first_name = first_name
-                               user.last_name = last_name
-                               user.save()
-                               return HttpResponseRedirect('index')
-                       else:
-                               return HttpResponseRedirect('signup')   
-       else:
-               form = NewUserForm() # An unbound form
-               return render_to_response('newuser.html', {'cform': form,}, context_instance=RequestContext(request))
+       
+       redirect_to = reverse('index')
+#      if 'next' in request.GET:
+#              redirect_to = request.GET['next']
                
                
+       if request.method == 'POST':
+               aform = UserCreationForm(data=request.POST)
+               if aform.is_valid():
+                       aform.save()
+                       x = authenticate(username=aform.cleaned_data['username'], password=aform.cleaned_data['password1'])
+                       login(request, x)
+                       return render_to_response('usercreated.html', context_instance=RequestContext(request))
+       else:
+               aform = UserCreationForm()
+
+       return render_to_response('newuser.html', {'aform': aform,}, context_instance=RequestContext(request))
+
 
 def edit_user(request, gusername):
        guser = User.objects.get(username = gusername)
 
 def edit_user(request, gusername):
        guser = User.objects.get(username = gusername)
@@ -195,26 +190,26 @@ def edit_user(request, gusername):
        elif request.user == guser:
                if request.method == 'POST': # If the form has been submitted...
                        form = NewUserForm(request.POST) # A form bound to the POST data
        elif request.user == guser:
                if request.method == 'POST': # If the form has been submitted...
                        form = NewUserForm(request.POST) # A form bound to the POST data
-                       username = request.POST['username']
-                       first_name = request.POST['first_name']
-                       last_name = request.POST['last_name']
-                       password = request.POST['password']
-                       cpassword = request.POST['confirm_password']
-                       email = request.POST['email']
-                       guser.username = username
-                       guser.first_name = first_name
-                       guser.last_name = last_name
-                       if not password.strip() == '':
-                               if password == cpassword:
+                       if form.is_valid():
+                               username = request.POST['username']
+                               first_name = request.POST['first_name']
+                               last_name = request.POST['last_name']
+                               password = request.POST['password']
+                               cpassword = request.POST['confirmpassword']
+                               email = request.POST['email']
+                               guser.username = username
+                               guser.first_name = first_name
+                               guser.last_name = last_name
+                               if password != '':
                                        guser.set_password(password)
                                        guser.set_password(password)
-                       guser.email = email
-                       guser.save()
-                       return HttpResponseRedirect(reverse('edit_user', kwargs={'gusername':guser.username}))  
+                               guser.email = email
+                               guser.save()
+                               return render_to_response('userchanged.html', context_instance=RequestContext(request)) 
                else:
                        form = NewUserForm(initial={'username': guser.username, 'first_name': guser.first_name, 'last_name': guser.last_name, 'email': guser.email, }) # An unbound form
                        return render_to_response('edituser.html', {'cform': form,}, context_instance=RequestContext(request))
        else:
                else:
                        form = NewUserForm(initial={'username': guser.username, 'first_name': guser.first_name, 'last_name': guser.last_name, 'email': guser.email, }) # An unbound form
                        return render_to_response('edituser.html', {'cform': form,}, context_instance=RequestContext(request))
        else:
-               return HttpResponseRedirect(reverse('index'))
+               return render_to_response('nopermission.html', context_instance=RequestContext(request))
                
 
 def comment_posted(request):
                
 
 def comment_posted(request):