login/logout stuff working
[myslice.git] / auth / views.py
1 # Create your views here.
2 from django.core.context_processors import csrf
3 from django.template import RequestContext
4 from django.shortcuts import render_to_response
5 from django.contrib.auth import authenticate, login, logout
6 from django.http import HttpResponseRedirect
7
8 from auth.backend import MyCustomBackend
9
10 from myslice.viewutils import the_user
11
12 def login_user(request):
13     state = "Please log in below..."
14     username = password = ''
15     env={'hard_wired_users':MyCustomBackend.hard_wired_users}
16     
17     if request.POST:
18         username = request.POST.get('username')
19         password = request.POST.get('password')
20
21         user = authenticate(username=username, password=password)
22         if user is not None:
23             if user.is_active:
24                 login(request, user)
25                 #state = "You're successfully logged in!"
26                 return HttpResponseRedirect ('/')
27             else:
28                 env['state'] = "Your account is not active, please contact the site admin."
29                 return render_to_response('view-login.html',env, context_instance=RequestContext(request))
30         else:
31             env['state'] = "Your username and/or password were incorrect."
32             return render_to_response('view-login.html',env, context_instance=RequestContext(request))
33     else:
34         state='Welcome to MySlice'
35         env['state']=state
36         env['username']=the_user(request)
37         return render_to_response('view-login.html',env, context_instance=RequestContext(request))
38
39 # hard question : where should we redirect requests to logout if user is not logged in ?
40 def logout_user (request):
41     # xxx check that we're indeed logged in
42     if not request.user.is_authenticated():
43         return HttpResponseRedirect ('/')
44     return render_to_response('view-logout.html',{'username':the_user(request)},
45                               context_instance=RequestContext(request))
46
47 def do_logout_user (request):
48     # xxx check that we're indeed logged in
49     if not request.user.is_authenticated():
50         return HttpResponseRedirect ('/')
51     logout(request)
52     return HttpResponseRedirect ('/')
53         
54