From 598bab51785e33f0f224d0603b260a9ae35cac47 Mon Sep 17 00:00:00 2001 From: Kriti Godey Date: Thu, 11 Mar 2010 17:18:30 -0500 Subject: [PATCH] added an error page for "you are not logged in" --- templates/pleaselogin.html | 10 ++++++++++ urls.py | 1 + views.py | 26 +++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 templates/pleaselogin.html diff --git a/templates/pleaselogin.html b/templates/pleaselogin.html new file mode 100644 index 0000000..8bbcf2d --- /dev/null +++ b/templates/pleaselogin.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} + +{% block content %} +

You are not logged in.

+

Login

+
+ {{ aform.as_p }} + +
+{% endblock %} \ No newline at end of file diff --git a/urls.py b/urls.py index 7062efa..628eb02 100644 --- a/urls.py +++ b/urls.py @@ -9,6 +9,7 @@ urlpatterns = patterns('', url(r'^sandwich/(?P[-\w]+)/(?P[-\w]+)/$', views.sandwich_month, name='sandwich_by_month'), url(r'^sandwich/(?P[-\w]+)/$', views.specific_sandwich, name='sandwich_by_slug'), url(r'^login/$', views.login_view, name='login'), + url(r'^login2/$', views.login_view2, name='login2'), url(r'^logout/$', views.logout_view, name='logout'), url(r'^signup/$', views.create_user, name='signup'), url(r'^ajaxfun', views.ajaxfun, name='ajaxfun'), diff --git a/views.py b/views.py index 38556df..309aa2f 100644 --- a/views.py +++ b/views.py @@ -49,7 +49,7 @@ def add_sandwich(request): form = SandwichForm(initial={'user': request.user}) # An unbound form return render_to_response('sandwich.html', {'sform': form,}, context_instance=RequestContext(request)) else: - return HttpResponseRedirect(reverse('login')) + return HttpResponseRedirect(reverse('login2')) def add_ingredient(request): if request.user.is_authenticated(): @@ -139,6 +139,30 @@ def login_view(request): except KeyError: aform = AuthenticationForm() return render_to_response('login.html', {'aform': aform,}, context_instance=RequestContext(request)) + +def login_view2(request): + x = reverse('index') + if 'HTTP_REFERER' in request.META: + x = request.META['HTTP_REFERER'] + if Sandwich.objects.count() > 5: + sandwiches = Sandwich.objects.order_by('-date_made')[:5] + else: + sandwiches = Sandwich.objects.order_by('-date_made') + try: + username = request.POST['username'] + password = request.POST['password'] + user = authenticate(username=username, password=password) + if user is not None: + if user.is_active: + login(request, user) + return HttpResponseRedirect(x) + else: + return HttpResponseRedirect(x) + else: + return HttpResponseRedirect('login') + except KeyError: + aform = AuthenticationForm() + return render_to_response('pleaselogin.html', {'aform': aform,}, context_instance=RequestContext(request)) def create_user(request): -- 2.20.1