X-Git-Url: http://git.ithinksw.org/~kgodey/maayanwich.git/blobdiff_plain/22c8f72c1e6142fcf857bd24711ea89199075658..f3cb6c9aac4ebeec54e8a82959cf8d56b30b15b5:/views.py diff --git a/views.py b/views.py index 9e1ee35..51be20d 100644 --- a/views.py +++ b/views.py @@ -6,14 +6,22 @@ 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.template import RequestContext +from django.core import serializers import datetime +import django.utils.simplejson as json + +def sidebar_context(request): + x = Sandwich.objects.order_by('-date_made') + if x.count() > 5: + sandwiches = x[:5] + else: + sandwiches = x + monthly = Sandwich.objects.dates('date_made', 'month') + return {'sandwiches': sandwiches, 'monthly': monthly, 'user': request.user} def add_sandwich(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(): if request.method == 'POST': # If the form has been submitted... form = SandwichForm(request.POST, request.FILES) # A form bound to the POST data @@ -21,21 +29,24 @@ def add_sandwich(request): newsandwich = form.save(commit=False) newsandwich.user = request.user newsandwich.save() + x = request.POST['ing'] + x = x.strip() + y = x.split(',') + for n in y: + if n.isdigit(): + newsandwich.ingredients.add(Ingredient.objects.get(id=n)) + newsandwich.save() thankshtml = "

Thanks! Your sandwich has been added!

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

You are not logged in.

" return HttpResponse(thankshtml) # Redirect after POST def add_ingredient(request): 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 @@ -46,7 +57,7 @@ def add_ingredient(request): else: form = IngredientForm() # An unbound form - return render_to_response('ingredient.html', {'iform': form, 'sandwiches': sandwiches, 'user': request.user,}) + return render_to_response('ingredient.html', {'iform': form,}, context_instance=RequestContext(request)) else: thankshtml = "

You are not logged in.

" return HttpResponse(thankshtml) # Redirect after POST @@ -54,38 +65,17 @@ def add_ingredient(request): def all_sandwich(request): try: allsandwiches = Sandwich.objects.all() - 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': allsandwiches, 'sandwiches': sandwiches, 'user': request.user,}) - - -def baseview(request): - try: - if Sandwich.objects.count() > 5: - sandwiches = Sandwich.objects.order_by('-date_made')[:5] - allsandwiches = Sandwich.objects.all() - else: - sandwiches = Sandwich.objects.order_by('-date_made') - allsandwiches = Sandwich.objects.all() - except Sandwich.DoesNotExist: - raise Http404 - return render_to_response('base.html', {'sandwiches': sandwiches, 'all': allsandwiches,}) + return render_to_response('allsandwiches.html', {'allsandwiches': allsandwiches,}, context_instance=RequestContext(request)) 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] - 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,}) + return render_to_response('allsandwiches.html', {'allsandwiches': ms,}, context_instance=RequestContext(request)) def current_home(request): temp = Sandwich.objects.order_by('-date_made')[0] @@ -93,13 +83,9 @@ def current_home(request): 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,}) + return render_to_response('allsandwiches.html', {'allsandwiches': ms,}, context_instance=RequestContext(request)) def specific_sandwich(request, slug): @@ -111,13 +97,9 @@ 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, 'user': request.user,}) + return render_to_response('onesandwich.html', {'s': s,}, context_instance=RequestContext(request)) 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.

" @@ -149,7 +131,7 @@ def login_view(request): return HttpResponse(thankshtml) except KeyError: aform = AuthenticationForm() - return render_to_response('login.html', {'aform': aform, 'sandwiches': sandwiches, 'user': request.user,}) + return render_to_response('login.html', {'aform': aform,}, context_instance=RequestContext(request)) def create_user(request): @@ -182,4 +164,18 @@ 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, 'user': request.user,}) \ No newline at end of file + return render_to_response('newuser.html', {'cform': form,}, context_instance=RequestContext(request)) + + +def ajaxfun(request): + if request.method == 'GET': + if 'q' in request.GET: + query = request.GET['q'] + ingredients = Ingredient.objects.filter(name__icontains=query).order_by('name') + responselist = [] + for i in ingredients: + responselist.append({'id': str(i.pk), 'name': i.name}) + response = json.dumps(responselist) + return HttpResponse(response) + else: + return HttpResponse('{}') \ No newline at end of file