From f5b7d6fd8611925548923784b4c6156a17faa1d9 Mon Sep 17 00:00:00 2001 From: yomguy Date: Tue, 29 Mar 2011 18:00:31 +0200 Subject: [PATCH] add user form to profile view --- .../telemeta_default/profile_edit.html | 17 ++++++++++++++--- telemeta/web/base.py | 14 +++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/telemeta/templates/telemeta_default/profile_edit.html b/telemeta/templates/telemeta_default/profile_edit.html index 3d8859e6..5e92b5f1 100644 --- a/telemeta/templates/telemeta_default/profile_edit.html +++ b/telemeta/templates/telemeta_default/profile_edit.html @@ -9,10 +9,20 @@ {% block content %}

{% trans "User profile" %} : {{ usr.username }}

+
{% csrf_token %} - {% for field in form %} - {% if field.html_name != "user" %} + + {% for field in user_form %} + + + + + {% endfor %} + + + {% for field in profile_form %} + {% if field.html_name != "user" %} @@ -22,7 +32,7 @@ {% endif %} - {% endfor %} + {% endfor %}
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
{{ field.errors }}
{{ field.label_tag }}: {{ field }}{{ field.label_tag }}: {{ field }}
{% trans "Cancel" %} @@ -30,5 +40,6 @@ onclick="document.getElementById('_editUserProfileForm').submit(); return false;">{% trans "Save" %}
+
{% endblock %} diff --git a/telemeta/web/base.py b/telemeta/web/base.py index 17e8dc5a..5738d4a3 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -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}) -- 2.39.5