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