Added a form enabling the user to change his name #1
authorverrierj
Thu, 25 Aug 2011 14:28:56 +0200
changeset 154 2f83bcf58cc1
parent 153 0416423c0de6
child 155 73ce005c4727
Added a form enabling the user to change his name #1
src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
src/ldt/ldt/templates/ldt/ldt_base.html
src/ldt/ldt/user/forms.py
src/ldt/ldt/user/templates/ldt/user/change_name.html
src/ldt/ldt/user/templates/ldt/user/user_base.html
src/ldt/ldt/user/urls.py
src/ldt/ldt/user/views.py
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Thu Aug 25 12:40:27 2011 +0200
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Thu Aug 25 14:28:56 2011 +0200
@@ -843,6 +843,27 @@
 msgid "Modification de l'adresse émail"
 msgstr "Modification de l'adresse email"
 
+#: user/templates/ldt/user/change_name.html:7
+msgid "Change firstname / lastname"
+msgstr "Change le nom / prénom"
+
+#: user/templates/ldt/user/change_name.html:17
+msgid "Please modify your firstname or your lastname"
+msgstr "Changer votre nom ou votre prénom"
+
+#: user/templates/ldt/user/change_name.html:23
+msgid "first name"
+msgstr "prénom"
+
+#: user/templates/ldt/user/change_name.html:31
+msgid "last name"
+msgstr "nom"
+
+#: user/templates/ldt/user/change_name.html:41
+msgid "Your name has been modified"
+msgstr "Votre nom a été modifié"
+
+
 #: user/templates/ldt/user/change_email.html:26
 msgid ""
 "Please enter your new e-mail twice so we can verify you typed it in "
--- a/src/ldt/ldt/templates/ldt/ldt_base.html	Thu Aug 25 12:40:27 2011 +0200
+++ b/src/ldt/ldt/templates/ldt/ldt_base.html	Thu Aug 25 14:28:56 2011 +0200
@@ -96,7 +96,7 @@
         </div>
         <div id="loginstate" >
 	        {% if user.is_staff %}
-	        	<a href="{% url admin:index %}">Staff </a>|
+	        	<a href="{% url admin:index %}">{% trans "Staff" %}</a>|
 	        {% endif %}
             {% if user.is_authenticated %}
             <a href="{% url ldt.user.views.profile %}" >{{user.username}}</a>|&nbsp;<a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
--- a/src/ldt/ldt/user/forms.py	Thu Aug 25 12:40:27 2011 +0200
+++ b/src/ldt/ldt/user/forms.py	Thu Aug 25 14:28:56 2011 +0200
@@ -73,4 +73,21 @@
         self.user.email = self.cleaned_data['email1']
         self.user.save()
         return self.user
+    
 
+class NameChangeForm(forms.Form):
+    first_name = forms.CharField(label=_("First name"), max_length=30)
+    last_name = forms.CharField(label=_("Last name"), max_length=30)
+    
+    def __init__(self, user=None, *args, **kwargs):
+        self.user = user
+        super(NameChangeForm, self).__init__(*args, **kwargs)
+        
+        
+    def save(self):
+        self.user.first_name = self.cleaned_data['first_name']
+        self.user.last_name = self.cleaned_data['last_name']
+        self.user.save()
+        return self.user
+    
+    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/user/templates/ldt/user/change_name.html	Thu Aug 25 14:28:56 2011 +0200
@@ -0,0 +1,43 @@
+{% extends "ldt/user/user_base.html" %}
+{# form of name's change #}
+{% load i18n %}
+
+{% block content_title %}{% trans "Change user name" %} {% endblock %}
+
+{% block css_import %}
+{{ block.super }}
+    <style type="text/css">
+        label.error { float: none; color: red; padding-left: .5em; vertical-align: middle; }
+    </style>
+{% endblock %}
+
+{% block content %}
+{{ block.super }}
+{% if form %}
+<p>{% trans "Please modify your firstname or your lastname" %}</p>
+<form action="" method="POST" id="change_name">
+{% csrf_token %}
+    <table>
+       <tr>
+            <td>
+                <label for="id_first_name">{% trans "first name" %} :</label>
+            </td>
+            <td>
+                <input id="id_first_name" type="text" maxlength="30" name="first_name" value="{{ user.first_name }}"/>
+            </td>
+        <tr>
+        </tr>
+            <td>
+                <label for="id_last_name">Last name :</label>
+            </td>
+            <td>
+                 <input id="id_last_name" type="text" maxlength="30" name="last_name" value="{{ user.last_name }}"/>
+            </td>
+        </tr>
+        <tr><th></th><td><input type="submit" class="button" name="submit" value="Change my name" /></td></tr>
+    </table>
+</form>
+{% else %}
+<p>{% trans "Your name has been modified" %}</p>
+{% endif %}
+{% endblock%}
--- a/src/ldt/ldt/user/templates/ldt/user/user_base.html	Thu Aug 25 12:40:27 2011 +0200
+++ b/src/ldt/ldt/user/templates/ldt/user/user_base.html	Thu Aug 25 14:28:56 2011 +0200
@@ -14,6 +14,7 @@
 <ul>
     <li><a href="{% url ldt.user.views.change_password %}" >{% trans "Password change" %} </a></li>
     <li><a href="{% url ldt.user.views.change_email %}">{% trans "Mail change" %}</a></li>
+    <li><a href="{% url ldt.user.views.change_name %}">{% trans "Change user name" %}</a></li>
 </ul>
 {% endif %}
 <div id="iri-user-content" class="span-24 last">
--- a/src/ldt/ldt/user/urls.py	Thu Aug 25 12:40:27 2011 +0200
+++ b/src/ldt/ldt/user/urls.py	Thu Aug 25 14:28:56 2011 +0200
@@ -4,7 +4,8 @@
     url(r'^loginAjax/$', 'ldt.user.views.loginAjax'),
     url(r'^profile/', 'ldt.user.views.profile'),
     url(r'^logout/', 'ldt.user.views.logout_view'),
-    url(r'^emailchange/$', 'ldt.user.views.change_email'),
+    url(r'^emailchange/$', 'ldt.user.views.change_email'),    
+    url(r'^namechange/$', 'ldt.user.views.change_name'),
     url(r'^pwdchange/$', 'ldt.user.views.change_password'),
 #    url(r'^space/ldt/$', 'ldt.ldt_utils.views.list_ldt'),
 #    url(r'^space/ldt/indexproject/(?P<id>.*)$', 'ldt.ldt_utils.views.index_project'),
--- a/src/ldt/ldt/user/views.py	Thu Aug 25 12:40:27 2011 +0200
+++ b/src/ldt/ldt/user/views.py	Thu Aug 25 14:28:56 2011 +0200
@@ -6,7 +6,7 @@
 from django.template import RequestContext, loader
 from django.utils import simplejson
 from django.utils.translation import ugettext as _
-from forms import EmailChangeForm
+from forms import EmailChangeForm, NameChangeForm
 
 
     
@@ -65,3 +65,15 @@
         form = PasswordChangeForm(request.user)
     return render_to_response('ldt/user/change_password.html', {'form': form, }, context_instance=RequestContext(request))
 
+
+@login_required   
+def change_name(request):
+    if request.method == "POST":
+        form = NameChangeForm(request.user, request.POST)
+        if form.is_valid():
+            form.save()
+            form = None
+    else:
+        form = NameChangeForm(request.user)
+    return render_to_response('ldt/user/change_name.html', {'form': form, }, context_instance=RequestContext(request))
+