{% 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>
<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>
onclick="document.getElementById('_editUserProfileForm').submit(); return false;">{% trans "Save" %}</a>
</div>
</form>
+
</div>
{% endblock %}
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
# 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})