X-Git-Url: http://git.ithinksw.org/~kgodey/maayanwich.git/blobdiff_plain/9b6c24b6fcc212755e57e31c835a73354d074799..9d0f2e4b0e8d40821e3b8a98ae66bc8149597319:/views.py diff --git a/views.py b/views.py index 6afbe78..2a175af 100644 --- a/views.py +++ b/views.py @@ -1,20 +1,19 @@ -from django.http import HttpResponse +from django.http import HttpResponse, Http404 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 -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 def add_sandwich(request): if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('date_made')[:5] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + sandwiches = Sandwich.objects.order_by('-date_made') 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 @@ -25,7 +24,7 @@ def add_sandwich(request): return HttpResponse(thankshtml) # Redirect after POST else: form = SandwichForm() # An unbound form - return render_to_response('sandwich.html', {'sform': form, 'sandwiches': sandwiches,}) + return render_to_response('sandwich.html', {'sform': form, 'sandwiches': sandwiches, 'user': request.user,}) else: thankshtml = "

You are not logged in.

" return HttpResponse(thankshtml) # Redirect after POST @@ -33,9 +32,9 @@ def add_sandwich(request): def add_ingredient(request): if request.user.is_authenticated(): if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('date_made')[:5] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + 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 @@ -46,7 +45,7 @@ def add_ingredient(request): 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 @@ -55,21 +54,21 @@ def all_sandwich(request): try: allsandwiches = Sandwich.objects.all() if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('date_made')[:5] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + 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: - sandwiches = Sandwich.objects.order_by('date_made')[:5] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] allsandwiches = Sandwich.objects.all() else: - sandwiches = Sandwich.objects.order_by('date_made') + sandwiches = Sandwich.objects.order_by('-date_made') allsandwiches = Sandwich.objects.all() except Sandwich.DoesNotExist: raise Http404 @@ -80,31 +79,58 @@ def sandwich_month(request, year, month): try: 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] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + sandwiches = Sandwich.objects.order_by('-date_made') except Sandwich.DoesNotExist: raise Http404 - return render_to_response('allsandwiches.html', {'allsandwiches': ms, 'sandwiches': sandwiches,}) + return render_to_response('allsandwiches.html', {'allsandwiches': ms, 'sandwiches': sandwiches, 'user': request.user,}) + +def current_home(request): + temp = Sandwich.objects.order_by('-date_made')[0] + curr_month = temp.date_made.month + curr_year = temp.date_made.year + try: + ms = Sandwich.objects.filter(date_made__month=curr_month, date_made__year=curr_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', {'allsandwiches': ms, 'sandwiches': sandwiches, 'user': request.user,}) def specific_sandwich(request, slug): try: s = Sandwich.objects.get(slug=slug) if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('date_made')[:5] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + 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): if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('date_made')[:5] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + sandwiches = Sandwich.objects.order_by('-date_made') try: username = request.POST['username'] password = request.POST['password'] @@ -122,14 +148,14 @@ 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] + sandwiches = Sandwich.objects.order_by('-date_made')[:5] else: - sandwiches = Sandwich.objects.order_by('date_made') + sandwiches = Sandwich.objects.order_by('-date_made') if request.user.is_authenticated(): thankshtml = "

You are already logged in!

" return HttpResponse(thankshtml) @@ -155,4 +181,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