add profile form
This commit is contained in:
parent
ba1d9e8882
commit
2be6f4e119
3 changed files with 90 additions and 59 deletions
|
@ -4,7 +4,7 @@ from django.forms.widgets import PasswordInput
|
||||||
from accounts.models import *
|
from accounts.models import *
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['UserForm', 'UserFormWithoutUsername', 'GroupForm', 'TeamForm']
|
__all__ = ['UserForm', 'UserFormWithoutUsername', 'ProfileForm', 'GroupForm', 'TeamForm']
|
||||||
|
|
||||||
|
|
||||||
user_fields=['first_name', 'last_name', 'email']
|
user_fields=['first_name', 'last_name', 'email']
|
||||||
|
@ -13,6 +13,8 @@ UserForm = modelform_factory(User,
|
||||||
fields=['username']+user_fields+['is_superuser'])
|
fields=['username']+user_fields+['is_superuser'])
|
||||||
UserFormWithoutUsername = modelform_factory(User,
|
UserFormWithoutUsername = modelform_factory(User,
|
||||||
fields=user_fields+['is_superuser'])
|
fields=user_fields+['is_superuser'])
|
||||||
|
ProfileForm = modelform_factory(User,
|
||||||
|
fields=user_fields)
|
||||||
GroupForm = modelform_factory(Group,
|
GroupForm = modelform_factory(Group,
|
||||||
fields=['name'])
|
fields=['name'])
|
||||||
TeamForm = modelform_factory(Team,
|
TeamForm = modelform_factory(Team,
|
||||||
|
|
|
@ -21,7 +21,14 @@ from accounts.forms import *
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def profile(request):
|
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,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
#########
|
#########
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% load django_markdown %}
|
{% load django_markdown %}
|
||||||
|
{% load bootstrap3 %}
|
||||||
|
|
||||||
{% block profiletab %} class="active"{% endblock %}
|
{% block profiletab %} class="active"{% endblock %}
|
||||||
|
|
||||||
|
@ -10,67 +11,88 @@
|
||||||
<h1>Profile</h1>
|
<h1>Profile</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="list-group">
|
<div class="panel panel-default">
|
||||||
<li class="list-group-item disabled">
|
<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>
|
<h3>Your groups</h3>
|
||||||
</li>
|
</div>
|
||||||
{% for group in request.user.groups.all %}
|
<ul class="list-group">
|
||||||
<li class="list-group-item">
|
{% for group in request.user.groups.all %}
|
||||||
{{ group }}
|
<li class="list-group-item">
|
||||||
<div class="pull-right">
|
{{ group }}
|
||||||
<a href="javascript:alert('Not yet implemented.');" class="btn btn-xs btn-danger">
|
<div class="pull-right">
|
||||||
<span class="glyphicon glyphicon-log-out"></span> leave
|
<a href="javascript:alert('Not yet implemented.');" class="btn btn-xs btn-danger">
|
||||||
</a>
|
<span class="glyphicon glyphicon-log-out"></span> leave
|
||||||
</div>
|
</a>
|
||||||
</li>
|
</div>
|
||||||
{% endfor %}
|
</li>
|
||||||
{% if not request.user.groups.exists %}
|
{% endfor %}
|
||||||
<li class="list-group-item">
|
{% if not request.user.groups.exists %}
|
||||||
<em>You belong to no groups.</em>
|
<li class="list-group-item">
|
||||||
</li>
|
<em>You belong to no groups.</em>
|
||||||
{% endif %}
|
</li>
|
||||||
</ul>
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ul class="list-group">
|
<div class="panel panel-default">
|
||||||
<li class="list-group-item disabled">
|
<div class="panel-heading">
|
||||||
<h3>Your teams</h3>
|
<h3>Your teams</h3>
|
||||||
</li>
|
</div>
|
||||||
{% for team in request.user.teams.all %}
|
<ul class="list-group">
|
||||||
<li class="list-group-item">
|
{% for team in request.user.teams.all %}
|
||||||
{{ team }}
|
<li class="list-group-item">
|
||||||
<div class="pull-right">
|
{{ team }}
|
||||||
<a href="javascript:alert('Not yet implemented.');" class="btn btn-xs btn-danger">
|
<div class="pull-right">
|
||||||
<span class="glyphicon glyphicon-log-out"></span> leave
|
<a href="javascript:alert('Not yet implemented.');" class="btn btn-xs btn-danger">
|
||||||
</a>
|
<span class="glyphicon glyphicon-log-out"></span> leave
|
||||||
</div>
|
</a>
|
||||||
</li>
|
</div>
|
||||||
{% endfor %}
|
</li>
|
||||||
{% if not request.user.teams.exists %}
|
{% endfor %}
|
||||||
<li class="list-group-item">
|
{% if not request.user.teams.exists %}
|
||||||
<em>You belong to no teams.</em>
|
<li class="list-group-item">
|
||||||
</li>
|
<em>You belong to no teams.</em>
|
||||||
{% endif %}
|
</li>
|
||||||
</ul>
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ul class="list-group">
|
<div class="panel panel-default">
|
||||||
<li class="list-group-item disabled">
|
<div class="panel-heading">
|
||||||
<h3>Projects that you are watching</h3>
|
<h3>Projects that you are watching</h3>
|
||||||
</li>
|
</div>
|
||||||
{% for project in request.user.subscribed_projects.all %}
|
<ul class="list-group">
|
||||||
<li class="list-group-item">
|
{% for project in request.user.subscribed_projects.all %}
|
||||||
{{ project }}
|
<li class="list-group-item">
|
||||||
<div class="pull-right">
|
{{ project }}
|
||||||
<a href="{% url 'unsubscribe-project' project.name %}?next={{ request.path }}" class="btn btn-xs btn-danger">
|
<div class="pull-right">
|
||||||
<span class="glyphicon glyphicon-eye-close"></span> unwatch
|
<a href="{% url 'unsubscribe-project' project.name %}?next={{ request.path }}" class="btn btn-xs btn-danger">
|
||||||
</a>
|
<span class="glyphicon glyphicon-eye-close"></span> unwatch
|
||||||
</div>
|
</a>
|
||||||
</li>
|
</div>
|
||||||
{% endfor %}
|
</li>
|
||||||
{% if not request.user.subscribed_projects.exists %}
|
{% endfor %}
|
||||||
<li class="list-group-item">
|
{% if not request.user.subscribed_projects.exists %}
|
||||||
<em>You are not watching any projects.</em>
|
<li class="list-group-item">
|
||||||
</li>
|
<em>You are not watching any projects.</em>
|
||||||
{% endif %}
|
</li>
|
||||||
</ul>
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue