ernestophone.ens.fr/gestion/views.py

83 lines
2.8 KiB
Python
Raw Normal View History

from django.shortcuts import render
from django.contrib.auth.forms import PasswordChangeForm
from django.contrib.auth.decorators import login_required
from django.conf import settings
2015-03-17 19:03:51 +01:00
from datetime import datetime
2020-01-04 01:02:33 +01:00
from gestion.forms import InscriptionMembreForm, RegistrationFormUser, ChangeMembreForm
2015-03-17 19:03:51 +01:00
from gestion.models import ErnestoUser
2015-07-22 16:08:59 -04:00
from propositions.utils import generer
2015-03-17 19:03:51 +01:00
2015-04-13 18:56:43 +02:00
from calendrier.views import calendar
2015-03-17 19:03:51 +01:00
def inscription_membre(request):
if request.method == 'POST':
requbis = request.POST.copy()
user_form = RegistrationFormUser(requbis)
comp_form = InscriptionMembreForm(requbis)
if user_form.is_valid() and comp_form.is_valid():
pseudo = user_form.cleaned_data['username']
if not (comp_form.cleaned_data['validation']
== settings.ACCOUNT_CREATION_PASS):
2015-03-28 19:18:14 +01:00
error = "Le champ Validation ne correspond pas à celui attendu"
return render(request, "gestion/registration.html", locals())
2015-07-22 16:08:59 -04:00
member = user_form.save(commit=False)
temp = True
while temp:
code = generer()
try:
ErnestoUser.objects.get(slug=code)
except:
temp = False
member.save()
(profile, _) = ErnestoUser.objects.get_or_create(user=member,
slug=code)
comp_form = InscriptionMembreForm(requbis, instance=profile)
2015-07-22 16:08:59 -04:00
obj = comp_form.save(commit=False)
obj.slug = code
2015-07-22 16:08:59 -04:00
obj.save()
2015-03-17 19:03:51 +01:00
envoi = True
return render(request, 'gestion/thanks.html', locals())
else:
comp_form = InscriptionMembreForm()
user_form = RegistrationFormUser()
return render(request, 'gestion/registration.html', locals())
@login_required
def change_password(request):
if request.method == 'POST':
requbis = request.POST.copy()
form = PasswordChangeForm(request.user, data=requbis)
if form.is_valid():
form.save()
success = True
else:
form = PasswordChangeForm(request.user)
return render(request, 'gestion/changepasswd.html', locals())
@login_required
def change_membre(request):
if request.method == 'POST':
requbis = request.POST.copy()
form = ChangeMembreForm(requbis, instance=request.user)
if form.is_valid():
form.save()
success = True
else:
form = ChangeMembreForm(instance=request.user)
return render(request, 'gestion/change.html', locals())
2015-03-17 19:03:51 +01:00
def home(request):
2015-04-13 18:56:43 +02:00
lToday = datetime.now()
return calendar(request, lToday.year, lToday.month)
2015-03-17 19:03:51 +01:00
@login_required
2015-07-22 16:08:59 -04:00
def divers(request):
return render(request, "gestion/divers.html", locals())