# HG changeset patch # User verrierj # Date 1314956975 -7200 # Node ID a71757b03e89785c58c864cc2a960cdaacfabbb7 # Parent e6cd648f4f16004fe416f4a93cdf0362660e9f54 Add javascript to profile form diff -r e6cd648f4f16 -r a71757b03e89 src/ldt/ldt/user/forms.py --- a/src/ldt/ldt/user/forms.py Wed Aug 31 17:52:47 2011 +0200 +++ b/src/ldt/ldt/user/forms.py Fri Sep 02 11:49:35 2011 +0200 @@ -4,6 +4,9 @@ from django.utils.translation import gettext as _ from models import Ldt +from django.contrib.auth.models import User + + class LdtForm(UserCreationForm): @@ -90,4 +93,56 @@ self.user.save() return self.user + +class ProfileChangeForm(forms.Form): + first_name = forms.CharField(label=_("First name"), max_length=30) + last_name = forms.CharField(label=_("Last name"), max_length=30) + email1 = forms.EmailField(label=_("E-mail"), max_length=75) + email2 = forms.EmailField(label=_("E-mail"), max_length=75) + username = forms.RegexField(label=_("Username"), max_length=30, regex=r'^[\w.@+-]+$') + def __init__(self, user=None, *args, **kwargs): + self.user = user + super(ProfileChangeForm, self).__init__(*args, **kwargs) + + def clean_email2(self): + email1 = self.cleaned_data.get('email1') + email2 = self.cleaned_data.get('email2') + if email1 and email2: + if email1 != email2: + raise forms.ValidationError(_("The two emails didn't match.")) + return email2 + + def clean_username(self): + retrieved_username = '%s' % self.cleaned_data.get('username') + if retrieved_username != self.user.username and (len(User.objects.filter(username=retrieved_username)) > 0): + raise forms.ValidationError(_("username %s is already used." % retrieved_username)) + return retrieved_username + + def clean_first_name(self): + first_name = self.cleaned_data.get('first_name') + if not self.isValidName(first_name): + raise forms.ValidationError(_("Please use only letter, blanks, or dashes.")) + return first_name + + def clean_last_name(self): + last_name = self.cleaned_data.get('last_name') + if not self.isValidName(last_name): + raise forms.ValidationError(_("Please use only letter, blanks, or dashes.")) + return last_name + + def isValidName(self, string): + for i in string: + if not i.isalpha() and not i in [' ','-']: + return False + return True + + + def save(self): + self.user.email = self.cleaned_data['email1'] + self.user.first_name = self.cleaned_data['first_name'] + self.user.last_name = self.cleaned_data['last_name'] + self.user.username = self.cleaned_data['username'] + self.user.save() + return self.user + \ No newline at end of file diff -r e6cd648f4f16 -r a71757b03e89 src/ldt/ldt/user/templates/ldt/user/change_password.html --- a/src/ldt/ldt/user/templates/ldt/user/change_password.html Wed Aug 31 17:52:47 2011 +0200 +++ b/src/ldt/ldt/user/templates/ldt/user/change_password.html Fri Sep 02 11:49:35 2011 +0200 @@ -1,47 +1,60 @@ -{% extends "ldt/user/user_base.html" %} +{% extends "ldt/user/user_change.html" %} {# form of password change #} {% load i18n %} {% block css_import %} {{ block.super }} - + + {% endblock %} {% block content %} {{ block.super }} {% if form %}
{% else %} diff -r e6cd648f4f16 -r a71757b03e89 src/ldt/ldt/user/templates/ldt/user/change_profile.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/user/templates/ldt/user/change_profile.html Fri Sep 02 11:49:35 2011 +0200 @@ -0,0 +1,120 @@ +{% extends "ldt/user/user_change.html" %} +{# form of password change #} + +{% load i18n %} +{% block css_import %} + +{{ block.super }} + + + +{% endblock %} +{% block content %} + +{{ block.super }} + +{% if not form %} +{%trans "Your profile has been updated" %} +{% endif %} + + +{% endblock%} + diff -r e6cd648f4f16 -r a71757b03e89 src/ldt/ldt/user/templates/ldt/user/user_base.html --- a/src/ldt/ldt/user/templates/ldt/user/user_base.html Wed Aug 31 17:52:47 2011 +0200 +++ b/src/ldt/ldt/user/templates/ldt/user/user_base.html Fri Sep 02 11:49:35 2011 +0200 @@ -3,23 +3,14 @@ {# all contents are writed in the "iricontent" block #} {% load i18n %} - {% block css_import %} {{ block.super }} - + {% endblock %} + {% block content %} -{% if user.is_authenticated %} -