class PersonneForm(forms.ModelForm):
- password = forms.CharField(widget=forms.PasswordInput(), label="Mot de passe")
+ password = forms.CharField(widget=forms.PasswordInput(), label="Mot de passe")
+ genre = forms.ChoiceField(widget=forms.RadioSelect(), choices=GENRE_CHOICES)
class Meta:
model = Utilisateur
fields = ('nom', 'prenom', 'courriel', 'password', 'genre')
prenom = models.CharField(max_length=128, verbose_name = 'Prénom')
courriel = models.EmailField(max_length=128, unique=True)
fonction = models.CharField(max_length=128, null = True, blank = True)
+ date_naissance = models.DateField(null=True, blank=True)
sousfonction = models.CharField(max_length=128, null = True, blank = True,
verbose_name = 'Sous-fonction')
mobile = models.CharField(max_length=32, null = True, blank = True,
from django.db.models import Q
+from django.utils.translation import ugettext_lazy as _
+from django.contrib.auth.forms import AuthenticationForm as OriginalAuthenticationForm
+
+class AuthenticationForm(OriginalAuthenticationForm):
+ username = forms.CharField(label=_("Username"), max_length=255)
+
+
+def chercheur_login(request, template_name='registration/login.html', redirect_field_name='next'):
+ "Displays the login form and handles the login action."
+ redirect_to = request.REQUEST.get(redirect_field_name, '')
+ if request.method == "POST":
+ form = AuthenticationForm(data=request.POST)
+ if form.is_valid():
+ # Light security check -- make sure redirect_to isn't garbage.
+ if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
+ redirect_to = settings.LOGIN_REDIRECT_URL
+ from django.contrib.auth import login
+ login(request, form.get_user())
+ if request.session.test_cookie_worked():
+ request.session.delete_test_cookie()
+ return HttpResponseRedirect(redirect_to)
+ else:
+ form = AuthenticationForm(request)
+ request.session.set_test_cookie()
+ return render_to_response(template_name, {
+ 'form': form,
+ redirect_field_name: redirect_to,
+ }, context_instance=RequestContext(request))
+
+
def chercheur_queryset (request):
list = Chercheur.objects.order_by("id")
pays = ""
{% if user.is_authenticated %}
<a href="{% url django.contrib.auth.views.logout %}" class="bout-droit">Déconnexion</a>
{% else %}
- <a href="{% url django.contrib.auth.views.login %}" class="bout-droit">Connexion</a>
+ <a href="{% url chercheurs.views.chercheur_login %}" class="bout-droit">Connexion</a>
{% endif %}
<span>|</span>
<a href="{% url savoirs.views.nous_contacter %}">Nous contacter</a>
{% endif %}
<div class="zone-texte">
- <form method="post" action="{% url django.contrib.auth.views.login %}">
+ <form method="post" action="{% url chercheurs.views.chercheur_login %}">
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
(r'^admin/assigner_disciplines', 'savoirs.admin_views.assigner_disciplines'),
(r'^admin/(.*)', admin.site.root),
- (r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'savoirs/login.html'}),
+ (r'^accounts/login/$', 'chercheurs.views.chercheur_login', {'template_name': 'savoirs/login.html'}),
(r'^accounts/logout/$', 'django.contrib.auth.views.logout', {'template_name': 'savoirs/logout.html'}),
# sous-menu gauche