add profile form

This commit is contained in:
Élie Bouttier 2014-09-02 21:56:30 -07:00
parent ba1d9e8882
commit 2be6f4e119
3 changed files with 90 additions and 59 deletions

View file

@ -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,

View file

@ -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,
})
#########

View file

@ -1,6 +1,7 @@
{% extends 'base.html' %}
{% load django_markdown %}
{% load bootstrap3 %}
{% block profiletab %} class="active"{% endblock %}
@ -10,10 +11,26 @@
<h1>Profile</h1>
</div>
<ul class="list-group">
<li class="list-group-item disabled">
<div class="panel panel-default">
<div class="panel-heading">
<h3>Your profile</h3>
</div>
<div class="panel-body">
<form method="post" class="col-md-4" role="form">
{% csrf_token %}
{% bootstrap_form form %}
<div class="form-group">
<button type="submit" class="btn btn-primary">Update</button>
</div>
</form>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3>Your groups</h3>
</li>
</div>
<ul class="list-group">
{% for group in request.user.groups.all %}
<li class="list-group-item">
{{ group }}
@ -29,12 +46,14 @@
<em>You belong to no groups.</em>
</li>
{% endif %}
</ul>
</ul>
</div>
<ul class="list-group">
<li class="list-group-item disabled">
<div class="panel panel-default">
<div class="panel-heading">
<h3>Your teams</h3>
</li>
</div>
<ul class="list-group">
{% for team in request.user.teams.all %}
<li class="list-group-item">
{{ team }}
@ -50,12 +69,14 @@
<em>You belong to no teams.</em>
</li>
{% endif %}
</ul>
</ul>
</div>
<ul class="list-group">
<li class="list-group-item disabled">
<div class="panel panel-default">
<div class="panel-heading">
<h3>Projects that you are watching</h3>
</li>
</div>
<ul class="list-group">
{% for project in request.user.subscribed_projects.all %}
<li class="list-group-item">
{{ project }}
@ -71,6 +92,7 @@
<em>You are not watching any projects.</em>
</li>
{% endif %}
</ul>
</ul>
</div>
{% endblock %}