added an error page for "you are not logged in"
authorKriti Godey <kriti.godey@gmail.com>
Thu, 11 Mar 2010 22:18:30 +0000 (17:18 -0500)
committerKriti Godey <kriti.godey@gmail.com>
Thu, 11 Mar 2010 22:18:30 +0000 (17:18 -0500)
templates/pleaselogin.html [new file with mode: 0644]
urls.py
views.py

diff --git a/templates/pleaselogin.html b/templates/pleaselogin.html
new file mode 100644 (file)
index 0000000..8bbcf2d
--- /dev/null
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+
+{% block content %}
+       <h3 class="error">You are not logged in.</h3>
+       <h1 class="pagetitle">Login</h1>
+       <form enctype="multipart/form-data" action="{% url login2 %}" method="post" class="cssform">
+       {{ aform.as_p }}
+       <input type="submit" value="Submit" />
+       </form>
+{% endblock %}
\ No newline at end of file
diff --git a/urls.py b/urls.py
index 7062efa..628eb02 100644 (file)
--- a/urls.py
+++ b/urls.py
@@ -9,6 +9,7 @@ urlpatterns = patterns('',
        url(r'^sandwich/(?P<year>[-\w]+)/(?P<month>[-\w]+)/$', views.sandwich_month, name='sandwich_by_month'),
        url(r'^sandwich/(?P<slug>[-\w]+)/$', views.specific_sandwich, name='sandwich_by_slug'),
        url(r'^login/$', views.login_view, name='login'),
        url(r'^sandwich/(?P<year>[-\w]+)/(?P<month>[-\w]+)/$', views.sandwich_month, name='sandwich_by_month'),
        url(r'^sandwich/(?P<slug>[-\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'),
        url(r'^logout/$', views.logout_view, name='logout'),
        url(r'^signup/$', views.create_user, name='signup'),
        url(r'^ajaxfun', views.ajaxfun, name='ajaxfun'),
index 38556df..309aa2f 100644 (file)
--- 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:
                        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():
 
 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))
        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):
 
 
 def create_user(request):