--- /dev/null
+from django.contrib.auth.decorators import login_required
+from django.views.generic.base import TemplateView
+from django.views.generic.edit import UpdateView
+from django.core.urlresolvers import reverse_lazy
+
+from .models import User
+
+
+class ProfileView(TemplateView):
+ template_name = 'aa/profile.html'
+
+
+profile_view = login_required(ProfileView.as_view())
+
+
+class ProfileContactEditView(UpdateView):
+ model = User
+ fields = ['phone', 'mobile']
+ success_url = reverse_lazy('profile-view')
+
+ def get_object(self):
+ return self.request.user
+
+
+profile_contact_edit = login_required(ProfileContactEditView.as_view())
.select2-container {
min-width: 90%;
}
+
+div#content div.section > h3 {
+ background: linear-gradient(to right, #386ede 30%, #00d6eb 100%);
+ color: white;
+}
--- /dev/null
+{% extends "base.html" %}
+
+{% block appbar %}
+<h2>{{ user }}</h2>
+{% endblock %}
+
+{% block content %}
+<div class="section">
+ <h3>Informations de contact</h3>
+ <div>
+ <ul class="contact-details">
+ <li>Email : {{ user.email }}</li>
+ <li>Téléphone : {{ user.mobile|default_if_none:"" }} {% if user.phone %}— {{ user.phone }} (fixe){% endif %}</li>
+ </ul>
+ <a class="button" data-popup href="{% url 'profile-contact-edit' %}">Modifier</a>
+ </div>
+</div>
+
+<div class="section padded">
+ <a class="button" data-popup href="{% url 'auth_password_change' %}">Changement de mot de passe</a>
+</div>
+
+{% endblock %}
--- /dev/null
+{% extends "base.html" %}
+
+{% block content %}
+<form method="post">
+{% csrf_token %}
+{{ form.as_p }}
+
+<div class="buttons">
+<button>Enregistrer</button>
+<a class="cancel" href="../..">Annuler</a>
+</div>
+</form>
+{% endblock %}
{% endblock %}
{% block user-links %}
- <span>{{ user.first_name }} {{ user.last_name }} ({{ user.username }})</span>
- <a href="{% url 'auth_password_change' %}">Changement de mot de passe</a>
+ <a class="icon-user-space" href="{% url 'profile-view' %}">{{ user.first_name }} {{ user.last_name }} ({{ user.username }})</a>
<a class="icon-signout" href="{% url 'logout' %}">Déconnexion</a>
</span>
{% endblock %}
{% extends "registration/base.html" %}
{% load i18n static %}
-
-{% block content %}<div id="content-main">
-
+{% block appbar %}
<h2>{% trans 'Password change' %}</h2>
+{% endblock %}
-<form action="" method="post">{% csrf_token %}
-<div>
-{% if form.errors %}
- <p class="errornote">
- {% blocktrans count counter=form.errors.items|length %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
- </p>
-{% endif %}
-
-<p>{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}</p>
-
-<fieldset class="module aligned wide">
-
-<div class="form-row">
- {{ form.old_password.errors }}
- <label for="id_old_password" class="required">{% trans 'Old password' %}:</label>{{ form.old_password }}
-</div>
-
-<div class="form-row">
- {{ form.new_password1.errors }}
- <label for="id_new_password1" class="required">{% trans 'New password' %}:</label>{{ form.new_password1 }}
-</div>
-
-<div class="form-row">
-{{ form.new_password2.errors }}
- <label for="id_new_password2" class="required">{% trans 'Password (again)' %}:</label>{{ form.new_password2 }}
-</div>
+{% block content %}
-</fieldset>
+<form action="" method="post">
+{% csrf_token %}
+{{form.as_p}}
-<div class="submit-row">
+<div class="buttons">
<button>{% trans 'Change my password' %}</button>
+ <a class="cancel" href="../..">Annuler</a>
</div>
<script type="text/javascript">document.getElementById("id_old_password").focus();</script>
-</div>
-</form></div>
+</form>
{% endblock %}
import panikombo.views
from .poll import views as poll_views
+from .aa import views as aa_views
from . import views
from combo.manager.urls import urlpatterns as combo_manager_urls
url(r'^combok/soundfiles/', panikombo.views.soundfiles),
url(r'^combok/episodes/', panikombo.views.episodes),
+ url(r'^profile/$', aa_views.profile_view, name='profile-view'),
+ url(r'^profile/edit/$', aa_views.profile_contact_edit, name='profile-contact-edit'),
+
url(r'^vote/$', poll_views.vote, name='vote'),
url(r'^vote/results/$', poll_views.vote_results, name='vote-results'),