]> git.parisson.com Git - telemeta.git/commitdiff
add user form to profile view
authoryomguy <yomguy@parisson.com>
Tue, 29 Mar 2011 16:00:31 +0000 (18:00 +0200)
committeryomguy <yomguy@parisson.com>
Tue, 29 Mar 2011 16:00:31 +0000 (18:00 +0200)
telemeta/templates/telemeta_default/profile_edit.html
telemeta/web/base.py

index 3d8859e694e15ec317b3e68d6b359f6f7de3a2fe..5e92b5f1000969fbedaf0df67c5bf7015ef789ba 100644 (file)
@@ -9,10 +9,20 @@
 {% block content %}
        <h3>{% trans "User profile" %} : {{ usr.username }}</h3>
        <div class="infos" style="padding-top: 1em;">
+       
         <form method="POST" id="_editUserProfileForm" action="">{% csrf_token %}
        <table>
-       {% for field in form %}
-       {% if field.html_name != "user" %}
+       
+        {% for field in user_form %}
+        <tr>
+            <tr><td class="error">{{ field.errors }}</td></tr>
+            <td>{{ field.label_tag }}:</td><td> {{ field }}</td>
+        </tr>
+        {% endfor %}
+       
+       
+        {% for field in profile_form %}
+        {% if field.html_name != "user" %}
         <tr>
             <tr><td class="error">{{ field.errors }}</td></tr>
             <td>{{ field.label_tag }}:</td><td> {{ field }}</td>
@@ -22,7 +32,7 @@
           <td>{{ field.label_tag }}:</td><td> {{ field }}</td>
         </tr>
         {% endif %}
-       {% endfor %}
+        {% endfor %}
        </table>
         <div align="center">
          <a href="{% url telemeta-profile-detail usr.username %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
@@ -30,5 +40,6 @@
    onclick="document.getElementById('_editUserProfileForm').submit(); return false;">{% trans "Save" %}</a>
         </div>
         </form>
+        
         </div>
 {% endblock %}
index 17e8dc5afdb480029f3ec9abd54a20c6b4134dc2..5738d4a36d10b917a2beea295562dcacc51ab63e 100644 (file)
@@ -58,6 +58,7 @@ from django.core.context_processors import csrf
 from django.forms.models import modelformset_factory
 from django.contrib.auth.models import User
 from django.utils.translation import ugettext
+from django.contrib.auth.forms import UserChangeForm
 
 from telemeta.models import *
 import telemeta.models
@@ -1033,11 +1034,14 @@ class WebView(object):
 #            profile.save()
             
         if request.method == 'POST':
-            form = UserProfileForm(data=request.POST, instance=profile)
-            if form.is_valid():
-                form.save()
+            user_form = UserChangeForm(request.POST, instance=user, prefix='user')
+            profile_form = UserProfileForm(request.POST, instance=profile, prefix='profile')
+            if user_form.is_valid() and profile_form.is_valid():
+                user_form.save()
+                profile_form.save()
                 return HttpResponseRedirect('/accounts/'+username+'/profile/')
         else:
-            form = UserProfileForm(instance=profile)
-        return render(request, template, {"form": form, 'usr': user})
+            user_form = UserChangeForm(instance=user, prefix='user')
+            profile_form = UserProfileForm(instance=profile, prefix='profile')
+        return render(request, template, {"user_form": user_form, "profile_form": profile_form, 'usr': user})