amelirations login/inscription

This commit is contained in:
Xavier59 2017-04-03 12:44:58 +02:00
parent 449dae2b9e
commit 92990d9a6e
2 changed files with 39 additions and 38 deletions

View File

@ -28,22 +28,22 @@ def login(request):
}
else:
data = {
'login':False,
'error':'Mauvais identifiant ou mot de passe'
'login':False
}
if(User.objects.filter(username=username).exists()):
data['error'] = 'Mauvais mot de passe'
else:
data['error'] = 'Identifiant inconnu'
if('HTTP_X_REQUESTED_WITH' in request.META and request.META['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'):
return JsonResponse(data)
else:
# TODO
return render(request, 'login.html', locals())
return render(request, 'account/login.html', locals())
else:
#someone trying to do unwanted things, log it
print(request.POST)
elif request.method == "GET":
# TODO
# BREIZH WILL DO IT BECAUSE HE WANT IT TO WORK WITHOUT JAVASCRIPT
return render(request, 'login.html')
else:
return HttpResponseNotFound()
return render(request, 'account/login.html')
return HttpResponseNotFound()
def logout(request):
"""
@ -67,34 +67,34 @@ def signup(request):
username = form.cleaned_data["username"]
email = form.cleaned_data["email"]
cgu = form.cleaned_data["cgu"]
if(
not (s.USERNAME_MAX_LENGTH > username.length > s.USERNAME_MIN_LENGTH) or
not (s.PASSWORD_MAX_LENGTH > password1.length > s.PASSWORD_MIN_LENGTH) or
password1 != password2 or cgu is False
):
if(password1 != password2):
data = {
'signed':False,
'error':"Désolé ! Nous ne sommes pas assez bête pour ne pas faire de verification server side !"
'registered':False,
'error':"Les mots de passe ne sont pas identique !"
}
return JsonResponse(data)
try:
validate_email(email)
except forms.ValidationError:
elif(User.objects.filter(username=username).exists()):
data = {
'signed':False,
'error':"Mauvais format d'e-mail"
'registered':False,
'error':"Ce nom d'utilisateur est déjà utilisé !"
}
elif(User.objects.filter(email=email).exists()):
data = {
'registered':False,
'error':"Cette adresse email est déjà utilisé !"
}
else:
create_user(username, email, password1)
authenticate(username, password1)
data = {
'registered':True
}
if('HTTP_X_REQUESTED_WITH' in request.META and request.META['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'):
return JsonResponse(data)
create_user(username, email, password1)
authenticate(username, password1)
data = {
'signed':True
}
return JsonResponse(data)
return render(request, 'signup.html', locals())
return render(request, 'account/signup.html', locals())
elif request.method == "GET":
return render(request, 'account/signup.html', locals())
return HttpResponseNotFound()
def account(request):
return render(request, 'account.html')

View File

@ -6,18 +6,19 @@
<article>
<h1>Formulaire de connexion</h1>
<div>
{% if error %}
<p><strong>Utilisateur inexistant ou mauvais de mot de passe.</strong></p>
{% if data != None and data.login == False %}
<p><strong>{{ data.error }}</strong></p>
{% endif %}
{% if user.is_authenticated %}
Vous êtes connecté, {{ user.username }} !
{% else %}
<form method="post" action=".">
<form method="post" action="/login" class="with-ajax">
{{ loginForm }}
{% csrf_token %}
{{ form.as_p }}
<input type="submit"/>
<input type="submit" callback="login_page" value="Connexion"/>
</form>
<a href="/password-forgotten">Mot de passe oublié ?</a>
{% endif %}
</div>
</article>