docstring et petites ameliorations
This commit is contained in:
parent
d3e7fd22bf
commit
b9f0c34469
|
@ -0,0 +1 @@
|
|||
*.pyc
|
|
@ -6,12 +6,15 @@ from account.forms import *
|
|||
from django.core.urlresolvers import reverse
|
||||
from django.core.validators import validate_email
|
||||
from django.conf import settings as s
|
||||
|
||||
from django.http import JsonResponse
|
||||
from home.views import homepage
|
||||
|
||||
from django.http import HttpResponseNotFound
|
||||
|
||||
def login(request):
|
||||
error = False
|
||||
"""
|
||||
Login validation
|
||||
Only accessible with ajax POST from menu and return json
|
||||
"""
|
||||
form = LoginForm()
|
||||
if request.method == "POST":
|
||||
if form.is_valid():
|
||||
|
@ -20,19 +23,34 @@ def login(request):
|
|||
user = authenticate(username=username, password=password)
|
||||
if user:
|
||||
a_login(request, user)
|
||||
return redirect(reverse(homepage))
|
||||
data = {
|
||||
'login':True
|
||||
}
|
||||
return JsonResponse(data)
|
||||
else:
|
||||
error = True
|
||||
data = {
|
||||
'login':False,
|
||||
'error':'Mauvais identifiant ou mot de passe'
|
||||
}
|
||||
return JsonResponse(data)
|
||||
|
||||
return render(request, 'login.html', locals())
|
||||
return HttpResponseNotFound()
|
||||
|
||||
|
||||
def logout(request):
|
||||
"""
|
||||
Logout user
|
||||
with ajax POST from menu and reload page
|
||||
"""
|
||||
a_logout(request)
|
||||
return redirect(reverse(homepage))
|
||||
|
||||
|
||||
def signup(request):
|
||||
"""
|
||||
Signup user
|
||||
with ajax POST from signup page and return json
|
||||
"""
|
||||
error = False
|
||||
form = InscriptionForm()
|
||||
if request.method == "POST":
|
||||
|
@ -43,24 +61,33 @@ def signup(request):
|
|||
email = form.cleaned_data["email"]
|
||||
cgu = form.cleaned_data["cgu"]
|
||||
if(
|
||||
username.length < s.USERNAME_MIN_LENGTH or username.length > s.USERNAME_MAX_LENGTH or
|
||||
password.length < s.PASSWORD_MIN_LENGTH or password.length > s.PASSWORD_MAX_LENGTH or
|
||||
password1 != password2 or cgu==False
|
||||
s.USERNAME_MAX_LENGTH < username.length < s.USERNAME_MIN_LENGTH or
|
||||
s.PASSWORD_MAX_LENGTH < password.length < s.PASSWORD_MIN_LENGTH or
|
||||
password1 != password2 or cgu is False
|
||||
):
|
||||
error = True
|
||||
return render(request, 'signup.html', locals())
|
||||
data = {
|
||||
signed:False,
|
||||
error:"Désolé ! Nous ne sommes pas assez bête pour ne pas faire de verification server side !"
|
||||
}
|
||||
return JsonResponse(data)
|
||||
|
||||
try:
|
||||
validate_email(email)
|
||||
except forms.ValidationError:
|
||||
error = True
|
||||
return render(request, 'signup.html', locals())
|
||||
data = {
|
||||
signed:False,
|
||||
error:"Mauvais format d'e-mail"
|
||||
}
|
||||
return JsonResponse(data)
|
||||
|
||||
create_user(username, email, password1)
|
||||
authenticate(username, password1)
|
||||
return render(request, 'home.html', locals())
|
||||
data = {
|
||||
signed:True
|
||||
}
|
||||
return JsonResponse(data)
|
||||
|
||||
return render(request, 'signupt.html', locals())
|
||||
return render(request, 'signup.html', locals())
|
||||
|
||||
def account(request):
|
||||
return render(request, 'account.html')
|
|
@ -2,5 +2,5 @@ from django.conf.urls import url
|
|||
|
||||
import home.views as v
|
||||
urlpatterns = [
|
||||
url(r'^$', v.homepage),
|
||||
url(r'^$', v.homepage, name="homepage"),
|
||||
]
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#-*- coding: utf-8 -*-
|
||||
|
||||
from django.shortcuts import render
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.auth import authenticate
|
||||
from django.http import HttpResponse, Http404
|
||||
|
||||
def homepage(request):
|
||||
return render(request, 'home/homepage.html')
|
||||
return render(request, 'home/homepage.html', locals())
|
|
@ -60,7 +60,7 @@ TEMPLATES = [
|
|||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [
|
||||
'/home/darks/web/planete_casio/templates/',
|
||||
os.path.join(BASE_DIR, 'templates/'),
|
||||
],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
|
@ -145,6 +145,7 @@ STATICFILES_DIRS = (
|
|||
"/home/web/planete_casio/sfiles/",
|
||||
)
|
||||
|
||||
|
||||
USERNAME_MIN_LENGTH = 3
|
||||
USERNAME_MAX_LENGTH = 30
|
||||
PASSWORD_MIN_LENGTH = 8
|
||||
|
|
|
@ -16,14 +16,14 @@ Including another URLconf
|
|||
from django.conf import settings
|
||||
from django.conf.urls import url, include
|
||||
from django.contrib import admin
|
||||
import account.views as v
|
||||
import account.views as av
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^admin/', admin.site.urls),
|
||||
url(r'^', include('home.urls')),
|
||||
url(r'^forum/', include('forum.urls')),
|
||||
url(r'^account/', include('account.urls')),
|
||||
url(r'^login', v.login),
|
||||
url(r'^logout', v.logout),
|
||||
url(r'^signup', v.signup)
|
||||
url(r'^forum/', include('forum.urls'), name="forum"),
|
||||
url(r'^account/', include('account.urls'), name="account"),
|
||||
url(r'^login', av.login, name="login"),
|
||||
url(r'^logout', av.logout, name="logout"),
|
||||
url(r'^signup', av.signup, name="signup")
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue