Some more redirects. Editing user settings does not work. Overhauled adding a new...
authorKriti Godey <kriti.godey@gmail.com>
Thu, 22 Apr 2010 20:32:49 +0000 (16:32 -0400)
committerKriti Godey <kriti.godey@gmail.com>
Thu, 22 Apr 2010 20:32:49 +0000 (16:32 -0400)
forms.py
templates/newuser.html
templates/userchanged.html [new file with mode: 0644]
templates/usercreated.html [new file with mode: 0644]
views.py

index e471c2a..e79669c 100644 (file)
--- a/forms.py
+++ b/forms.py
@@ -25,4 +25,11 @@ class NewUserForm(forms.Form):
        email = forms.EmailField()
        username = forms.CharField()
        password = forms.CharField(widget=forms.PasswordInput)
        email = forms.EmailField()
        username = forms.CharField()
        password = forms.CharField(widget=forms.PasswordInput)
-       confirm_password = forms.CharField(widget=forms.PasswordInput)
+       confirmpassword = forms.CharField(widget=forms.PasswordInput)
+
+       def clean_mpassword(self):
+               password = self.cleaned_data.get("password", "")
+               cpassword = self.cleaned_data["confirmpassword"]
+               if password != cpassword:
+                       raise forms.ValidationError(_("The two password fields didn't match."))
+                       return cpassword
index 80fc3ff..e5b6bb3 100644 (file)
@@ -3,7 +3,7 @@
 {% block content %}
        <h1 class="pagetitle">Create account</h1>
        <form enctype="multipart/form-data" action="{% url signup %}" method="post" class="cssform">
 {% block content %}
        <h1 class="pagetitle">Create account</h1>
        <form enctype="multipart/form-data" action="{% url signup %}" method="post" class="cssform">
-       {{ cform.as_p }}
+       {{ aform.as_p }}
        <input type="submit" value="Submit" />
        </form>
 {% endblock %}
\ No newline at end of file
        <input type="submit" value="Submit" />
        </form>
 {% endblock %}
\ No newline at end of file
diff --git a/templates/userchanged.html b/templates/userchanged.html
new file mode 100644 (file)
index 0000000..6b22f44
--- /dev/null
@@ -0,0 +1,6 @@
+{% extends "base.html" %}
+{% block title %}Yay!{% endblock %}
+
+{% block content %}
+       <h1 class="pagetitle">User change successful!</h1>
+{% endblock %}
\ No newline at end of file
diff --git a/templates/usercreated.html b/templates/usercreated.html
new file mode 100644 (file)
index 0000000..bf0e919
--- /dev/null
@@ -0,0 +1,6 @@
+{% extends "base.html" %}
+{% block title %}Welcome!{% endblock %}
+
+{% block content %}
+       <h1 class="pagetitle">Registration successful!</h1>
+{% endblock %}
\ No newline at end of file
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):