Added a search tab for the conso page

This commit is contained in:
Nicolas Margulies 2023-10-25 20:01:48 +02:00
parent ff6e207512
commit 0cc130092f
5 changed files with 153 additions and 62 deletions

View File

@ -103,6 +103,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
</a> </a>
</li> </li>
{% endfor %} {% endfor %}
<li class="nav-item">
<a class="nav-link font-weight-bold" data-toggle="tab" href="#search">
{% trans "Search" %}
</a>
</li>
</ul> </ul>
</div> </div>
@ -123,6 +128,20 @@ SPDX-License-Identifier: GPL-3.0-or-later
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
<div class="tab-pane" id="search">
<input class="form-control mx-auto d-block mb-3"
placeholder="{% trans "Search button..." %}" type="text" id="search-input"/>
<div class="d-inline-flex flex-wrap justify-content-center" id="search-results">
{% for button in search_results %}
{% if button.display %}
<button class="btn btn-outline-dark rounded-0 flex-fill"
id="search_button{{ button.id }}" name="button" value="{{ button.name }}">
{{ button.name }} ({{ button.amount | pretty_money }})
</button>
{% endif %}
{% endfor %}
</div>
</div>
</div> </div>
</div> </div>
@ -182,5 +201,37 @@ SPDX-License-Identifier: GPL-3.0-or-later
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
{% for button in search_results %}
{% if button.display %}
$("#search_button{{ button.id }}").click(function() {
addConso({{ button.destination_id }}, {{ button.amount }},
{{ polymorphic_ctype }}, {{ button.category_id }}, "{{ button.category.name|escapejs }}",
{{ button.id }}, "{{ button.name|escapejs }}");
});
{% endif %}
{% endfor %}
searchbar = document.getElementById("search-input")
const parser = new DOMParser();
old_pattern = null;
function updateSearch(force = false) {
let pattern = searchbar.value
if ((pattern === old_pattern || pattern === "") && !force)
return;
const xhr = new XMLHttpRequest();
xhr.open("GET", location.pathname + "?search=" +
encodeURI(pattern) + "#search", true)
xhr.onload = () => {
document.getElementById("search-results").innerHTML =
parser.parseFromString(xhr.responseText, "text/html").getElementById("search-results").innerHTML
};
xhr.send();
}
searchbar.addEventListener("input", function (e) {
debounce(updateSearch)()
});
</script> </script>
{% endblock %} {% endblock %}

View File

@ -10,12 +10,12 @@ from django.core.exceptions import PermissionDenied
from django.db.models import Q, F from django.db.models import Q, F
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.views.generic import CreateView, UpdateView, DetailView from django.views.generic import CreateView, UpdateView, DetailView
from django_tables2 import SingleTableView
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django_tables2 import SingleTableView
from activity.models import Entry from activity.models import Entry
from note_kfet.inputs import AmountInput
from permission.backends import PermissionBackend from permission.backends import PermissionBackend
from permission.views import ProtectQuerysetMixin from permission.views import ProtectQuerysetMixin
from note_kfet.inputs import AmountInput
from .forms import TransactionTemplateForm, SearchTransactionForm from .forms import TransactionTemplateForm, SearchTransactionForm
from .models import TemplateCategory, Transaction, TransactionTemplate, RecurrentTransaction, NoteSpecial, Note from .models import TemplateCategory, Transaction, TransactionTemplate, RecurrentTransaction, NoteSpecial, Note
@ -190,6 +190,14 @@ class ConsoView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView):
).order_by('name').all() ).order_by('name').all()
context['polymorphic_ctype'] = ContentType.objects.get_for_model(RecurrentTransaction).pk context['polymorphic_ctype'] = ContentType.objects.get_for_model(RecurrentTransaction).pk
if "search" in self.request.GET and self.request.GET["search"]:
pattern = self.request.GET["search"]
context['search_results'] = TransactionTemplate.objects.filter(
name__iregex=pattern
).filter(
PermissionBackend.filter_queryset(self.request, TransactionTemplate, "view")
).filter(display=True).order_by('name').all()
return context return context

View File

@ -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: 2023-09-18 17:27+0200\n" "POT-Creation-Date: 2023-10-25 19:12+0200\n"
"PO-Revision-Date: 2020-11-16 20:02+0000\n" "PO-Revision-Date: 2020-11-16 20:02+0000\n"
"Last-Translator: bleizi <bleizi@crans.org>\n" "Last-Translator: bleizi <bleizi@crans.org>\n"
"Language-Team: German <http://translate.ynerant.fr/projects/nk20/nk20/de/>\n" "Language-Team: German <http://translate.ynerant.fr/projects/nk20/nk20/de/>\n"
@ -1286,16 +1286,16 @@ msgstr "Rollen in diesen Club bearbeiten"
msgid "Members of the club" msgid "Members of the club"
msgstr "Mitlglieder dieses Club" msgstr "Mitlglieder dieses Club"
#: apps/note/admin.py:129 apps/note/models/transactions.py:109 #: apps/note/admin.py:139 apps/note/models/transactions.py:109
msgid "source" msgid "source"
msgstr "Sender" msgstr "Sender"
#: apps/note/admin.py:137 apps/note/admin.py:205 #: apps/note/admin.py:147 apps/note/admin.py:215
#: apps/note/models/transactions.py:56 apps/note/models/transactions.py:122 #: apps/note/models/transactions.py:56 apps/note/models/transactions.py:122
msgid "destination" msgid "destination"
msgstr "Empfänger" msgstr "Empfänger"
#: apps/note/admin.py:210 apps/note/models/transactions.py:60 #: apps/note/admin.py:220 apps/note/models/transactions.py:60
#: apps/note/models/transactions.py:140 #: apps/note/models/transactions.py:140
msgid "amount" msgid "amount"
msgstr "Anzahl" msgstr "Anzahl"
@ -1643,7 +1643,7 @@ msgstr ""
msgid "Add back" msgid "Add back"
msgstr "Neue Bus" msgstr "Neue Bus"
#: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:132 #: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:151
#: apps/wei/tables.py:49 apps/wei/tables.py:50 #: apps/wei/tables.py:49 apps/wei/tables.py:50
#: apps/wei/templates/wei/base.html:89 #: apps/wei/templates/wei/base.html:89
#: apps/wei/templates/wei/bus_detail.html:20 #: apps/wei/templates/wei/bus_detail.html:20
@ -1684,15 +1684,27 @@ msgstr "Konsumieren!"
msgid "Highlighted buttons" msgid "Highlighted buttons"
msgstr "Hervorgehobene Tasten" msgstr "Hervorgehobene Tasten"
#: apps/note/templates/note/conso_form.html:138 #: apps/note/templates/note/conso_form.html:108
#, fuzzy
#| msgid "Search WEI"
msgid "Search"
msgstr "WEI finden"
#: apps/note/templates/note/conso_form.html:133
#, fuzzy
#| msgid "Search button"
msgid "Search button..."
msgstr "Tatsen finden"
#: apps/note/templates/note/conso_form.html:157
msgid "Single consumptions" msgid "Single consumptions"
msgstr "Solo Modus" msgstr "Solo Modus"
#: apps/note/templates/note/conso_form.html:143 #: apps/note/templates/note/conso_form.html:162
msgid "Double consumptions" msgid "Double consumptions"
msgstr "Doppelte Modus" msgstr "Doppelte Modus"
#: apps/note/templates/note/conso_form.html:154 #: apps/note/templates/note/conso_form.html:173
#: apps/note/templates/note/transaction_form.html:163 #: apps/note/templates/note/transaction_form.html:163
msgid "Recent transactions history" msgid "Recent transactions history"
msgstr "Verlauf der letzten Transaktionen" msgstr "Verlauf der letzten Transaktionen"
@ -1826,7 +1838,7 @@ msgstr "Verbräuche"
msgid "You can't see any button." msgid "You can't see any button."
msgstr "Sie können keine Taste sehen." msgstr "Sie können keine Taste sehen."
#: apps/note/views.py:200 #: apps/note/views.py:208
msgid "Search transactions" msgid "Search transactions"
msgstr "Transaktion finden" msgstr "Transaktion finden"
@ -2402,12 +2414,12 @@ msgid "Yes"
msgstr "Ja" msgstr "Ja"
#: apps/treasury/templates/treasury/invoice_confirm_delete.html:10 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:10
#: apps/treasury/views.py:180 #: apps/treasury/views.py:173
msgid "Delete invoice" msgid "Delete invoice"
msgstr "Rechnung löschen" msgstr "Rechnung löschen"
#: apps/treasury/templates/treasury/invoice_confirm_delete.html:15 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:15
#: apps/treasury/views.py:184 #: apps/treasury/views.py:177
msgid "This invoice is locked and can't be deleted." msgid "This invoice is locked and can't be deleted."
msgstr "Eine Rechnung kann nicht gelöscht werden, wenn sie gesperrt ist." msgstr "Eine Rechnung kann nicht gelöscht werden, wenn sie gesperrt ist."
@ -2593,36 +2605,36 @@ msgstr "Neue Rechnung"
msgid "Invoices list" msgid "Invoices list"
msgstr "Rechnunglist" msgstr "Rechnunglist"
#: apps/treasury/views.py:112 apps/treasury/views.py:286 #: apps/treasury/views.py:105 apps/treasury/views.py:275
#: apps/treasury/views.py:412 #: apps/treasury/views.py:401
msgid "You are not able to see the treasury interface." msgid "You are not able to see the treasury interface."
msgstr "Sie können die Quaestor-App nicht sehen." msgstr "Sie können die Quaestor-App nicht sehen."
#: apps/treasury/views.py:122 #: apps/treasury/views.py:115
msgid "Update an invoice" msgid "Update an invoice"
msgstr "Rechnung bearbeiten" msgstr "Rechnung bearbeiten"
#: apps/treasury/views.py:247 #: apps/treasury/views.py:240
msgid "Create a new remittance" msgid "Create a new remittance"
msgstr "Neue Überweisung" msgstr "Neue Überweisung"
#: apps/treasury/views.py:274 #: apps/treasury/views.py:267
msgid "Remittances list" msgid "Remittances list"
msgstr "Überweisungliste" msgstr "Überweisungliste"
#: apps/treasury/views.py:337 #: apps/treasury/views.py:326
msgid "Update a remittance" msgid "Update a remittance"
msgstr "Überweisung bearbeiten" msgstr "Überweisung bearbeiten"
#: apps/treasury/views.py:360 #: apps/treasury/views.py:349
msgid "Attach a transaction to a remittance" msgid "Attach a transaction to a remittance"
msgstr "Fügen Sie einer Überweisung eine Transaktion hinzu" msgstr "Fügen Sie einer Überweisung eine Transaktion hinzu"
#: apps/treasury/views.py:404 #: apps/treasury/views.py:393
msgid "List of credits from the Société générale" msgid "List of credits from the Société générale"
msgstr "Kreditliste von Société générale" msgstr "Kreditliste von Société générale"
#: apps/treasury/views.py:449 #: apps/treasury/views.py:438
msgid "Manage credits from the Société générale" msgid "Manage credits from the Société générale"
msgstr "Krediten von der Société générale handeln" msgstr "Krediten von der Société générale handeln"

View File

@ -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: 2023-09-18 17:27+0200\n" "POT-Creation-Date: 2023-10-25 19:12+0200\n"
"PO-Revision-Date: 2022-04-11 23:12+0200\n" "PO-Revision-Date: 2022-04-11 23:12+0200\n"
"Last-Translator: bleizi <bleizi@crans.org>\n" "Last-Translator: bleizi <bleizi@crans.org>\n"
"Language-Team: \n" "Language-Team: \n"
@ -1272,16 +1272,16 @@ msgstr "Gestionar los papeles de un usuario en el club"
msgid "Members of the club" msgid "Members of the club"
msgstr "Miembros del club" msgstr "Miembros del club"
#: apps/note/admin.py:129 apps/note/models/transactions.py:109 #: apps/note/admin.py:139 apps/note/models/transactions.py:109
msgid "source" msgid "source"
msgstr "fuente" msgstr "fuente"
#: apps/note/admin.py:137 apps/note/admin.py:205 #: apps/note/admin.py:147 apps/note/admin.py:215
#: apps/note/models/transactions.py:56 apps/note/models/transactions.py:122 #: apps/note/models/transactions.py:56 apps/note/models/transactions.py:122
msgid "destination" msgid "destination"
msgstr "destino" msgstr "destino"
#: apps/note/admin.py:210 apps/note/models/transactions.py:60 #: apps/note/admin.py:220 apps/note/models/transactions.py:60
#: apps/note/models/transactions.py:140 #: apps/note/models/transactions.py:140
msgid "amount" msgid "amount"
msgstr "monto" msgstr "monto"
@ -1627,7 +1627,7 @@ msgstr "Añadir como amig@"
msgid "Add back" msgid "Add back"
msgstr "Añadir en retorno" msgstr "Añadir en retorno"
#: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:132 #: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:151
#: apps/wei/tables.py:49 apps/wei/tables.py:50 #: apps/wei/tables.py:49 apps/wei/tables.py:50
#: apps/wei/templates/wei/base.html:89 #: apps/wei/templates/wei/base.html:89
#: apps/wei/templates/wei/bus_detail.html:20 #: apps/wei/templates/wei/bus_detail.html:20
@ -1668,15 +1668,27 @@ msgstr "¡ Consumir !"
msgid "Highlighted buttons" msgid "Highlighted buttons"
msgstr "Botones resaltados" msgstr "Botones resaltados"
#: apps/note/templates/note/conso_form.html:138 #: apps/note/templates/note/conso_form.html:108
#, fuzzy
#| msgid "Search WEI"
msgid "Search"
msgstr "Buscar un WEI"
#: apps/note/templates/note/conso_form.html:133
#, fuzzy
#| msgid "Search button"
msgid "Search button..."
msgstr "Buscar un botón"
#: apps/note/templates/note/conso_form.html:157
msgid "Single consumptions" msgid "Single consumptions"
msgstr "Consumiciones simples" msgstr "Consumiciones simples"
#: apps/note/templates/note/conso_form.html:143 #: apps/note/templates/note/conso_form.html:162
msgid "Double consumptions" msgid "Double consumptions"
msgstr "Consumiciones dobles" msgstr "Consumiciones dobles"
#: apps/note/templates/note/conso_form.html:154 #: apps/note/templates/note/conso_form.html:173
#: apps/note/templates/note/transaction_form.html:163 #: apps/note/templates/note/transaction_form.html:163
msgid "Recent transactions history" msgid "Recent transactions history"
msgstr "Historial de las transacciones recientes" msgstr "Historial de las transacciones recientes"
@ -1806,7 +1818,7 @@ msgstr "Consumiciones"
msgid "You can't see any button." msgid "You can't see any button."
msgstr "Usted no puede ver ningún botón." msgstr "Usted no puede ver ningún botón."
#: apps/note/views.py:200 #: apps/note/views.py:208
msgid "Search transactions" msgid "Search transactions"
msgstr "Buscar transacciones" msgstr "Buscar transacciones"
@ -2378,12 +2390,12 @@ msgid "Yes"
msgstr "Sí" msgstr "Sí"
#: apps/treasury/templates/treasury/invoice_confirm_delete.html:10 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:10
#: apps/treasury/views.py:180 #: apps/treasury/views.py:173
msgid "Delete invoice" msgid "Delete invoice"
msgstr "Suprimir la factura" msgstr "Suprimir la factura"
#: apps/treasury/templates/treasury/invoice_confirm_delete.html:15 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:15
#: apps/treasury/views.py:184 #: apps/treasury/views.py:177
msgid "This invoice is locked and can't be deleted." msgid "This invoice is locked and can't be deleted."
msgstr "Esta factura esta bloqueada y no puede ser suprimida." msgstr "Esta factura esta bloqueada y no puede ser suprimida."
@ -2559,36 +2571,36 @@ msgstr "Crear una nueva factura"
msgid "Invoices list" msgid "Invoices list"
msgstr "Lista de las facturas" msgstr "Lista de las facturas"
#: apps/treasury/views.py:112 apps/treasury/views.py:286 #: apps/treasury/views.py:105 apps/treasury/views.py:275
#: apps/treasury/views.py:412 #: apps/treasury/views.py:401
msgid "You are not able to see the treasury interface." msgid "You are not able to see the treasury interface."
msgstr "Usted no tiene derecho a ver la interfaz de tesorería." msgstr "Usted no tiene derecho a ver la interfaz de tesorería."
#: apps/treasury/views.py:122 #: apps/treasury/views.py:115
msgid "Update an invoice" msgid "Update an invoice"
msgstr "Modificar una factura" msgstr "Modificar una factura"
#: apps/treasury/views.py:247 #: apps/treasury/views.py:240
msgid "Create a new remittance" msgid "Create a new remittance"
msgstr "Crear un nuevo descuento" msgstr "Crear un nuevo descuento"
#: apps/treasury/views.py:274 #: apps/treasury/views.py:267
msgid "Remittances list" msgid "Remittances list"
msgstr "Lista de los descuentos" msgstr "Lista de los descuentos"
#: apps/treasury/views.py:337 #: apps/treasury/views.py:326
msgid "Update a remittance" msgid "Update a remittance"
msgstr "Modificar un descuento" msgstr "Modificar un descuento"
#: apps/treasury/views.py:360 #: apps/treasury/views.py:349
msgid "Attach a transaction to a remittance" msgid "Attach a transaction to a remittance"
msgstr "Unir una transacción con un descuento" msgstr "Unir una transacción con un descuento"
#: apps/treasury/views.py:404 #: apps/treasury/views.py:393
msgid "List of credits from the Société générale" msgid "List of credits from the Société générale"
msgstr "Lista de los créditos de la Société Générale" msgstr "Lista de los créditos de la Société Générale"
#: apps/treasury/views.py:449 #: apps/treasury/views.py:438
msgid "Manage credits from the Société générale" msgid "Manage credits from the Société générale"
msgstr "Gestionar los créditos de la Société Générale" msgstr "Gestionar los créditos de la Société Générale"

View File

@ -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: 2023-09-18 17:27+0200\n" "POT-Creation-Date: 2023-10-25 19:12+0200\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"
@ -1274,16 +1274,16 @@ msgstr "Gérer les rôles d'un utilisateur dans le club"
msgid "Members of the club" msgid "Members of the club"
msgstr "Membres du club" msgstr "Membres du club"
#: apps/note/admin.py:129 apps/note/models/transactions.py:109 #: apps/note/admin.py:139 apps/note/models/transactions.py:109
msgid "source" msgid "source"
msgstr "source" msgstr "source"
#: apps/note/admin.py:137 apps/note/admin.py:205 #: apps/note/admin.py:147 apps/note/admin.py:215
#: apps/note/models/transactions.py:56 apps/note/models/transactions.py:122 #: apps/note/models/transactions.py:56 apps/note/models/transactions.py:122
msgid "destination" msgid "destination"
msgstr "destination" msgstr "destination"
#: apps/note/admin.py:210 apps/note/models/transactions.py:60 #: apps/note/admin.py:220 apps/note/models/transactions.py:60
#: apps/note/models/transactions.py:140 #: apps/note/models/transactions.py:140
msgid "amount" msgid "amount"
msgstr "montant" msgstr "montant"
@ -1630,7 +1630,7 @@ msgstr "Ajouter en ami"
msgid "Add back" msgid "Add back"
msgstr "Ajouter" msgstr "Ajouter"
#: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:132 #: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:151
#: apps/wei/tables.py:49 apps/wei/tables.py:50 #: apps/wei/tables.py:49 apps/wei/tables.py:50
#: apps/wei/templates/wei/base.html:89 #: apps/wei/templates/wei/base.html:89
#: apps/wei/templates/wei/bus_detail.html:20 #: apps/wei/templates/wei/bus_detail.html:20
@ -1671,15 +1671,23 @@ msgstr "Consommer !"
msgid "Highlighted buttons" msgid "Highlighted buttons"
msgstr "Boutons mis en avant" msgstr "Boutons mis en avant"
#: apps/note/templates/note/conso_form.html:138 #: apps/note/templates/note/conso_form.html:108
msgid "Search"
msgstr "Recherche"
#: apps/note/templates/note/conso_form.html:133
msgid "Search button..."
msgstr "Chercher un bouton..."
#: apps/note/templates/note/conso_form.html:157
msgid "Single consumptions" msgid "Single consumptions"
msgstr "Consommations simples" msgstr "Consommations simples"
#: apps/note/templates/note/conso_form.html:143 #: apps/note/templates/note/conso_form.html:162
msgid "Double consumptions" msgid "Double consumptions"
msgstr "Consommations doubles" msgstr "Consommations doubles"
#: apps/note/templates/note/conso_form.html:154 #: apps/note/templates/note/conso_form.html:173
#: apps/note/templates/note/transaction_form.html:163 #: apps/note/templates/note/transaction_form.html:163
msgid "Recent transactions history" msgid "Recent transactions history"
msgstr "Historique des transactions récentes" msgstr "Historique des transactions récentes"
@ -1809,7 +1817,7 @@ msgstr "Consommations"
msgid "You can't see any button." msgid "You can't see any button."
msgstr "Vous ne pouvez pas voir le moindre bouton." msgstr "Vous ne pouvez pas voir le moindre bouton."
#: apps/note/views.py:200 #: apps/note/views.py:208
msgid "Search transactions" msgid "Search transactions"
msgstr "Rechercher des transactions" msgstr "Rechercher des transactions"
@ -2382,12 +2390,12 @@ msgid "Yes"
msgstr "Oui" msgstr "Oui"
#: apps/treasury/templates/treasury/invoice_confirm_delete.html:10 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:10
#: apps/treasury/views.py:180 #: apps/treasury/views.py:173
msgid "Delete invoice" msgid "Delete invoice"
msgstr "Supprimer la facture" msgstr "Supprimer la facture"
#: apps/treasury/templates/treasury/invoice_confirm_delete.html:15 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:15
#: apps/treasury/views.py:184 #: apps/treasury/views.py:177
msgid "This invoice is locked and can't be deleted." msgid "This invoice is locked and can't be deleted."
msgstr "Cette facture est verrouillée et ne peut pas être supprimée." msgstr "Cette facture est verrouillée et ne peut pas être supprimée."
@ -2567,36 +2575,36 @@ msgstr "Créer une nouvelle facture"
msgid "Invoices list" msgid "Invoices list"
msgstr "Liste des factures" msgstr "Liste des factures"
#: apps/treasury/views.py:112 apps/treasury/views.py:286 #: apps/treasury/views.py:105 apps/treasury/views.py:275
#: apps/treasury/views.py:412 #: apps/treasury/views.py:401
msgid "You are not able to see the treasury interface." msgid "You are not able to see the treasury interface."
msgstr "Vous n'êtes pas autorisé à voir l'interface de trésorerie." msgstr "Vous n'êtes pas autorisé à voir l'interface de trésorerie."
#: apps/treasury/views.py:122 #: apps/treasury/views.py:115
msgid "Update an invoice" msgid "Update an invoice"
msgstr "Modifier la facture" msgstr "Modifier la facture"
#: apps/treasury/views.py:247 #: apps/treasury/views.py:240
msgid "Create a new remittance" msgid "Create a new remittance"
msgstr "Créer une nouvelle remise" msgstr "Créer une nouvelle remise"
#: apps/treasury/views.py:274 #: apps/treasury/views.py:267
msgid "Remittances list" msgid "Remittances list"
msgstr "Liste des remises" msgstr "Liste des remises"
#: apps/treasury/views.py:337 #: apps/treasury/views.py:326
msgid "Update a remittance" msgid "Update a remittance"
msgstr "Modifier la remise" msgstr "Modifier la remise"
#: apps/treasury/views.py:360 #: apps/treasury/views.py:349
msgid "Attach a transaction to a remittance" msgid "Attach a transaction to a remittance"
msgstr "Joindre une transaction à une remise" msgstr "Joindre une transaction à une remise"
#: apps/treasury/views.py:404 #: apps/treasury/views.py:393
msgid "List of credits from the Société générale" msgid "List of credits from the Société générale"
msgstr "Liste des crédits de la Société générale" msgstr "Liste des crédits de la Société générale"
#: apps/treasury/views.py:449 #: apps/treasury/views.py:438
msgid "Manage credits from the Société générale" msgid "Manage credits from the Société générale"
msgstr "Gérer les crédits de la Société générale" msgstr "Gérer les crédits de la Société générale"