From 2be6f4e1190e7f5d50e691fb01669e6b6bd6208f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89lie=20Bouttier?= Date: Tue, 2 Sep 2014 21:56:30 -0700 Subject: [PATCH] add profile form --- accounts/forms.py | 4 +- accounts/views.py | 9 ++- templates/accounts/profile.html | 136 +++++++++++++++++++------------- 3 files changed, 90 insertions(+), 59 deletions(-) diff --git a/accounts/forms.py b/accounts/forms.py index 3e61dff..026b12d 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -4,7 +4,7 @@ from django.forms.widgets import PasswordInput from accounts.models import * -__all__ = ['UserForm', 'UserFormWithoutUsername', 'GroupForm', 'TeamForm'] +__all__ = ['UserForm', 'UserFormWithoutUsername', 'ProfileForm', 'GroupForm', 'TeamForm'] user_fields=['first_name', 'last_name', 'email'] @@ -13,6 +13,8 @@ UserForm = modelform_factory(User, fields=['username']+user_fields+['is_superuser']) UserFormWithoutUsername = modelform_factory(User, fields=user_fields+['is_superuser']) +ProfileForm = modelform_factory(User, + fields=user_fields) GroupForm = modelform_factory(Group, fields=['name']) TeamForm = modelform_factory(Team, diff --git a/accounts/views.py b/accounts/views.py index 5e0b4bc..6ea04f4 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -21,7 +21,14 @@ from accounts.forms import * @login_required def profile(request): - return render(request, 'accounts/profile.html') + form = ProfileForm(request.POST or None, instance=request.user) + if request.method == 'POST' and form.is_valid(): + form.save() + messages.success(request, 'Profile updated successfully.') + return redirect('profile') + return render(request, 'accounts/profile.html', { + 'form': form, + }) ######### diff --git a/templates/accounts/profile.html b/templates/accounts/profile.html index d387918..34cc6e1 100644 --- a/templates/accounts/profile.html +++ b/templates/accounts/profile.html @@ -1,6 +1,7 @@ {% extends 'base.html' %} {% load django_markdown %} +{% load bootstrap3 %} {% block profiletab %} class="active"{% endblock %} @@ -10,67 +11,88 @@

Profile

- + + + - + + + - + + + {% endblock %}