mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-03-23 06:01:13 +00:00
add table, add some translation
This commit is contained in:
parent
bd9773a8af
commit
bd7e6b8ad4
@ -1,6 +1,6 @@
|
|||||||
{% extends "wrapped/1/wrapped_base.html" %}
|
{% extends "wrapped/1/wrapped_base.html" %}
|
||||||
{% comment %}
|
{% comment %}
|
||||||
COPYRIGHT (C) 2018-2024 BDE ENS Paris-Saclay
|
COPYRIGHT (C) 2018-2025 BDE ENS Paris-Saclay
|
||||||
SPDX-License-Identifier: GPL-3.0-or-later
|
SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% load i18n pretty_money %}
|
{% load i18n pretty_money %}
|
||||||
@ -23,9 +23,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
let d1 = document.getElementById("consumer");
|
let d1 = document.getElementById("consumer");
|
||||||
let d2 = document.getElementById("creditor");
|
let d2 = document.getElementById("creditor");
|
||||||
if (con) { d1.textContent = {{ big_consumer | safe }}[0] + " " + gettext("with") + " " + {{ big_consumer | safe}}[1] + "€";}
|
if (con) { d1.textContent = {{ big_consumer | safe }}[0] + " " + gettext("with") + " " + {{ big_consumer | safe}}[1] + "€";}
|
||||||
else { d1.textContent = gettext("Infortunately, you doesn't have consumer this year");};
|
else { d1.textContent = gettext({% trans "Infortunately, you doesn't have consumer this year" %});};
|
||||||
if (cre) { d2.textContent = {{ big_creancier | safe}}[0] + " " + gettext("with") + " " + {{ big_creancier | safe}}[1] + "€";}
|
if (cre) { d2.textContent = {{ big_creancier | safe}}[0] + " " + gettext("with") + " " + {{ big_creancier | safe}}[1] + "€";}
|
||||||
else { d2.textContent = gettext("Congratulations you are a real rat !"); };
|
else { d2.textContent = gettext({% trans "Congratulations you are a real rat !" %}); };
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -6,17 +6,24 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row justify-content-center">
|
<div id="wrapped_tables">
|
||||||
<div class="col-md-10">
|
{% if tables|length > 0 %}
|
||||||
<div class="card card-border shadow">
|
<div class="card bg-light mb-3">
|
||||||
<div class="card-header text-center">
|
<h3 class="card-header text-center">
|
||||||
<h5> {{ title }}</h5>
|
{% trans "My wrapped" %}
|
||||||
</div>
|
</h3>
|
||||||
<div class="card-body px-0 py-0" id="wrapped_table">
|
{% render_table tables.1 %}
|
||||||
{% render_table table %}
|
</div>
|
||||||
</div>
|
{% endif %}
|
||||||
</div>
|
|
||||||
</div>
|
{% if tables|length > 0 %}
|
||||||
|
<div class="card bg-light mb-3">
|
||||||
|
<h3 class="card-header text-center">
|
||||||
|
{% trans "Public wrapped" %}
|
||||||
|
</h3>
|
||||||
|
{% render_table tables.0 %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
@ -25,7 +32,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
let club_not_public = {{ club_not_public }};
|
let club_not_public = {{ club_not_public }};
|
||||||
if (club_not_public) { (addMsg("{% trans "Do not forget to ask permission to people who are in your wrapped before to make them public" %}", 'warning'));}
|
if (club_not_public) { (addMsg("{% trans "Do not forget to ask permission to people who are in your wrapped before to make them public" %}", 'warning'));}
|
||||||
function refreshTable() {
|
function refreshTable() {
|
||||||
$("#wrapped_table").load(location.pathname + " #wrapped_table");
|
$("#wrapped_tables").load(location.pathname + " #wrapped_tables");
|
||||||
}
|
}
|
||||||
|
|
||||||
function copylink(id) {
|
function copylink(id) {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2018-2024 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2025 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
import json
|
import json
|
||||||
@ -6,7 +6,8 @@ import json
|
|||||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.views.generic import DetailView
|
from django.views.generic import DetailView
|
||||||
from django_tables2.views import SingleTableView
|
from django.views.generic.list import ListView
|
||||||
|
from django_tables2.views import MultiTableMixin
|
||||||
from permission.backends import PermissionBackend
|
from permission.backends import PermissionBackend
|
||||||
from permission.views import ProtectQuerysetMixin
|
from permission.views import ProtectQuerysetMixin
|
||||||
|
|
||||||
@ -14,21 +15,29 @@ from .models import Wrapped
|
|||||||
from .tables import WrappedTable
|
from .tables import WrappedTable
|
||||||
|
|
||||||
|
|
||||||
class WrappedListView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView):
|
class WrappedListView(ProtectQuerysetMixin, LoginRequiredMixin, MultiTableMixin, ListView):
|
||||||
"""
|
"""
|
||||||
Display all Wrapped, and classify by year
|
Display all Wrapped, and classify by year
|
||||||
"""
|
"""
|
||||||
model = Wrapped
|
model = Wrapped
|
||||||
table_class = WrappedTable
|
tables =[
|
||||||
|
lambda data: WrappedTable(data, prefix="public-"),
|
||||||
|
lambda data: WrappedTable(data, prefix="personnal-"),
|
||||||
|
]
|
||||||
template_name = 'wrapped/wrapped_list.html'
|
template_name = 'wrapped/wrapped_list.html'
|
||||||
extra_context = {'title': _("List of wrapped")}
|
extra_context = {'title': _("List of wrapped")}
|
||||||
|
|
||||||
def get_queryset(self, **kwargs):
|
def get_queryset(self, **kwargs):
|
||||||
return super().get_queryset(**kwargs).distinct()
|
return super().get_queryset(**kwargs).distinct()
|
||||||
|
|
||||||
def get_table_data(self):
|
def get_tables_data(self):
|
||||||
return Wrapped.objects.filter(PermissionBackend.filter_queryset(
|
return [
|
||||||
self.request, Wrapped, "change", field='public')).distinct().order_by("-bde__date_start")
|
Wrapped.objects.filter(public=True),
|
||||||
|
Wrapped.objects
|
||||||
|
.filter(PermissionBackend.filter_queryset(self.request, Wrapped, "change", field='public'))
|
||||||
|
.distinct()
|
||||||
|
.order_by("-bde__date_start")
|
||||||
|
]
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-02-25 13:47+0100\n"
|
"POT-Creation-Date: 2025-03-13 21:08+0100\n"
|
||||||
"PO-Revision-Date: 2022-04-11 22:05+0200\n"
|
"PO-Revision-Date: 2022-04-11 22:05+0200\n"
|
||||||
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
||||||
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
|
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
|
||||||
@ -865,7 +865,7 @@ msgstr "Taille maximale : 2 Mo"
|
|||||||
msgid "This image cannot be loaded."
|
msgid "This image cannot be loaded."
|
||||||
msgstr "Cette image ne peut pas être chargée."
|
msgstr "Cette image ne peut pas être chargée."
|
||||||
|
|
||||||
#: apps/member/forms.py:154 apps/member/views.py:103
|
#: apps/member/forms.py:154 apps/member/views.py:117
|
||||||
#: apps/registration/forms.py:33 apps/registration/views.py:282
|
#: apps/registration/forms.py:33 apps/registration/views.py:282
|
||||||
msgid "An alias with a similar name already exists."
|
msgid "An alias with a similar name already exists."
|
||||||
msgstr "Un alias avec un nom similaire existe déjà."
|
msgstr "Un alias avec un nom similaire existe déjà."
|
||||||
@ -1194,11 +1194,11 @@ msgstr "Adhésion de {user} pour le club {club}"
|
|||||||
msgid "The role {role} does not apply to the club {club}."
|
msgid "The role {role} does not apply to the club {club}."
|
||||||
msgstr "Le rôle {role} ne s'applique pas au club {club}."
|
msgstr "Le rôle {role} ne s'applique pas au club {club}."
|
||||||
|
|
||||||
#: apps/member/models.py:388 apps/member/views.py:745
|
#: apps/member/models.py:388 apps/member/views.py:759
|
||||||
msgid "User is already a member of the club"
|
msgid "User is already a member of the club"
|
||||||
msgstr "L'utilisateur·rice est déjà membre du club"
|
msgstr "L'utilisateur·rice est déjà membre du club"
|
||||||
|
|
||||||
#: apps/member/models.py:400 apps/member/views.py:754
|
#: apps/member/models.py:400 apps/member/views.py:768
|
||||||
msgid "User is not a member of the parent club"
|
msgid "User is not a member of the parent club"
|
||||||
msgstr "L'utilisateur·rice n'est pas membre du club parent"
|
msgstr "L'utilisateur·rice n'est pas membre du club parent"
|
||||||
|
|
||||||
@ -1251,7 +1251,7 @@ msgid "Account #"
|
|||||||
msgstr "Compte n°"
|
msgstr "Compte n°"
|
||||||
|
|
||||||
#: apps/member/templates/member/base.html:48
|
#: apps/member/templates/member/base.html:48
|
||||||
#: apps/member/templates/member/base.html:62 apps/member/views.py:60
|
#: apps/member/templates/member/base.html:62 apps/member/views.py:61
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:48
|
#: apps/registration/templates/registration/future_profile_detail.html:48
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:117
|
#: apps/wei/templates/wei/weimembership_form.html:117
|
||||||
msgid "Update Profile"
|
msgid "Update Profile"
|
||||||
@ -1312,8 +1312,8 @@ msgstr ""
|
|||||||
"seront à nouveau possible."
|
"seront à nouveau possible."
|
||||||
|
|
||||||
#: apps/member/templates/member/club_alias.html:10
|
#: apps/member/templates/member/club_alias.html:10
|
||||||
#: apps/member/templates/member/profile_alias.html:10 apps/member/views.py:304
|
#: apps/member/templates/member/profile_alias.html:10 apps/member/views.py:318
|
||||||
#: apps/member/views.py:545
|
#: apps/member/views.py:559
|
||||||
msgid "Note aliases"
|
msgid "Note aliases"
|
||||||
msgstr "Alias de la note"
|
msgstr "Alias de la note"
|
||||||
|
|
||||||
@ -1505,51 +1505,51 @@ msgstr "Sauvegarder les changements"
|
|||||||
msgid "Registrations"
|
msgid "Registrations"
|
||||||
msgstr "Inscriptions"
|
msgstr "Inscriptions"
|
||||||
|
|
||||||
#: apps/member/views.py:73 apps/registration/forms.py:23
|
#: apps/member/views.py:74 apps/registration/forms.py:23
|
||||||
msgid "This address must be valid."
|
msgid "This address must be valid."
|
||||||
msgstr "Cette adresse doit être valide."
|
msgstr "Cette adresse doit être valide."
|
||||||
|
|
||||||
#: apps/member/views.py:140
|
#: apps/member/views.py:154
|
||||||
msgid "Profile detail"
|
msgid "Profile detail"
|
||||||
msgstr "Détails de l'utilisateur⋅rice"
|
msgstr "Détails de l'utilisateur⋅rice"
|
||||||
|
|
||||||
#: apps/member/views.py:206
|
#: apps/member/views.py:220
|
||||||
msgid "Search user"
|
msgid "Search user"
|
||||||
msgstr "Chercher un·e utilisateur·rice"
|
msgstr "Chercher un·e utilisateur·rice"
|
||||||
|
|
||||||
#: apps/member/views.py:258
|
#: apps/member/views.py:272
|
||||||
msgid "Note friendships"
|
msgid "Note friendships"
|
||||||
msgstr "Amitiés note"
|
msgstr "Amitiés note"
|
||||||
|
|
||||||
#: apps/member/views.py:328
|
#: apps/member/views.py:342
|
||||||
msgid "Update note picture"
|
msgid "Update note picture"
|
||||||
msgstr "Modifier la photo de la note"
|
msgstr "Modifier la photo de la note"
|
||||||
|
|
||||||
#: apps/member/views.py:377
|
#: apps/member/views.py:391
|
||||||
msgid "Manage auth token"
|
msgid "Manage auth token"
|
||||||
msgstr "Gérer les jetons d'authentification"
|
msgstr "Gérer les jetons d'authentification"
|
||||||
|
|
||||||
#: apps/member/views.py:404
|
#: apps/member/views.py:418
|
||||||
msgid "Create new club"
|
msgid "Create new club"
|
||||||
msgstr "Créer un nouveau club"
|
msgstr "Créer un nouveau club"
|
||||||
|
|
||||||
#: apps/member/views.py:423
|
#: apps/member/views.py:437
|
||||||
msgid "Search club"
|
msgid "Search club"
|
||||||
msgstr "Chercher un club"
|
msgstr "Chercher un club"
|
||||||
|
|
||||||
#: apps/member/views.py:461
|
#: apps/member/views.py:475
|
||||||
msgid "Club detail"
|
msgid "Club detail"
|
||||||
msgstr "Détails du club"
|
msgstr "Détails du club"
|
||||||
|
|
||||||
#: apps/member/views.py:573
|
#: apps/member/views.py:587
|
||||||
msgid "Update club"
|
msgid "Update club"
|
||||||
msgstr "Modifier le club"
|
msgstr "Modifier le club"
|
||||||
|
|
||||||
#: apps/member/views.py:607
|
#: apps/member/views.py:621
|
||||||
msgid "Add new member to the club"
|
msgid "Add new member to the club"
|
||||||
msgstr "Ajouter un·e nouvelleau membre au club"
|
msgstr "Ajouter un·e nouvelleau membre au club"
|
||||||
|
|
||||||
#: apps/member/views.py:736 apps/wei/views.py:991
|
#: apps/member/views.py:750 apps/wei/views.py:991
|
||||||
msgid ""
|
msgid ""
|
||||||
"This user don't have enough money to join this club, and can't have a "
|
"This user don't have enough money to join this club, and can't have a "
|
||||||
"negative balance."
|
"negative balance."
|
||||||
@ -1557,19 +1557,19 @@ msgstr ""
|
|||||||
"Cet⋅te utilisateur⋅rice n'a pas assez d'argent pour rejoindre ce club et ne "
|
"Cet⋅te utilisateur⋅rice n'a pas assez d'argent pour rejoindre ce club et ne "
|
||||||
"peut pas avoir un solde négatif."
|
"peut pas avoir un solde négatif."
|
||||||
|
|
||||||
#: apps/member/views.py:758
|
#: apps/member/views.py:772
|
||||||
msgid "The membership must start after {:%m-%d-%Y}."
|
msgid "The membership must start after {:%m-%d-%Y}."
|
||||||
msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}."
|
msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}."
|
||||||
|
|
||||||
#: apps/member/views.py:763
|
#: apps/member/views.py:777
|
||||||
msgid "The membership must begin before {:%m-%d-%Y}."
|
msgid "The membership must begin before {:%m-%d-%Y}."
|
||||||
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
|
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
|
||||||
|
|
||||||
#: apps/member/views.py:913
|
#: apps/member/views.py:927
|
||||||
msgid "Manage roles of an user in the club"
|
msgid "Manage roles of an user in the club"
|
||||||
msgstr "Gérer les rôles d'un⋅e utilisateur⋅rice dans le club"
|
msgstr "Gérer les rôles d'un⋅e utilisateur⋅rice dans le club"
|
||||||
|
|
||||||
#: apps/member/views.py:938
|
#: apps/member/views.py:952
|
||||||
msgid "Members of the club"
|
msgid "Members of the club"
|
||||||
msgstr "Membres du club"
|
msgstr "Membres du club"
|
||||||
|
|
||||||
@ -2084,7 +2084,7 @@ msgid "Button displayed"
|
|||||||
msgstr "Bouton affiché"
|
msgstr "Bouton affiché"
|
||||||
|
|
||||||
#: apps/note/templates/note/transactiontemplate_list.html:100
|
#: apps/note/templates/note/transactiontemplate_list.html:100
|
||||||
#: apps/wrapped/templates/wrapped/wrapped_list.html:63
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:70
|
||||||
msgid "An error occured"
|
msgid "An error occured"
|
||||||
msgstr "Une erreur s'est produite"
|
msgstr "Une erreur s'est produite"
|
||||||
|
|
||||||
@ -3662,6 +3662,14 @@ msgstr "soirée·s organisée·s"
|
|||||||
msgid "distinct members"
|
msgid "distinct members"
|
||||||
msgstr "Membres distinct·e·s"
|
msgstr "Membres distinct·e·s"
|
||||||
|
|
||||||
|
#: apps/wrapped/templates/wrapped/1/wrapped_view_club.html:26
|
||||||
|
msgid "Infortunately, you doesn't have consumer this year"
|
||||||
|
msgstr "Malheureusement, tu n'as pas de consommateur cette année"
|
||||||
|
|
||||||
|
#: apps/wrapped/templates/wrapped/1/wrapped_view_club.html:28
|
||||||
|
msgid "Congratulations you are a real rat !"
|
||||||
|
msgstr "Félicitations, tu es un vrai rat !"
|
||||||
|
|
||||||
#: apps/wrapped/templates/wrapped/1/wrapped_view_user.html:13
|
#: apps/wrapped/templates/wrapped/1/wrapped_view_user.html:13
|
||||||
msgid "You participate to the wei: "
|
msgid "You participate to the wei: "
|
||||||
msgstr "Tu as participé au wei : "
|
msgstr "Tu as participé au wei : "
|
||||||
@ -3699,7 +3707,15 @@ msgstr "avec"
|
|||||||
msgid "Your expenses to BDE: "
|
msgid "Your expenses to BDE: "
|
||||||
msgstr "Tes dépenses au BDE : "
|
msgstr "Tes dépenses au BDE : "
|
||||||
|
|
||||||
#: apps/wrapped/templates/wrapped/wrapped_list.html:26
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:13
|
||||||
|
msgid "My wrapped"
|
||||||
|
msgstr "Mes wrapped"
|
||||||
|
|
||||||
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:22
|
||||||
|
msgid "Public wrapped"
|
||||||
|
msgstr "Wrapped public"
|
||||||
|
|
||||||
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:33
|
||||||
msgid ""
|
msgid ""
|
||||||
"Do not forget to ask permission to people who are in your wrapped before to "
|
"Do not forget to ask permission to people who are in your wrapped before to "
|
||||||
"make them public"
|
"make them public"
|
||||||
@ -3707,19 +3723,19 @@ msgstr ""
|
|||||||
"N'oublies pas de demander la permission des personnes apparaissant dans un "
|
"N'oublies pas de demander la permission des personnes apparaissant dans un "
|
||||||
"wrapped avant de le rendre public"
|
"wrapped avant de le rendre public"
|
||||||
|
|
||||||
#: apps/wrapped/templates/wrapped/wrapped_list.html:33
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:40
|
||||||
msgid "Link copied"
|
msgid "Link copied"
|
||||||
msgstr "Lien copié"
|
msgstr "Lien copié"
|
||||||
|
|
||||||
#: apps/wrapped/templates/wrapped/wrapped_list.html:58
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:65
|
||||||
msgid "Wrapped is private"
|
msgid "Wrapped is private"
|
||||||
msgstr "Le wrapped est privé"
|
msgstr "Le wrapped est privé"
|
||||||
|
|
||||||
#: apps/wrapped/templates/wrapped/wrapped_list.html:59
|
#: apps/wrapped/templates/wrapped/wrapped_list.html:66
|
||||||
msgid "Wrapped is public"
|
msgid "Wrapped is public"
|
||||||
msgstr "Le wrapped est public"
|
msgstr "Le wrapped est public"
|
||||||
|
|
||||||
#: apps/wrapped/views.py:24
|
#: apps/wrapped/views.py:28
|
||||||
msgid "List of wrapped"
|
msgid "List of wrapped"
|
||||||
msgstr "Liste des wrapped"
|
msgstr "Liste des wrapped"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user