mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-26 18:37:12 +00:00
Two colomn profile page
This commit is contained in:
parent
43fd765a34
commit
45ce2eab9e
@ -112,7 +112,7 @@ class UserUpdateView(LoginRequiredMixin, UpdateView):
|
||||
|
||||
class UserDetailView(LoginRequiredMixin, DetailView):
|
||||
"""
|
||||
Affiche les informations sur un utilisateur, sa note, ses clubs ...
|
||||
Affiche les informations sur un utilisateur, sa note, ses clubs...
|
||||
"""
|
||||
model = Profile
|
||||
context_object_name = "profile"
|
||||
@ -126,6 +126,10 @@ class UserDetailView(LoginRequiredMixin, DetailView):
|
||||
club_list = \
|
||||
Membership.objects.all().filter(user=user).only("club")
|
||||
context['club_list'] = ClubTable(club_list)
|
||||
context['title'] = _("Account #%(id)s: %(username)s") % {
|
||||
'id': user.pk,
|
||||
'username': user.username,
|
||||
}
|
||||
return context
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-21 11:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-21 11:52+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -90,7 +90,7 @@ msgstr ""
|
||||
msgid "phone number"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:29 templates/member/profile_detail.html:18
|
||||
#: apps/member/models.py:29 templates/member/profile_detail.html:23
|
||||
msgid "section"
|
||||
msgstr ""
|
||||
|
||||
@ -98,7 +98,7 @@ msgstr ""
|
||||
msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:36 templates/member/profile_detail.html:20
|
||||
#: apps/member/models.py:36 templates/member/profile_detail.html:26
|
||||
msgid "address"
|
||||
msgstr ""
|
||||
|
||||
@ -180,7 +180,7 @@ msgstr ""
|
||||
msgid "memberships"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/views.py:63 templates/member/profile_detail.html:29
|
||||
#: apps/member/views.py:63 templates/member/profile_detail.html:39
|
||||
msgid "Update Profile"
|
||||
msgstr ""
|
||||
|
||||
@ -188,6 +188,11 @@ msgstr ""
|
||||
msgid "An alias with a similar name already exists."
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/views.py:129
|
||||
#, python-format
|
||||
msgid "Account #%(id)s: %(username)s"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/admin.py:118 apps/note/models/transactions.py:86
|
||||
msgid "source"
|
||||
msgstr ""
|
||||
@ -285,7 +290,7 @@ msgstr ""
|
||||
msgid "alias"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/notes.py:199
|
||||
#: apps/note/models/notes.py:199 templates/member/profile_detail.html:32
|
||||
msgid "aliases"
|
||||
msgstr ""
|
||||
|
||||
@ -381,7 +386,7 @@ msgstr ""
|
||||
msgid "Membership duration"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/club_detail.html:18 templates/member/profile_detail.html:22
|
||||
#: templates/member/club_detail.html:18 templates/member/profile_detail.html:29
|
||||
msgid "balance"
|
||||
msgstr ""
|
||||
|
||||
@ -397,23 +402,27 @@ msgstr ""
|
||||
msgid "Regenerate token"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:12
|
||||
#: templates/member/profile_detail.html:10
|
||||
msgid "first name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:14
|
||||
#: templates/member/profile_detail.html:13
|
||||
msgid "username"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:27
|
||||
msgid "Manage auth token"
|
||||
#: templates/member/profile_detail.html:16
|
||||
msgid "password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:30
|
||||
#: templates/member/profile_detail.html:19
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:38
|
||||
#: templates/member/profile_detail.html:37
|
||||
msgid "Manage auth token"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:49
|
||||
msgid "View my memberships"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-21 11:16+0100\n"
|
||||
"POT-Creation-Date: 2020-02-21 11:52+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -85,7 +85,7 @@ msgstr "adhérent"
|
||||
msgid "phone number"
|
||||
msgstr "numéro de téléphone"
|
||||
|
||||
#: apps/member/models.py:29 templates/member/profile_detail.html:18
|
||||
#: apps/member/models.py:29 templates/member/profile_detail.html:23
|
||||
msgid "section"
|
||||
msgstr "section"
|
||||
|
||||
@ -93,7 +93,7 @@ msgstr "section"
|
||||
msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
||||
msgstr "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\""
|
||||
|
||||
#: apps/member/models.py:36 templates/member/profile_detail.html:20
|
||||
#: apps/member/models.py:36 templates/member/profile_detail.html:26
|
||||
msgid "address"
|
||||
msgstr "adresse"
|
||||
|
||||
@ -179,7 +179,7 @@ msgstr "adhésion"
|
||||
msgid "memberships"
|
||||
msgstr "adhésions"
|
||||
|
||||
#: apps/member/views.py:63 templates/member/profile_detail.html:29
|
||||
#: apps/member/views.py:63 templates/member/profile_detail.html:39
|
||||
msgid "Update Profile"
|
||||
msgstr "Modifier le profil"
|
||||
|
||||
@ -187,6 +187,11 @@ msgstr "Modifier le profil"
|
||||
msgid "An alias with a similar name already exists."
|
||||
msgstr "Un alias avec un nom similaire existe déjà."
|
||||
|
||||
#: apps/member/views.py:129
|
||||
#, python-format
|
||||
msgid "Account #%(id)s: %(username)s"
|
||||
msgstr "Compte n°%(id)s : %(username)s"
|
||||
|
||||
#: apps/note/admin.py:118 apps/note/models/transactions.py:86
|
||||
msgid "source"
|
||||
msgstr "source"
|
||||
@ -285,7 +290,7 @@ msgstr "Alias invalide"
|
||||
msgid "alias"
|
||||
msgstr "alias"
|
||||
|
||||
#: apps/note/models/notes.py:199
|
||||
#: apps/note/models/notes.py:199 templates/member/profile_detail.html:32
|
||||
msgid "aliases"
|
||||
msgstr "alias"
|
||||
|
||||
@ -381,7 +386,7 @@ msgstr "L'adhésion finie le"
|
||||
msgid "Membership duration"
|
||||
msgstr "Durée de l'adhésion"
|
||||
|
||||
#: templates/member/club_detail.html:18 templates/member/profile_detail.html:22
|
||||
#: templates/member/club_detail.html:18 templates/member/profile_detail.html:29
|
||||
msgid "balance"
|
||||
msgstr "solde du compte"
|
||||
|
||||
@ -397,23 +402,29 @@ msgstr "Créé le"
|
||||
msgid "Regenerate token"
|
||||
msgstr "Regénérer le jeton"
|
||||
|
||||
#: templates/member/profile_detail.html:12
|
||||
#: templates/member/profile_detail.html:10
|
||||
msgid "first name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/profile_detail.html:14
|
||||
#: templates/member/profile_detail.html:13
|
||||
msgid "username"
|
||||
msgstr "nom d'utilisateur"
|
||||
|
||||
#: templates/member/profile_detail.html:27
|
||||
msgid "Manage auth token"
|
||||
msgstr "Gérer les jetons d'authentification"
|
||||
#: templates/member/profile_detail.html:16
|
||||
#, fuzzy
|
||||
#| msgid "Change password"
|
||||
msgid "password"
|
||||
msgstr "Changer le mot de passe"
|
||||
|
||||
#: templates/member/profile_detail.html:30
|
||||
#: templates/member/profile_detail.html:19
|
||||
msgid "Change password"
|
||||
msgstr "Changer le mot de passe"
|
||||
|
||||
#: templates/member/profile_detail.html:38
|
||||
#: templates/member/profile_detail.html:37
|
||||
msgid "Manage auth token"
|
||||
msgstr "Gérer les jetons d'authentification"
|
||||
|
||||
#: templates/member/profile_detail.html:49
|
||||
msgid "View my memberships"
|
||||
msgstr "Voir mes adhésions"
|
||||
|
||||
|
@ -2,67 +2,77 @@
|
||||
{% load i18n static pretty_money django_tables2 %}
|
||||
|
||||
{% block content %}
|
||||
<h3>Compte n° {{ object.pk }}</h3>
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-3">
|
||||
<img src="{{ object.note.display_image.url }}" alt=""/>
|
||||
|
||||
<img src="{{ object.note.display_image.url }}" alt=""/>
|
||||
<dl class="row table">
|
||||
<dt class="col-xl-6">{% trans 'name'|capfirst %}, {% trans 'first name' %}</dt>
|
||||
<dd class="col-xl-6">{{ object.user.last_name }} {{ object.user.first_name }}</dd>
|
||||
|
||||
<dl class="row">
|
||||
<dt class="col-6 col-md-3">{% trans 'name'|capfirst %}</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.user.last_name }}</dd>
|
||||
<dt class="col-6 col-md-3">{% trans 'first name'|capfirst %}</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.user.first_name }}</dd>
|
||||
<dt class="col-6 col-md-3">{% trans 'username'|capfirst %}</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.user.username }}</dd>
|
||||
<dt class="col-6 col-md-3">Aliases</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.user.note.alias_set.all }}</dd>
|
||||
<dt class="col-6 col-md-3">{% trans 'section'|capfirst %}</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.section }}</dd>
|
||||
<dt class="col-6 col-md-3">{% trans 'address'|capfirst %}</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.address }}</dd>
|
||||
<dt class="col-6 col-md-3">{% trans 'balance'|capfirst %}</dt>
|
||||
<dd class="col-6 col-md-3">{{ object.user.note.balance | pretty_money }}</dd>
|
||||
</dl>
|
||||
<center>
|
||||
{% if object.user.pk == user.pk %}
|
||||
<a class="btn btn-primary" href="{% url 'member:auth_token' %}">{% trans 'Manage auth token' %}</a>
|
||||
{% endif %}
|
||||
<a class="btn btn-primary" href="{% url 'member:user_update_profile' object.pk %}">{% trans 'Update Profile' %}</a>
|
||||
<a class="btn btn-primary" href="{% url 'password_change' %}">{% trans 'Change password' %}</a>
|
||||
</center>
|
||||
<dt class="col-xl-6">{% trans 'username'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.user.username }}</dd>
|
||||
|
||||
<div class="accordion" id="accordionProfile">
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingOne">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fa fa-users"></i> {% trans "View my memberships" %}
|
||||
</button>
|
||||
</h5>
|
||||
<dt class="col-xl-6">{% trans 'password'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">
|
||||
<a class="badge badge-primary" href="{% url 'password_change' %}">
|
||||
{% trans 'Change password' %}
|
||||
</a>
|
||||
</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'section'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.section }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'address'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.address }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'balance'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.user.note.balance | pretty_money }}</dd>
|
||||
|
||||
<dt class="col-xl-6">{% trans 'aliases'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ object.user.note.alias_set.all|join:", " }}</dd>
|
||||
</dl>
|
||||
<p class="text-center">
|
||||
{% if object.user.pk == user.pk %}
|
||||
<a class="btn btn-info btn-sm" href="{% url 'member:auth_token' %}">{% trans 'Manage auth token' %}</a>
|
||||
{% endif %}
|
||||
<a class="btn btn-primary btn-sm" href="{% url 'member:user_update_profile' object.pk %}">{% trans 'Update Profile' %}</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionProfile">
|
||||
<div class="card-body">
|
||||
{% render_table club_list %}
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<div class="accordion" id="accordionProfile">
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingOne">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fa fa-users"></i> {% trans "View my memberships" %}
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionProfile">
|
||||
<div class="card-body">
|
||||
{% render_table club_list %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingTwo">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
<i class="fa fa-euro"></i> Historique des transactions
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionProfile">
|
||||
<div class="card-body">
|
||||
{% render_table history_list %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingTwo">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
<i class="fa fa-euro"></i> Historique des transactions
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionProfile">
|
||||
<div class="card-body">
|
||||
{% render_table history_list %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user