diff --git a/account/views.py b/account/views.py index 2b312b1..8601dc6 100644 --- a/account/views.py +++ b/account/views.py @@ -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') diff --git a/templates/account/login.html b/templates/account/login.html index 0362eb0..53ff1ae 100644 --- a/templates/account/login.html +++ b/templates/account/login.html @@ -6,18 +6,19 @@

Formulaire de connexion

- {% if error %} -

Utilisateur inexistant ou mauvais de mot de passe.

+ {% if data != None and data.login == False %} +

{{ data.error }}

{% endif %} {% if user.is_authenticated %} Vous êtes connecté, {{ user.username }} ! {% else %} -
+ + {{ loginForm }} {% csrf_token %} - {{ form.as_p }} - +
+ Mot de passe oublié ? {% endif %}