9d718504dc38df1a113d86b40b259720677bd4e3
[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 def login_user(request):
11     state = "Please log in below..."
12     username = password = ''
13     env={'hard_wired_users':MyCustomBackend.hard_wired_users}
14     
15     if request.POST:
16         username = request.POST.get('username')
17         password = request.POST.get('password')
18
19         user = authenticate(username=username, password=password)
20         if user is not None:
21             if user.is_active:
22                 login(request, user)
23                 #state = "You're successfully logged in!"
24                 return HttpResponseRedirect ('/')
25             else:
26                 env['state'] = "Your account is not active, please contact the site admin."
27                 return render_to_response('view-login.html',env, context_instance=RequestContext(request))
28         else:
29             env['state'] = "Your username and/or password were incorrect."
30             return render_to_response('view-login.html',env, context_instance=RequestContext(request))
31     else:
32         state='Welcome to MySlice'
33         env['state']=state; env['username']=''
34         return render_to_response('view-login.html',env, context_instance=RequestContext(request))
35
36 # hard question : where should we redirect requests to logout if user is not logged in ?
37 def logout_user (request):
38     # xxx check that we're indeed logged in
39     if not request.user.is_authenticated():
40         return HttpResponseRedirect ('/')
41     return render_to_response('view-logout.html',{},context_instance=RequestContext(request))
42
43 def do_logout_user (request):
44     # xxx check that we're indeed logged in
45     if not request.user.is_authenticated():
46         return HttpResponseRedirect ('/')
47     logout(request)
48     return HttpResponseRedirect ('/')
49         
50