urlpatterns = patterns('',
(r'^addsandwich/$', views.add_sandwich),
(r'^login/$', views.login_view),
+ (r'^newuser/$', views.create_user),
(r'^addingredient/$', views.add_ingredient),
(r'^allsandwiches/$', views.all_sandwich),
(r'^newsandwiches/$', views.newsandwiches),
from django.http import HttpResponse
-from forms import SandwichForm, IngredientForm
+from django.contrib.auth.models import User
+from forms import SandwichForm, IngredientForm, NewUserForm
from django.shortcuts import render_to_response
from django.core.files.uploadedfile import SimpleUploadedFile
from models import Sandwich, Ingredient
raise Http404
return render_to_response('allsandwiches.html', {'sandwiches': sandwiches,})
+
def sandwich_month(request, year, month):
try:
sandwiches = Sandwich.objects.filter(date_made__month=month, date_made__year=year)
return HttpResponse(thankshtml)
except KeyError:
aform = AuthenticationForm()
- return render_to_response('login.html', {'aform': aform,})
\ No newline at end of file
+ return render_to_response('login.html', {'aform': aform,})
+
+def create_user(request):
+ if request.user.is_authenticated():
+ thankshtml = "<p class=\"formthanks\">You are already logged in!</p>"
+ return HttpResponse(thankshtml)
+ 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()
+ thankshtml = "<p class=\"formthanks\">Thanks! You are now a new user!</p>"
+ return HttpResponse(thankshtml) # Redirect after POST
+ else:
+ thankshtml = "<p class=\"formthanks\">Your passwords don't match!</p>"
+ return HttpResponse(thankshtml) # Redirect after POST
+ else:
+ form = NewUserForm() # An unbound form
+ return render_to_response('newuser.html', {'cform': form,})
\ No newline at end of file