X-Git-Url: http://git.ithinksw.org/~kgodey/maayanwich.git/blobdiff_plain/735e53fa41a4911c1464a25ed0f24ac8769b878f..5d7c130063aa776d8d49bbd2b7f7739ff8331594:/views.py?ds=sidebyside diff --git a/views.py b/views.py index 2b92417..6395205 100644 --- 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.http import Http404 -from django.contrib.auth import authenticate, login +from django.contrib.auth import authenticate, login, logout from django.contrib.auth.forms import AuthenticationForm import datetime @@ -15,36 +15,41 @@ def add_sandwich(request): sandwiches = Sandwich.objects.order_by('date_made')[:5] else: sandwiches = Sandwich.objects.order_by('date_made') - if request.method == 'POST': # If the form has been submitted... - form = SandwichForm(request.POST, request.FILES) # A form bound to the POST data - if form.is_valid(): # All validation rules pass - newsandwich = form.save() - newsandwich.save() - thankshtml = "

Thanks! Your sandwich has been added!

" - return HttpResponse(thankshtml) # Redirect after POST + if request.user.is_authenticated(): + if request.method == 'POST': # If the form has been submitted... + form = SandwichForm(request.POST, request.FILES) # A form bound to the POST data + if form.is_valid(): # All validation rules pass + newsandwich = form.save() + newsandwich.save() + thankshtml = "

Thanks! Your sandwich has been added!

" + return HttpResponse(thankshtml) # Redirect after POST + else: + form = SandwichForm() # An unbound form + return render_to_response('sandwich.html', {'sform': form, 'sandwiches': sandwiches, 'user': request.user,}) else: - form = SandwichForm() # An unbound form - - return render_to_response('sandwich.html', {'sform': form, 'sandwiches': sandwiches,}) - + thankshtml = "

You are not logged in.

" + return HttpResponse(thankshtml) # Redirect after POST def add_ingredient(request): - if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('date_made')[:5] - else: - sandwiches = Sandwich.objects.order_by('date_made') - if request.method == 'POST': # If the form has been submitted... - form = IngredientForm(request.POST) # A form bound to the POST data - if form.is_valid(): # All validation rules pass - newsandwich = form.save() - newsandwich.save() - thankshtml = "

Thanks! Your ingredient has been saved!

" - return HttpResponse(thankshtml) # Redirect after POST - else: - form = IngredientForm() # An unbound form + if request.user.is_authenticated(): + if Sandwich.objects.count() > 5: + sandwiches = Sandwich.objects.order_by('date_made')[:5] + else: + sandwiches = Sandwich.objects.order_by('date_made') + if request.method == 'POST': # If the form has been submitted... + form = IngredientForm(request.POST) # A form bound to the POST data + if form.is_valid(): # All validation rules pass + newsandwich = form.save() + newsandwich.save() + thankshtml = "

Thanks! Your ingredient has been saved!

" + return HttpResponse(thankshtml) # Redirect after POST + else: + form = IngredientForm() # An unbound form - return render_to_response('ingredient.html', {'iform': form, 'sandwiches': sandwiches}) - + return render_to_response('ingredient.html', {'iform': form, 'sandwiches': sandwiches, 'user': request.user,}) + else: + thankshtml = "

You are not logged in.

" + return HttpResponse(thankshtml) # Redirect after POST def all_sandwich(request): try: @@ -55,9 +60,9 @@ def all_sandwich(request): sandwiches = Sandwich.objects.order_by('date_made') except Sandwich.DoesNotExist: raise Http404 - return render_to_response('allsandwiches.html', {'allsandwiches': allsandwiches, 'sandwiches': sandwiches}) + return render_to_response('allsandwiches.html', {'allsandwiches': allsandwiches, 'sandwiches': sandwiches, 'user': request.user,}) + - def baseview(request): try: if Sandwich.objects.count() > 5: @@ -69,16 +74,20 @@ def baseview(request): except Sandwich.DoesNotExist: raise Http404 return render_to_response('base.html', {'sandwiches': sandwiches, 'all': allsandwiches,}) - - + + def sandwich_month(request, year, month): try: - sandwiches = Sandwich.objects.filter(date_made__month=month, date_made__year=year) + ms = Sandwich.objects.filter(date_made__month=month, date_made__year=year) + if Sandwich.objects.count() > 5: + sandwiches = Sandwich.objects.order_by('date_made')[:5] + else: + sandwiches = Sandwich.objects.order_by('date_made') except Sandwich.DoesNotExist: raise Http404 - return render_to_response('allsandwiches.html', {'sandwiches': sandwiches,}) - - + return render_to_response('allsandwiches.html', {'allsandwiches': ms, 'sandwiches': sandwiches, 'user': request.user,}) + + def specific_sandwich(request, slug): try: s = Sandwich.objects.get(slug=slug) @@ -88,7 +97,20 @@ def specific_sandwich(request, slug): sandwiches = Sandwich.objects.order_by('date_made') except Sandwich.DoesNotExist: raise Http404 - return render_to_response('onesandwich.html', {'s': s, 'sandwiches': sandwiches,}) + return render_to_response('onesandwich.html', {'s': s, 'sandwiches': sandwiches, 'user': request.user,}) + +def logout_view(request): + if Sandwich.objects.count() > 5: + sandwiches = Sandwich.objects.order_by('date_made')[:5] + else: + sandwiches = Sandwich.objects.order_by('date_made') + if request.user.is_authenticated(): + logout(request) + thankshtml = "

You have been logged out.

" + return HttpResponse(thankshtml) + else: + thankshtml = "

You are not logged in.

" + return HttpResponse(thankshtml) def login_view(request): @@ -113,8 +135,9 @@ def login_view(request): return HttpResponse(thankshtml) except KeyError: aform = AuthenticationForm() - return render_to_response('login.html', {'aform': aform, 'sandwiches': sandwiches,}) - + return render_to_response('login.html', {'aform': aform, 'sandwiches': sandwiches, 'user': request.user,}) + + def create_user(request): if Sandwich.objects.count() > 5: sandwiches = Sandwich.objects.order_by('date_made')[:5] @@ -145,4 +168,4 @@ def create_user(request): return HttpResponse(thankshtml) # Redirect after POST else: form = NewUserForm() # An unbound form - return render_to_response('newuser.html', {'cform': form, 'sandwiches': sandwiches,}) \ No newline at end of file + return render_to_response('newuser.html', {'cform': form, 'sandwiches': sandwiches, 'user': request.user,}) \ No newline at end of file