X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=auth%2Fviews.py;h=43ca56eaae92f12f8c5e7adddead0fe851556fdd;hb=4e348dd653e2f7124550f153a30744293eab3b2f;hp=817fb631ffb3b6fa621d7ba90da17dbc6ecf869f;hpb=20028a8cc2b83ed3c8d98218958ebd34bc75f891;p=myslice.git diff --git a/auth/views.py b/auth/views.py index 817fb631..43ca56ea 100644 --- a/auth/views.py +++ b/auth/views.py @@ -2,35 +2,53 @@ from django.core.context_processors import csrf from django.template import RequestContext from django.shortcuts import render_to_response -from django.contrib.auth import authenticate, login +from django.contrib.auth import authenticate, login, logout from django.http import HttpResponseRedirect from auth.backend import MyCustomBackend +from myslice.viewutils import the_user +from myslice.config import Config + def login_user(request): state = "Please log in below..." username = password = '' - env={'hard_wired_users':MyCustomBackend.hard_wired_users} - + env={'hard_wired_users':MyCustomBackend.hard_wired_users, + 'manifold_url':Config.manifold_url, + } + if request.POST: username = request.POST.get('username') password = request.POST.get('password') + + # pass request within the token, so manifold session key could be attached to the request session. + token = {'username': username, 'password': password, 'request': request} - user = authenticate(username=username, password=password) + user = authenticate(token=token) if user is not None: if user.is_active: login(request, user) - state = "You're successfully logged in!" - return HttpResponseRedirect ('/') + #state = "You're successfully logged in!" + return HttpResponseRedirect ('/portal/dashboard') + #return HttpResponseRedirect ('/login-ok') else: - state = "Your account is not active, please contact the site admin." - env['state']=state; env['username']=username + env['state'] = "Your account is not active, please contact the site admin." return render_to_response('view-login.html',env, context_instance=RequestContext(request)) else: - state = "Your username and/or password were incorrect." - env['state']=state; env['username']=username + env['state'] = "Your username and/or password were incorrect." return render_to_response('view-login.html',env, context_instance=RequestContext(request)) else: - state='Welcome to MySlice' - env['state']=state; env['username']='' + state='' #Welcome to MySlice' + env['state']=state + env['username']=the_user(request) return render_to_response('view-login.html',env, context_instance=RequestContext(request)) + +# hard question : where should we redirect requests to logout if user is not logged in ? +def logout_user (request): + # check that we're indeed logged in + if not request.user.is_authenticated(): + return HttpResponseRedirect ('/') + logout(request) + return HttpResponseRedirect ('/') + +