More cleanup
moved login, logout and password change from website app to musicians
This commit is contained in:
@@ -79,9 +79,76 @@ def addressbook( request ):
|
||||
return render( request, 'musicians/addressbook.html', context )
|
||||
|
||||
|
||||
############################################################################################################
|
||||
######################### User Management Views ############################################################
|
||||
############################################################################################################
|
||||
|
||||
from django.contrib.auth.views import password_change
|
||||
from django.contrib.auth import authenticate, login, logout
|
||||
from django.shortcuts import redirect
|
||||
from django.http import HttpResponse
|
||||
from django.utils import simplejson
|
||||
from django.contrib.auth.models import User
|
||||
from datetime import timedelta
|
||||
|
||||
|
||||
def change_password( request ):
|
||||
return password_change(request, "musicians/change_password.html", post_change_redirect= "/" )
|
||||
|
||||
|
||||
def logout_view(request):
|
||||
logout( request )
|
||||
return redirect( login_view )
|
||||
|
||||
|
||||
def userlistForAutocompletion(request):
|
||||
result = [ u.username for u in User.objects.all() ]
|
||||
return HttpResponse( simplejson.dumps(result), mimetype='application/json' )
|
||||
|
||||
|
||||
def login_view( request ):
|
||||
if request.method == 'POST': # If the form has been submitted...
|
||||
raiseFirstLetter = lambda s: s[:1].upper() + s[1:] if s else ''
|
||||
username = raiseFirstLetter( request.POST['username'] )
|
||||
password = request.POST['password']
|
||||
user = authenticate( username=username, password=password )
|
||||
result = dict()
|
||||
result['err'] = ""
|
||||
if user is not None:
|
||||
if user.is_active:
|
||||
if not request.POST.get('remember', None):
|
||||
# Expire in one year
|
||||
request.session.set_expiry( timedelta( weeks=52 ) )
|
||||
else:
|
||||
# Expire on browser close
|
||||
request.session.set_expiry( 0 )
|
||||
|
||||
login(request, user)
|
||||
result['redirect'] = "/"
|
||||
print ( "Setting Redirect" )
|
||||
if 'next' in request.POST :
|
||||
result['redirect'] = request.POST["next"]
|
||||
print ( "Using " + request.POST["next"] )
|
||||
else:
|
||||
result['err'] = "Dein Account wurde deaktiviert."
|
||||
# Return a 'disabled account' error message
|
||||
else:
|
||||
result['err'] = "Falscher Benutzername oder falsches Kennwort."
|
||||
|
||||
return HttpResponse( simplejson.dumps(result), mimetype='application/json' )
|
||||
|
||||
|
||||
else:
|
||||
# Check if user already logged in
|
||||
if request.user.is_authenticated():
|
||||
return redirect( "/")
|
||||
|
||||
if 'next' in request.GET:
|
||||
nextPage = request.GET['next']
|
||||
else:
|
||||
nextPage = "/"
|
||||
return render( request, 'musicians/login.html', { 'next' : nextPage } )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user