From ffac9405110cf63a03bc5b9ee738bffaf3f6c239 Mon Sep 17 00:00:00 2001 From: quark Date: Fri, 22 Mar 2024 18:22:08 +0100 Subject: [PATCH 1/8] changement template facture --- apps/registration/forms.py | 3 +- .../migrations/0008_auto_20240322_0045.py | 23 + apps/treasury/models.py | 12 +- .../templates/treasury/invoice_sample.tex | 18 +- locale/de/LC_MESSAGES/django.po | 495 +++++++++--------- locale/es/LC_MESSAGES/django.po | 495 +++++++++--------- locale/fr/LC_MESSAGES/django.po | 491 ++++++++--------- 7 files changed, 806 insertions(+), 731 deletions(-) create mode 100644 apps/treasury/migrations/0008_auto_20240322_0045.py diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 7021cf02..445d70a9 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -115,7 +115,7 @@ class ValidationForm(forms.Form): required=False, initial=True, ) - + ''' # If the bda exists if Club.objects.filter(name__iexact="bda").exists(): # The user can join the bda club at the inscription @@ -124,3 +124,4 @@ class ValidationForm(forms.Form): required=False, initial=True, ) + ''' diff --git a/apps/treasury/migrations/0008_auto_20240322_0045.py b/apps/treasury/migrations/0008_auto_20240322_0045.py new file mode 100644 index 00000000..2dadb693 --- /dev/null +++ b/apps/treasury/migrations/0008_auto_20240322_0045.py @@ -0,0 +1,23 @@ +# Generated by Django 2.2.28 on 2024-03-21 23:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('treasury', '0007_auto_20240311_1549'), + ] + + operations = [ + migrations.AddField( + model_name='invoice', + name='payment_date', + field=models.CharField(default='', max_length=255, verbose_name='Payment date'), + ), + migrations.AddField( + model_name='invoice', + name='quotation', + field=models.BooleanField(default=False, verbose_name='Quotation'), + ), + ] diff --git a/apps/treasury/models.py b/apps/treasury/models.py index 1c8e6a14..afd5a1ed 100644 --- a/apps/treasury/models.py +++ b/apps/treasury/models.py @@ -41,6 +41,10 @@ class Invoice(models.Model): ), verbose_name=_("BDE"), ) + quotation = models.BooleanField( + default=False, + verbose_name=_("Quotation"), + ) object = models.CharField( max_length=255, @@ -59,12 +63,18 @@ class Invoice(models.Model): address = models.TextField( verbose_name=_("Address"), ) - + date = models.DateField( default=date.today, verbose_name=_("Date"), ) + payment_date = models.CharField( + default="", + max_length=255, + verbose_name=_("Payment date"), + ) + acquitted = models.BooleanField( verbose_name=_("Acquitted"), default=False, diff --git a/apps/treasury/templates/treasury/invoice_sample.tex b/apps/treasury/templates/treasury/invoice_sample.tex index f34b7ad3..29db4cfb 100644 --- a/apps/treasury/templates/treasury/invoice_sample.tex +++ b/apps/treasury/templates/treasury/invoice_sample.tex @@ -76,8 +76,11 @@ \def\FactureNum {{"{"}}{{ obj.id }}} % Numéro de facture \def\FactureAcquittee {% if obj.acquitted %} {oui} {% else %} {non} {% endif %} % Facture acquittée : oui/non +\def\Devis {% if obj.quotation %} {oui} {% else %} {non} {% endif %} + % Devis : oui/non \def\FactureLieu {{"{"}}{{ obj.place|escape_tex }}} % Lieu de l'édition de la facture \def\FactureDate {{"{"}}{{ obj.date }}} % Date de l'édition de la facture +\def\FacturePaymentDate {{"{"}}{{ obj.payment_date|escape_tex }}} % Date de paiement de la facture \def\FactureObjet {{"{"}}{{ obj.object|escape_tex }} } % Objet du document % Description de la facture \def\FactureDescr {{"{"}}{{ obj.description|escape_tex }}} @@ -118,10 +121,12 @@ % Nom et adresse de la société \MonNom \\ \MonAdresseRue \\ -\MonAdresseVille - +\MonAdresseVille \\ +\ifthenelse{\equal{\Devis}{oui}}{ +Devis n°\FactureNum +}{ Facture n°\FactureNum - +} {\addtolength{\leftskip}{10.5cm} %in ERT \ClientNom \\ @@ -139,6 +144,7 @@ Facture n°\FactureNum \textnormal{\FactureDescr} + ~\\ \begin{center} @@ -154,6 +160,11 @@ Facture n°\FactureNum \ifthenelse{\equal{\FactureAcquittee}{oui}}{ Facture acquittée. }{ + Echéance de paiement : \FacturePaymentDate + + Conditions d'escompte : Aucune + + Taux de pénalité en cas de non paiement ou retard de paiement : 0 \% À régler par chèque ou par virement bancaire : @@ -176,5 +187,6 @@ Facture n°\FactureNum TVA non applicable, article 293 B du CGI. \end{center} + \end{document} {% endlanguage %} diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 4fa2bdac..9ce95379 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-25 19:12+0200\n" +"POT-Creation-Date: 2024-03-22 00:33+0100\n" "PO-Revision-Date: 2020-11-16 20:02+0000\n" "Last-Translator: bleizi \n" "Language-Team: German \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.3.2\n" -#: apps/activity/apps.py:10 apps/activity/models.py:151 +#: apps/activity/apps.py:10 apps/activity/models.py:127 #: apps/activity/models.py:167 msgid "activity" msgstr "Veranstaltung" @@ -27,38 +27,38 @@ msgstr "Veranstaltung" msgid "The note of this club is inactive." msgstr "" -#: apps/activity/forms.py:41 apps/activity/models.py:132 +#: apps/activity/forms.py:41 apps/activity/models.py:140 msgid "The end date must be after the start date." msgstr "Das Abschlussdatum muss nach das Anfangsdatum sein." -#: apps/activity/forms.py:82 apps/activity/models.py:270 +#: apps/activity/forms.py:82 apps/activity/models.py:269 msgid "You can't invite someone once the activity is started." msgstr "" "Sie dürfen nicht jemandem einladen wenn die Veranstaltung angefangen hat." -#: apps/activity/forms.py:85 apps/activity/models.py:273 +#: apps/activity/forms.py:85 apps/activity/models.py:272 msgid "This activity is not validated yet." msgstr "Diese Veranstaltung ist noch nicht bestätigt." -#: apps/activity/forms.py:95 apps/activity/models.py:281 +#: apps/activity/forms.py:95 apps/activity/models.py:280 msgid "This person has been already invited 5 times this year." msgstr "Diese Person wurde schon 5 mal dieses Jahr eingeladen." -#: apps/activity/forms.py:99 apps/activity/models.py:285 +#: apps/activity/forms.py:99 apps/activity/models.py:284 msgid "This person is already invited." msgstr "Diese Person wurde schon eingeladen." -#: apps/activity/forms.py:103 apps/activity/models.py:289 +#: apps/activity/forms.py:103 apps/activity/models.py:288 msgid "You can't invite more than 3 people to this activity." msgstr "Sie dürfen höchstens 3 Leute zu dieser Veranstaltung einladen." #: apps/activity/models.py:28 apps/activity/models.py:63 -#: apps/member/models.py:204 +#: apps/member/models.py:203 #: apps/member/templates/member/includes/club_info.html:4 #: apps/member/templates/member/includes/profile_info.html:4 #: apps/note/models/notes.py:263 apps/note/models/transactions.py:26 -#: apps/note/models/transactions.py:46 apps/note/models/transactions.py:301 -#: apps/permission/models.py:330 +#: apps/note/models/transactions.py:46 apps/note/models/transactions.py:299 +#: apps/permission/models.py:329 #: apps/registration/templates/registration/future_profile_detail.html:16 #: apps/wei/models.py:67 apps/wei/models.py:131 apps/wei/tables.py:282 #: apps/wei/templates/wei/base.html:26 @@ -94,8 +94,8 @@ msgstr "Vearnstaltungarte" #: apps/activity/models.py:68 #: apps/activity/templates/activity/includes/activity_info.html:19 -#: apps/note/models/transactions.py:81 apps/permission/models.py:110 -#: apps/permission/models.py:189 apps/wei/models.py:78 apps/wei/models.py:142 +#: apps/note/models/transactions.py:82 apps/permission/models.py:109 +#: apps/permission/models.py:188 apps/wei/models.py:78 apps/wei/models.py:142 msgid "description" msgstr "Beschreibung" @@ -109,14 +109,14 @@ msgstr "Wo findet die Veranstaltung statt ? (z.B Kfet)." #: apps/activity/models.py:83 #: apps/activity/templates/activity/includes/activity_info.html:22 -#: apps/note/models/notes.py:207 apps/note/models/transactions.py:66 -#: apps/permission/models.py:164 +#: apps/note/models/notes.py:207 apps/note/models/transactions.py:67 +#: apps/permission/models.py:163 msgid "type" msgstr "Type" -#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:312 -#: apps/note/models/notes.py:148 apps/treasury/models.py:287 -#: apps/wei/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13 +#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:313 +#: apps/note/models/notes.py:148 apps/treasury/models.py:293 +#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13 #: apps/wei/templates/wei/survey.html:15 msgid "user" msgstr "User" @@ -162,7 +162,7 @@ msgstr "gültig" msgid "open" msgstr "geöffnet" -#: apps/activity/models.py:152 +#: apps/activity/models.py:128 msgid "activities" msgstr "Veranstaltungen" @@ -226,11 +226,11 @@ msgstr "Vorname" msgid "inviter" msgstr "Einlader" -#: apps/activity/models.py:297 +#: apps/activity/models.py:256 msgid "guest" msgstr "Gast" -#: apps/activity/models.py:298 +#: apps/activity/models.py:257 msgid "guests" msgstr "Gäste" @@ -258,7 +258,7 @@ msgstr "Eingetreten um " msgid "remove" msgstr "entfernen" -#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:201 +#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:208 msgid "Type" msgstr "Type" @@ -294,7 +294,7 @@ msgid "Guest deleted" msgstr "Gastliste" #: apps/activity/templates/activity/activity_entry.html:14 -#: apps/note/models/transactions.py:257 +#: apps/note/models/transactions.py:261 #: apps/note/templates/note/transaction_form.html:17 #: apps/note/templates/note/transaction_form.html:152 #: note_kfet/templates/base.html:72 @@ -302,13 +302,13 @@ msgid "Transfer" msgstr "Überweisen" #: apps/activity/templates/activity/activity_entry.html:18 -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:324 #: apps/note/templates/note/transaction_form.html:22 msgid "Credit" msgstr "Kredit" #: apps/activity/templates/activity/activity_entry.html:21 -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:324 #: apps/note/templates/note/transaction_form.html:26 msgid "Debit" msgstr "Soll" @@ -447,7 +447,7 @@ msgstr "Logs" msgid "IP Address" msgstr "IP Adresse" -#: apps/logs/models.py:36 apps/permission/models.py:134 +#: apps/logs/models.py:36 apps/permission/models.py:133 msgid "model" msgstr "Model" @@ -468,7 +468,7 @@ msgid "create" msgstr "schaffen" #: apps/logs/models.py:65 apps/note/tables.py:230 apps/note/tables.py:277 -#: apps/permission/models.py:127 apps/treasury/tables.py:38 +#: apps/permission/models.py:126 apps/treasury/tables.py:38 #: apps/wei/tables.py:74 msgid "delete" msgstr "entfernen" @@ -482,37 +482,37 @@ msgid "timestamp" msgstr "Zeitstempel" #: apps/logs/models.py:80 -msgid "Logs cannot be destroyed." -msgstr "Logs können nicht entfernen sein." - -#: apps/logs/models.py:83 msgid "changelog" msgstr "Changelog" -#: apps/logs/models.py:84 +#: apps/logs/models.py:81 msgid "changelogs" msgstr "Changelogs" -#: apps/logs/models.py:87 +#: apps/logs/models.py:84 #, python-brace-format msgid "Changelog of type \"{action}\" for model {model} at {timestamp}" msgstr "Changelog \"{action}\" für Model {model} an {timestamp}" -#: apps/member/admin.py:50 apps/member/models.py:231 +#: apps/logs/models.py:88 +msgid "Logs cannot be destroyed." +msgstr "Logs können nicht entfernen sein." + +#: apps/member/admin.py:50 apps/member/models.py:232 #: apps/member/templates/member/includes/club_info.html:34 msgid "membership fee (paid students)" msgstr "Mitgliedschaftpreis (bezahlte Studenten)" -#: apps/member/admin.py:51 apps/member/models.py:236 +#: apps/member/admin.py:51 apps/member/models.py:237 #: apps/member/templates/member/includes/club_info.html:37 msgid "membership fee (unpaid students)" msgstr "Mitgliedschaftpreis (unbezahlte Studenten)" -#: apps/member/admin.py:65 apps/member/models.py:324 +#: apps/member/admin.py:65 apps/member/models.py:325 msgid "roles" msgstr "Rollen" -#: apps/member/admin.py:66 apps/member/models.py:338 +#: apps/member/admin.py:66 apps/member/models.py:339 msgid "fee" msgstr "Preis" @@ -629,132 +629,132 @@ msgstr "" msgid "hash" msgstr "" -#: apps/member/models.py:38 +#: apps/member/models.py:37 #: apps/member/templates/member/includes/profile_info.html:43 #: apps/registration/templates/registration/future_profile_detail.html:40 #: apps/wei/templates/wei/weimembership_form.html:44 msgid "phone number" msgstr "Telefonnummer" -#: apps/member/models.py:45 +#: apps/member/models.py:44 #: apps/member/templates/member/includes/profile_info.html:37 #: apps/registration/templates/registration/future_profile_detail.html:34 #: apps/wei/templates/wei/weimembership_form.html:38 msgid "section" msgstr "Section" -#: apps/member/models.py:46 +#: apps/member/models.py:45 msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" msgstr "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" -#: apps/member/models.py:54 apps/wei/templates/wei/attribute_bus_1A.html:25 +#: apps/member/models.py:53 apps/wei/templates/wei/attribute_bus_1A.html:25 #: apps/wei/templates/wei/weimembership_form.html:32 msgid "department" msgstr "Fachabteilung" -#: apps/member/models.py:56 +#: apps/member/models.py:55 msgid "Informatics (A0)" msgstr "Informatik (A0)" -#: apps/member/models.py:57 +#: apps/member/models.py:56 msgid "Mathematics (A1)" msgstr "Mathematik (A1)" -#: apps/member/models.py:58 +#: apps/member/models.py:57 msgid "Physics (A2)" msgstr "Physik (A2)" -#: apps/member/models.py:59 +#: apps/member/models.py:58 msgid "Applied physics (A'2)" msgstr "Angewandte Physik (A'2)" -#: apps/member/models.py:60 +#: apps/member/models.py:59 msgid "Chemistry (A''2)" msgstr "Chemie (A''2)" -#: apps/member/models.py:61 +#: apps/member/models.py:60 msgid "Biology (A3)" msgstr "Biologie (A3)" -#: apps/member/models.py:62 +#: apps/member/models.py:61 msgid "SAPHIRE (B1234)" msgstr "SAPHIRE (B1234)" -#: apps/member/models.py:63 +#: apps/member/models.py:62 msgid "Mechanics (B1)" msgstr "Mechanik (B1)" -#: apps/member/models.py:64 +#: apps/member/models.py:63 msgid "Civil engineering (B2)" msgstr "Bauingenieur (B2)" -#: apps/member/models.py:65 +#: apps/member/models.py:64 msgid "Mechanical engineering (B3)" msgstr "Mechanikingenieur (B3)" -#: apps/member/models.py:66 +#: apps/member/models.py:65 msgid "EEA (B4)" msgstr "Electrotechnik (B4)" -#: apps/member/models.py:67 +#: apps/member/models.py:66 msgid "Design (C)" msgstr "Design (C)" -#: apps/member/models.py:68 +#: apps/member/models.py:67 msgid "Economy-management (D2)" msgstr "Wirtschaftingenieure (D2)" -#: apps/member/models.py:69 +#: apps/member/models.py:68 msgid "Social sciences (D3)" msgstr "Sozialwissenschaften (D3)" -#: apps/member/models.py:70 +#: apps/member/models.py:69 msgid "English (E)" msgstr "English (E)" -#: apps/member/models.py:71 +#: apps/member/models.py:70 msgid "External (EXT)" msgstr "Extern (EXT)" -#: apps/member/models.py:78 +#: apps/member/models.py:77 msgid "promotion" msgstr "Promotion" -#: apps/member/models.py:79 +#: apps/member/models.py:78 msgid "Year of entry to the school (None if not ENS student)" msgstr "ENS Eintrittjahr (None wenn kein ENS Student)" -#: apps/member/models.py:83 +#: apps/member/models.py:82 #: apps/member/templates/member/includes/profile_info.html:47 #: apps/registration/templates/registration/future_profile_detail.html:37 #: apps/wei/templates/wei/weimembership_form.html:41 msgid "address" msgstr "Adresse" -#: apps/member/models.py:90 +#: apps/member/models.py:89 #: apps/member/templates/member/includes/profile_info.html:50 #: apps/registration/templates/registration/future_profile_detail.html:43 #: apps/wei/templates/wei/weimembership_form.html:47 msgid "paid" msgstr "bezahlt" -#: apps/member/models.py:91 +#: apps/member/models.py:90 msgid "Tells if the user receive a salary." msgstr "User ist bezahlt." -#: apps/member/models.py:100 apps/treasury/tables.py:143 +#: apps/member/models.py:99 apps/treasury/tables.py:143 msgid "No" msgstr "Nein" -#: apps/member/models.py:101 +#: apps/member/models.py:100 msgid "Yes (receive them in french)" msgstr "Ja (auf Fränzosich)" -#: apps/member/models.py:102 +#: apps/member/models.py:101 msgid "Yes (receive them in english)" msgstr "Ja (auf English)" -#: apps/member/models.py:104 +#: apps/member/models.py:103 msgid "" "Register on the mailing list to stay informed of the events of the campus (1 " "mail/week)" @@ -762,7 +762,7 @@ msgstr "" "Melden Sie sich auf der Mailingliste an, um über die Ereignisse des Campus " "informiert zu bleiben (1 Mail / Woche)" -#: apps/member/models.py:109 +#: apps/member/models.py:108 msgid "" "Register on the mailing list to stay informed of the sport events of the " "campus (1 mail/week)" @@ -770,7 +770,7 @@ msgstr "" "Melden Sie sich auf der Mailingliste an, um über die Sportereignisse des " "Campus informiert zu bleiben (1 Mail / Woche)" -#: apps/member/models.py:114 +#: apps/member/models.py:113 msgid "" "Register on the mailing list to stay informed of the art events of the " "campus (1 mail/week)" @@ -778,31 +778,31 @@ msgstr "" "Melden Sie sich auf der Mailingliste an, um über die Kunstereignisse des " "Campus informiert zu bleiben (1 Mail / Woche)" -#: apps/member/models.py:118 +#: apps/member/models.py:117 msgid "report frequency (in days)" msgstr "Bericht Frequenz (Tagen)" -#: apps/member/models.py:123 +#: apps/member/models.py:122 msgid "last report date" msgstr "letzen Bericht Datum" -#: apps/member/models.py:128 +#: apps/member/models.py:127 msgid "email confirmed" msgstr "email bestätigt" -#: apps/member/models.py:133 +#: apps/member/models.py:132 msgid "registration valid" msgstr "Anmeldung gültig" -#: apps/member/models.py:138 +#: apps/member/models.py:137 msgid "VSS charter read" msgstr "VSS-Charta gelesen" -#: apps/member/models.py:167 apps/member/models.py:168 +#: apps/member/models.py:142 apps/member/models.py:143 msgid "user profile" msgstr "Userprofile" -#: apps/member/models.py:178 +#: apps/member/models.py:177 msgid "Activate your Note Kfet account" msgstr "Ihre Note Kfet Konto bestätigen" @@ -815,90 +815,90 @@ msgstr "Ihre Note Kfet Konto bestätigen" msgid "email" msgstr "Email" -#: apps/member/models.py:216 +#: apps/member/models.py:217 msgid "parent club" msgstr "Urclub" -#: apps/member/models.py:225 +#: apps/member/models.py:226 msgid "require memberships" msgstr "erfordern Mitgliedschaft" -#: apps/member/models.py:226 +#: apps/member/models.py:227 msgid "Uncheck if this club don't require memberships." msgstr "" "Deaktivieren Sie diese Option, wenn für diesen Club keine Mitgliedschaft " "erforderlich ist." -#: apps/member/models.py:242 +#: apps/member/models.py:243 #: apps/member/templates/member/includes/club_info.html:26 msgid "membership duration" msgstr "Mitgliedscahftzeit" -#: apps/member/models.py:243 +#: apps/member/models.py:244 msgid "The longest time (in days) a membership can last (NULL = infinite)." msgstr "Wie lang am höchsten eine Mitgliedschaft dauern kann." -#: apps/member/models.py:250 +#: apps/member/models.py:251 #: apps/member/templates/member/includes/club_info.html:16 msgid "membership start" msgstr "Mitgliedschaftanfangsdatum" -#: apps/member/models.py:251 +#: apps/member/models.py:252 msgid "Date from which the members can renew their membership." msgstr "Ab wann kann man sein Mitgliedschaft erneuern." -#: apps/member/models.py:257 +#: apps/member/models.py:258 #: apps/member/templates/member/includes/club_info.html:21 msgid "membership end" msgstr "Mitgliedschaftenddatum" -#: apps/member/models.py:258 +#: apps/member/models.py:259 msgid "Maximal date of a membership, after which members must renew it." msgstr "" "Maximales Datum einer Mitgliedschaft, nach dem Mitglieder es erneuern müssen." -#: apps/member/models.py:293 apps/member/models.py:318 +#: apps/member/models.py:263 apps/member/models.py:319 #: apps/note/models/notes.py:176 msgid "club" msgstr "Club" -#: apps/member/models.py:294 +#: apps/member/models.py:264 msgid "clubs" msgstr "Clubs" -#: apps/member/models.py:329 +#: apps/member/models.py:330 msgid "membership starts on" msgstr "Mitgliedschaft fängt an" -#: apps/member/models.py:333 +#: apps/member/models.py:334 msgid "membership ends on" msgstr "Mitgliedschaft endet am" -#: apps/member/models.py:435 -#, python-brace-format -msgid "The role {role} does not apply to the club {club}." -msgstr "Die Rolle {role} ist nicht erlaubt für das Club {club}." +#: apps/member/models.py:343 apps/note/models/transactions.py:385 +msgid "membership" +msgstr "Mitgliedschaft" -#: apps/member/models.py:444 apps/member/views.py:712 -msgid "User is already a member of the club" -msgstr "User ist schon ein Mitglied dieser club" +#: apps/member/models.py:344 +msgid "memberships" +msgstr "Mitgliedschaften" -#: apps/member/models.py:456 apps/member/views.py:721 -msgid "User is not a member of the parent club" -msgstr "User ist noch nicht Mitglied des Urclubs" - -#: apps/member/models.py:509 +#: apps/member/models.py:348 #, python-brace-format msgid "Membership of {user} for the club {club}" msgstr "Mitgliedschaft von {user} für das Club {club}" -#: apps/member/models.py:512 apps/note/models/transactions.py:389 -msgid "membership" -msgstr "Mitgliedschaft" +#: apps/member/models.py:367 +#, python-brace-format +msgid "The role {role} does not apply to the club {club}." +msgstr "Die Rolle {role} ist nicht erlaubt für das Club {club}." -#: apps/member/models.py:513 -msgid "memberships" -msgstr "Mitgliedschaften" +#: apps/member/models.py:376 apps/member/views.py:712 +msgid "User is already a member of the club" +msgstr "User ist schon ein Mitglied dieser club" + +#: apps/member/models.py:388 apps/member/views.py:721 +msgid "User is not a member of the parent club" +msgstr "User ist noch nicht Mitglied des Urclubs" #: apps/member/tables.py:139 msgid "Renew" @@ -1307,7 +1307,7 @@ msgid "This friendship already exists" msgstr "Dieser Kredit ist bereits validiert." #: apps/note/api/serializers.py:198 apps/note/api/serializers.py:204 -#: apps/note/models/transactions.py:228 +#: apps/note/models/transactions.py:190 msgid "" "The transaction can't be saved since the source note or the destination note " "is not active." @@ -1462,18 +1462,18 @@ msgstr "Unerlaublt Alias" msgid "alias" msgstr "Alias" -#: apps/note/models/notes.py:310 +#: apps/note/models/notes.py:315 msgid "Alias is too long." msgstr "Alias ist zu lang." -#: apps/note/models/notes.py:313 +#: apps/note/models/notes.py:318 msgid "" "This alias contains only complex character. Please use a more simple alias." msgstr "" "Dieser Alias enthält nur komplexe Zeichen. Bitte verwenden Sie einen " "einfacheren Alias." -#: apps/note/models/notes.py:317 +#: apps/note/models/notes.py:322 msgid "An alias with a similar name already exists: {} " msgstr "Ein Alias mit einem ähnlichen Namen existiert bereits: {} " @@ -1493,19 +1493,19 @@ msgstr "Transaktionkategorien" msgid "A template with this name already exist" msgstr "Eine Vorlage mit diesem Namen ist bereits vorhanden" -#: apps/note/models/transactions.py:72 +#: apps/note/models/transactions.py:73 msgid "display" msgstr "Schauen" -#: apps/note/models/transactions.py:77 +#: apps/note/models/transactions.py:78 msgid "highlighted" msgstr "hervorgehoben" -#: apps/note/models/transactions.py:87 +#: apps/note/models/transactions.py:88 msgid "transaction template" msgstr "Transaktionsvorlage" -#: apps/note/models/transactions.py:88 +#: apps/note/models/transactions.py:89 msgid "transaction templates" msgstr "Transaktionsvorlagen" @@ -1535,7 +1535,7 @@ msgstr "Transaktion" msgid "transactions" msgstr "Transaktionen" -#: apps/note/models/transactions.py:186 +#: apps/note/models/transactions.py:230 #, python-brace-format msgid "" "You can't update the {field} on a Transaction. Please invalidate it and " @@ -1544,7 +1544,7 @@ msgstr "" "Sie können das {field} einer Transaktion nicht aktualisieren. Bitte machen " "Sie es ungültig und erstellen Sie eine andere." -#: apps/note/models/transactions.py:206 +#: apps/note/models/transactions.py:250 msgid "" "The note balances must be between - 92 233 720 368 547 758.08 € and 92 233 " "720 368 547 758.07 €." @@ -1552,34 +1552,42 @@ msgstr "" "Die Notenguthaben müssen zwischen - 92 233 720 368 547 758,08 € und 92 233 " "720 368 547 758,07 € liegen." -#: apps/note/models/transactions.py:277 +#: apps/note/models/transactions.py:274 +msgid "recurrent transaction" +msgstr "wiederkehrende Transaktion" + +#: apps/note/models/transactions.py:275 +msgid "recurrent transactions" +msgstr "wiederkehrende Transaktionen" + +#: apps/note/models/transactions.py:285 msgid "" "The destination of this transaction must equal to the destination of the " "template." msgstr "" "Der Empfänger dieser Transaktion muss dem Empfänger der Vorlage entsprechen." -#: apps/note/models/transactions.py:287 +#: apps/note/models/transactions.py:290 msgid "Template" msgstr "Vorlage" -#: apps/note/models/transactions.py:290 -msgid "recurrent transaction" -msgstr "wiederkehrende Transaktion" - -#: apps/note/models/transactions.py:291 -msgid "recurrent transactions" -msgstr "wiederkehrende Transaktionen" - -#: apps/note/models/transactions.py:306 +#: apps/note/models/transactions.py:304 msgid "first_name" msgstr "Vorname" -#: apps/note/models/transactions.py:311 +#: apps/note/models/transactions.py:309 msgid "bank" msgstr "Bank" -#: apps/note/models/transactions.py:328 +#: apps/note/models/transactions.py:314 +msgid "Special transaction" +msgstr "Sondertransaktion" + +#: apps/note/models/transactions.py:315 +msgid "Special transactions" +msgstr "Sondertranskationen" + +#: apps/note/models/transactions.py:335 msgid "" "A special transaction is only possible between a Note associated to a " "payment method and a User or a Club" @@ -1587,25 +1595,17 @@ msgstr "" "Eine Sondertransaktion ist nur zwischen einer Note, die einer " "Zahlungsmethode zugeordnet ist, und einem User oder einem Club möglich" -#: apps/note/models/transactions.py:355 apps/note/models/transactions.py:358 -#: apps/note/models/transactions.py:361 apps/wei/views.py:978 +#: apps/note/models/transactions.py:357 apps/note/models/transactions.py:360 +#: apps/note/models/transactions.py:363 apps/wei/views.py:978 #: apps/wei/views.py:982 msgid "This field is required." msgstr "Dies ist ein Pflichtfeld." -#: apps/note/models/transactions.py:367 -msgid "Special transaction" -msgstr "Sondertransaktion" - -#: apps/note/models/transactions.py:368 -msgid "Special transactions" -msgstr "Sondertranskationen" - -#: apps/note/models/transactions.py:384 +#: apps/note/models/transactions.py:380 msgid "membership transaction" msgstr "Mitgliedschafttransaktion" -#: apps/note/models/transactions.py:385 apps/treasury/models.py:294 +#: apps/note/models/transactions.py:381 apps/treasury/models.py:300 msgid "membership transactions" msgstr "Mitgliedschaftttransaktionen" @@ -1746,7 +1746,7 @@ msgid "Amount" msgstr "Anzahl" #: apps/note/templates/note/transaction_form.html:132 -#: apps/treasury/models.py:56 +#: apps/treasury/models.py:60 msgid "Name" msgstr "Name" @@ -1838,57 +1838,57 @@ msgstr "Verbräuche" msgid "You can't see any button." msgstr "Sie können keine Taste sehen." -#: apps/note/views.py:208 +#: apps/note/views.py:204 msgid "Search transactions" msgstr "Transaktion finden" -#: apps/permission/models.py:89 +#: apps/permission/models.py:31 #, python-brace-format msgid "Can {type} {model}.{field} in {query}" msgstr "Kann {type} {model}.{field} in {query}" -#: apps/permission/models.py:91 +#: apps/permission/models.py:33 #, python-brace-format msgid "Can {type} {model} in {query}" msgstr "Kann {type} {model} in {query}" -#: apps/permission/models.py:104 +#: apps/permission/models.py:103 msgid "rank" msgstr "Rank" -#: apps/permission/models.py:117 +#: apps/permission/models.py:113 msgid "permission mask" msgstr "Berechtigungsmaske" -#: apps/permission/models.py:118 +#: apps/permission/models.py:114 msgid "permission masks" msgstr "Berechtigungsmasken" -#: apps/permission/models.py:124 +#: apps/permission/models.py:123 msgid "add" msgstr "hinzufügen" -#: apps/permission/models.py:125 +#: apps/permission/models.py:124 msgid "view" msgstr "Schauen" -#: apps/permission/models.py:126 +#: apps/permission/models.py:125 msgid "change" msgstr "bearbeiten" -#: apps/permission/models.py:158 +#: apps/permission/models.py:157 msgid "query" msgstr "Abfrage" -#: apps/permission/models.py:171 +#: apps/permission/models.py:170 msgid "mask" msgstr "Maske" -#: apps/permission/models.py:177 +#: apps/permission/models.py:176 msgid "field" msgstr "Feld" -#: apps/permission/models.py:182 +#: apps/permission/models.py:181 msgid "" "Tells if the permission should be granted even if the membership of the user " "is expired." @@ -1896,28 +1896,28 @@ msgstr "" "Gibt an, ob die Berechtigung auch erteilt werden soll, wenn die " "Mitgliedschaft des Benutzers abgelaufen ist." -#: apps/permission/models.py:183 +#: apps/permission/models.py:182 #: apps/permission/templates/permission/all_rights.html:89 msgid "permanent" msgstr "permanent" -#: apps/permission/models.py:194 +#: apps/permission/models.py:193 msgid "permission" msgstr "Berechtigung" -#: apps/permission/models.py:195 apps/permission/models.py:335 +#: apps/permission/models.py:194 apps/permission/models.py:334 msgid "permissions" msgstr "Berechtigungen" -#: apps/permission/models.py:200 +#: apps/permission/models.py:207 msgid "Specifying field applies only to view and change permission types." msgstr "Angabefeld gilt nur zum Anzeigen und Ändern von Berechtigungstypen." -#: apps/permission/models.py:340 +#: apps/permission/models.py:339 msgid "for club" msgstr "Für Club" -#: apps/permission/models.py:351 apps/permission/models.py:352 +#: apps/permission/models.py:347 apps/permission/models.py:348 msgid "role permissions" msgstr "Berechtigung Rollen" @@ -2064,10 +2064,6 @@ msgstr "BDE Mitglieder werden" msgid "Join Kfet Club" msgstr "Kfet Mitglieder werden" -#: apps/registration/forms.py:123 -msgid "Join BDA Club" -msgstr "BDA Mitglieder werden" - #: apps/registration/templates/registration/email_validation_complete.html:15 msgid "Your email have successfully been validated." msgstr "Ihre E-Mail wurde erfolgreich validiert." @@ -2230,7 +2226,7 @@ msgstr "Ungültige Vorregistrierung" msgid "Treasury" msgstr "Quaestor" -#: apps/treasury/forms.py:26 apps/treasury/models.py:95 +#: apps/treasury/forms.py:26 apps/treasury/models.py:112 #: apps/treasury/templates/treasury/invoice_form.html:22 msgid "This invoice is locked and can no longer be edited." msgstr "Diese Rechnung ist gesperrt und kann nicht mehr bearbeitet werden." @@ -2243,7 +2239,7 @@ msgstr "Überweisung ist bereits geschlossen." msgid "You can't change the type of the remittance." msgstr "Sie können die Art der Überweisung nicht ändern." -#: apps/treasury/forms.py:125 apps/treasury/models.py:269 +#: apps/treasury/forms.py:125 apps/treasury/models.py:275 #: apps/treasury/tables.py:97 apps/treasury/tables.py:105 #: apps/treasury/templates/treasury/invoice_list.html:16 #: apps/treasury/templates/treasury/remittance_list.html:16 @@ -2255,7 +2251,7 @@ msgstr "Überweisung" msgid "No attached remittance" msgstr "Keine beigefügte Überweisung" -#: apps/treasury/models.py:26 +#: apps/treasury/models.py:25 msgid "Invoice identifier" msgstr "Rechnungskennung" @@ -2263,112 +2259,138 @@ msgstr "Rechnungskennung" msgid "BDE" msgstr "BDE" -#: apps/treasury/models.py:47 +#: apps/treasury/models.py:46 +#, fuzzy +#| msgid "location" +msgid "Quotation" +msgstr "Ort" + +#: apps/treasury/models.py:51 msgid "Object" msgstr "Objekt" -#: apps/treasury/models.py:51 +#: apps/treasury/models.py:55 msgid "Description" msgstr "Beschreibung" -#: apps/treasury/models.py:60 +#: apps/treasury/models.py:64 msgid "Address" msgstr "Adresse" -#: apps/treasury/models.py:65 apps/treasury/models.py:195 +#: apps/treasury/models.py:69 apps/treasury/models.py:202 msgid "Date" msgstr "Datum" -#: apps/treasury/models.py:69 +#: apps/treasury/models.py:75 +#, fuzzy +#| msgid "end date" +msgid "Payment date" +msgstr "Abschlussdatum" + +#: apps/treasury/models.py:79 msgid "Acquitted" msgstr "Bezahlt" -#: apps/treasury/models.py:74 +#: apps/treasury/models.py:84 msgid "Locked" msgstr "Gesperrt" -#: apps/treasury/models.py:75 +#: apps/treasury/models.py:85 msgid "An invoice can't be edited when it is locked." msgstr "Eine Rechnung kann nicht bearbeitet werden, wenn sie gesperrt ist." -#: apps/treasury/models.py:81 +#: apps/treasury/models.py:91 msgid "tex source" msgstr "Tex Quelle" -#: apps/treasury/models.py:115 apps/treasury/models.py:131 +#: apps/treasury/models.py:95 apps/treasury/models.py:140 msgid "invoice" msgstr "Rechnung" -#: apps/treasury/models.py:116 +#: apps/treasury/models.py:96 msgid "invoices" msgstr "Rechnungen" -#: apps/treasury/models.py:119 +#: apps/treasury/models.py:99 #, python-brace-format msgid "Invoice #{id}" msgstr "Rechnung #{id}" -#: apps/treasury/models.py:136 +#: apps/treasury/models.py:145 msgid "Designation" msgstr "Bezeichnung" -#: apps/treasury/models.py:142 +#: apps/treasury/models.py:151 msgid "Quantity" msgstr "Qualität" -#: apps/treasury/models.py:147 +#: apps/treasury/models.py:156 msgid "Unit price" msgstr "Einzelpreis" -#: apps/treasury/models.py:163 +#: apps/treasury/models.py:160 msgid "product" msgstr "Produkt" -#: apps/treasury/models.py:164 +#: apps/treasury/models.py:161 msgid "products" msgstr "Produkten" -#: apps/treasury/models.py:184 +#: apps/treasury/models.py:189 msgid "remittance type" msgstr "Überweisungstyp" -#: apps/treasury/models.py:185 +#: apps/treasury/models.py:190 msgid "remittance types" msgstr "Überweisungstypen" -#: apps/treasury/models.py:206 +#: apps/treasury/models.py:213 msgid "Comment" msgstr "Kommentar" -#: apps/treasury/models.py:211 +#: apps/treasury/models.py:218 msgid "Closed" msgstr "Geschlossen" -#: apps/treasury/models.py:215 +#: apps/treasury/models.py:222 msgid "remittance" msgstr "Überweisung" -#: apps/treasury/models.py:216 +#: apps/treasury/models.py:223 msgid "remittances" msgstr "Überweisungen" -#: apps/treasury/models.py:249 +#: apps/treasury/models.py:226 msgid "Remittance #{:d}: {}" msgstr "Überweisung #{:d}:{}" -#: apps/treasury/models.py:273 +#: apps/treasury/models.py:279 msgid "special transaction proxy" msgstr "spezielle Transaktion Proxy" -#: apps/treasury/models.py:274 +#: apps/treasury/models.py:280 msgid "special transaction proxies" msgstr "spezielle Transaktion Proxies" -#: apps/treasury/models.py:300 +#: apps/treasury/models.py:306 msgid "credit transaction" msgstr "Kredit Transaktion" -#: apps/treasury/models.py:432 +#: apps/treasury/models.py:311 +#: apps/treasury/templates/treasury/sogecredit_detail.html:10 +msgid "Credit from the Société générale" +msgstr "Kredit von der Société générale" + +#: apps/treasury/models.py:312 +msgid "Credits from the Société générale" +msgstr "Krediten von der Société générale" + +#: apps/treasury/models.py:315 +#, python-brace-format +msgid "Soge credit for {user}" +msgstr "Kredit von der Société générale für {user}" + +#: apps/treasury/models.py:445 msgid "" "This user doesn't have enough money to pay the memberships with its note. " "Please ask her/him to credit the note before invalidating this credit." @@ -2376,20 +2398,6 @@ msgstr "" "Dieser Benutzer hat nicht genug Geld, um die Mitgliedschaften mit seiner " "Note zu bezahlen." -#: apps/treasury/models.py:452 -#: apps/treasury/templates/treasury/sogecredit_detail.html:10 -msgid "Credit from the Société générale" -msgstr "Kredit von der Société générale" - -#: apps/treasury/models.py:453 -msgid "Credits from the Société générale" -msgstr "Krediten von der Société générale" - -#: apps/treasury/models.py:456 -#, python-brace-format -msgid "Soge credit for {user}" -msgstr "Kredit von der Société générale für {user}" - #: apps/treasury/tables.py:20 msgid "Invoice #{:d}" msgstr "Rechnung #{:d}" @@ -2638,8 +2646,8 @@ msgstr "Kreditliste von 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" -#: apps/wei/apps.py:10 apps/wei/models.py:50 apps/wei/models.py:51 -#: apps/wei/models.py:62 apps/wei/models.py:180 +#: apps/wei/apps.py:10 apps/wei/models.py:37 apps/wei/models.py:38 +#: apps/wei/models.py:62 apps/wei/models.py:178 #: note_kfet/templates/base.html:102 msgid "WEI" msgstr "WEI" @@ -2649,7 +2657,7 @@ msgid "The selected user is not validated. Please validate its account first" msgstr "" #: apps/wei/forms/registration.py:59 apps/wei/models.py:126 -#: apps/wei/models.py:326 +#: apps/wei/models.py:324 msgid "bus" msgstr "Bus" @@ -2675,7 +2683,7 @@ msgstr "" "Buschef, freies Elektron)" #: apps/wei/forms/registration.py:75 apps/wei/forms/registration.py:85 -#: apps/wei/models.py:161 +#: apps/wei/models.py:160 msgid "WEI Roles" msgstr "WEI Rollen" @@ -2717,11 +2725,11 @@ msgstr "Umfrage Infos" msgid "Information about the survey for new members, encoded in JSON" msgstr "Informationen zur Umfrage für neue Mitglieder, codiert in JSON" -#: apps/wei/models.py:113 +#: apps/wei/models.py:88 msgid "Bus" msgstr "Bus" -#: apps/wei/models.py:114 apps/wei/templates/wei/weiclub_detail.html:51 +#: apps/wei/models.py:89 apps/wei/templates/wei/weiclub_detail.html:51 msgid "Buses" msgstr "Buses" @@ -2733,89 +2741,89 @@ msgstr "Farbe" msgid "The color of the T-Shirt, stored with its number equivalent" msgstr "Die Farbe des T-Shirts, gespeichert mit der entsprechenden Nummer" -#: apps/wei/models.py:150 +#: apps/wei/models.py:147 msgid "Bus team" msgstr "Bus Team" -#: apps/wei/models.py:151 +#: apps/wei/models.py:148 msgid "Bus teams" msgstr "Bus Teams" -#: apps/wei/models.py:160 +#: apps/wei/models.py:159 msgid "WEI Role" msgstr "WEI Rolle" -#: apps/wei/models.py:185 +#: apps/wei/models.py:183 msgid "Credit from Société générale" msgstr "Kredit von der Société générale" -#: apps/wei/models.py:190 +#: apps/wei/models.py:188 msgid "Caution check given" msgstr "Caution check given" -#: apps/wei/models.py:194 apps/wei/templates/wei/weimembership_form.html:64 +#: apps/wei/models.py:192 apps/wei/templates/wei/weimembership_form.html:64 msgid "birth date" msgstr "Geburtsdatum" -#: apps/wei/models.py:200 apps/wei/models.py:210 +#: apps/wei/models.py:198 apps/wei/models.py:208 msgid "Male" msgstr "Männlich" -#: apps/wei/models.py:201 apps/wei/models.py:211 +#: apps/wei/models.py:199 apps/wei/models.py:209 msgid "Female" msgstr "Weiblich" -#: apps/wei/models.py:202 +#: apps/wei/models.py:200 msgid "Non binary" msgstr "Nicht binär" -#: apps/wei/models.py:204 apps/wei/templates/wei/attribute_bus_1A.html:22 +#: apps/wei/models.py:202 apps/wei/templates/wei/attribute_bus_1A.html:22 #: apps/wei/templates/wei/weimembership_form.html:55 msgid "gender" msgstr "Geschlecht" -#: apps/wei/models.py:212 +#: apps/wei/models.py:210 msgid "Unisex" msgstr "Unisex" -#: apps/wei/models.py:215 apps/wei/templates/wei/weimembership_form.html:58 +#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58 msgid "clothing cut" msgstr "Kleidung Schnitt" -#: apps/wei/models.py:228 apps/wei/templates/wei/weimembership_form.html:61 +#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61 msgid "clothing size" msgstr "Kleidergröße" -#: apps/wei/models.py:234 apps/wei/templates/wei/attribute_bus_1A.html:28 +#: apps/wei/models.py:232 apps/wei/templates/wei/attribute_bus_1A.html:28 #: apps/wei/templates/wei/weimembership_form.html:67 msgid "health issues" msgstr "Gesundheitsprobleme" -#: apps/wei/models.py:239 apps/wei/templates/wei/weimembership_form.html:70 +#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70 msgid "emergency contact name" msgstr "Notfall-Kontakt" -#: apps/wei/models.py:240 +#: apps/wei/models.py:238 msgid "The emergency contact must not be a WEI participant" msgstr "Der Notfallkontakt darf kein WEI-Teilnehmer sein" -#: apps/wei/models.py:245 apps/wei/templates/wei/weimembership_form.html:73 +#: apps/wei/models.py:243 apps/wei/templates/wei/weimembership_form.html:73 msgid "emergency contact phone" msgstr "Notfallkontakttelefon" -#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:52 +#: apps/wei/models.py:248 apps/wei/templates/wei/weimembership_form.html:52 msgid "first year" msgstr "Erste Jahr" -#: apps/wei/models.py:251 +#: apps/wei/models.py:249 msgid "Tells if the user is new in the school." msgstr "Gibt an, ob der USer neu in der Schule ist." -#: apps/wei/models.py:256 +#: apps/wei/models.py:254 msgid "registration information" msgstr "Registrierung Detailen" -#: apps/wei/models.py:257 +#: apps/wei/models.py:255 msgid "" "Information about the registration (buses for old members, survey for the " "new members), encoded in JSON" @@ -2823,27 +2831,27 @@ msgstr "" "Informationen zur Registrierung (Busse für alte Mitglieder, Umfrage für neue " "Mitglieder), verschlüsselt in JSON" -#: apps/wei/models.py:315 +#: apps/wei/models.py:261 msgid "WEI User" msgstr "WEI User" -#: apps/wei/models.py:316 +#: apps/wei/models.py:262 msgid "WEI Users" msgstr "WEI Users" -#: apps/wei/models.py:336 +#: apps/wei/models.py:334 msgid "team" msgstr "Team" -#: apps/wei/models.py:346 +#: apps/wei/models.py:344 msgid "WEI registration" msgstr "WEI Registrierung" -#: apps/wei/models.py:350 +#: apps/wei/models.py:348 msgid "WEI membership" msgstr "WEI Mitgliedschaft" -#: apps/wei/models.py:351 +#: apps/wei/models.py:349 msgid "WEI memberships" msgstr "WEI Mitgliedschaften" @@ -3667,6 +3675,9 @@ msgstr "" "müssen Ihre E-Mail-Adresse auch überprüfen, indem Sie dem Link folgen, den " "Sie erhalten haben." +#~ msgid "Join BDA Club" +#~ msgstr "BDA Mitglieder werden" + #, fuzzy #~| msgid "You already opened an account in the Société générale." #~ msgid "" diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index fe8e4950..a5482763 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-25 19:12+0200\n" +"POT-Creation-Date: 2024-03-22 00:33+0100\n" "PO-Revision-Date: 2022-04-11 23:12+0200\n" "Last-Translator: bleizi \n" "Language-Team: \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" -#: apps/activity/apps.py:10 apps/activity/models.py:151 +#: apps/activity/apps.py:10 apps/activity/models.py:127 #: apps/activity/models.py:167 msgid "activity" msgstr "actividad" @@ -27,37 +27,37 @@ msgstr "actividad" msgid "The note of this club is inactive." msgstr "La note del club está inactiva." -#: apps/activity/forms.py:41 apps/activity/models.py:132 +#: apps/activity/forms.py:41 apps/activity/models.py:140 msgid "The end date must be after the start date." msgstr "La fecha final tiene que ser después de la fecha de inicio." -#: apps/activity/forms.py:82 apps/activity/models.py:270 +#: apps/activity/forms.py:82 apps/activity/models.py:269 msgid "You can't invite someone once the activity is started." msgstr "No se puede invitar a alguien una vez que arrancó la actividad." -#: apps/activity/forms.py:85 apps/activity/models.py:273 +#: apps/activity/forms.py:85 apps/activity/models.py:272 msgid "This activity is not validated yet." msgstr "Esta actividad no fue validada por ahora." -#: apps/activity/forms.py:95 apps/activity/models.py:281 +#: apps/activity/forms.py:95 apps/activity/models.py:280 msgid "This person has been already invited 5 times this year." msgstr "Esta persona ya fue invitada 5 veces este año." -#: apps/activity/forms.py:99 apps/activity/models.py:285 +#: apps/activity/forms.py:99 apps/activity/models.py:284 msgid "This person is already invited." msgstr "Esta persona ya está invitada." -#: apps/activity/forms.py:103 apps/activity/models.py:289 +#: apps/activity/forms.py:103 apps/activity/models.py:288 msgid "You can't invite more than 3 people to this activity." msgstr "Usted no puede invitar más de 3 persona a esta actividad." #: apps/activity/models.py:28 apps/activity/models.py:63 -#: apps/member/models.py:204 +#: apps/member/models.py:203 #: apps/member/templates/member/includes/club_info.html:4 #: apps/member/templates/member/includes/profile_info.html:4 #: apps/note/models/notes.py:263 apps/note/models/transactions.py:26 -#: apps/note/models/transactions.py:46 apps/note/models/transactions.py:301 -#: apps/permission/models.py:330 +#: apps/note/models/transactions.py:46 apps/note/models/transactions.py:299 +#: apps/permission/models.py:329 #: apps/registration/templates/registration/future_profile_detail.html:16 #: apps/wei/models.py:67 apps/wei/models.py:131 apps/wei/tables.py:282 #: apps/wei/templates/wei/base.html:26 @@ -93,8 +93,8 @@ msgstr "tipos de actividad" #: apps/activity/models.py:68 #: apps/activity/templates/activity/includes/activity_info.html:19 -#: apps/note/models/transactions.py:81 apps/permission/models.py:110 -#: apps/permission/models.py:189 apps/wei/models.py:78 apps/wei/models.py:142 +#: apps/note/models/transactions.py:82 apps/permission/models.py:109 +#: apps/permission/models.py:188 apps/wei/models.py:78 apps/wei/models.py:142 msgid "description" msgstr "descripción" @@ -108,14 +108,14 @@ msgstr "Lugar donde se organiza la actividad, por ejemplo la Kfet." #: apps/activity/models.py:83 #: apps/activity/templates/activity/includes/activity_info.html:22 -#: apps/note/models/notes.py:207 apps/note/models/transactions.py:66 -#: apps/permission/models.py:164 +#: apps/note/models/notes.py:207 apps/note/models/transactions.py:67 +#: apps/permission/models.py:163 msgid "type" msgstr "tipo" -#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:312 -#: apps/note/models/notes.py:148 apps/treasury/models.py:287 -#: apps/wei/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13 +#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:313 +#: apps/note/models/notes.py:148 apps/treasury/models.py:293 +#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13 #: apps/wei/templates/wei/survey.html:15 msgid "user" msgstr "usuario" @@ -161,7 +161,7 @@ msgstr "válido" msgid "open" msgstr "abierto" -#: apps/activity/models.py:152 +#: apps/activity/models.py:128 msgid "activities" msgstr "actividades" @@ -225,11 +225,11 @@ msgstr "nombre" msgid "inviter" msgstr "huésped" -#: apps/activity/models.py:297 +#: apps/activity/models.py:256 msgid "guest" msgstr "invitado" -#: apps/activity/models.py:298 +#: apps/activity/models.py:257 msgid "guests" msgstr "invitados" @@ -257,7 +257,7 @@ msgstr "Entrado el " msgid "remove" msgstr "quitar" -#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:201 +#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:208 msgid "Type" msgstr "Tipo" @@ -291,7 +291,7 @@ msgid "Guest deleted" msgstr "Invitados suprimidos" #: apps/activity/templates/activity/activity_entry.html:14 -#: apps/note/models/transactions.py:257 +#: apps/note/models/transactions.py:261 #: apps/note/templates/note/transaction_form.html:17 #: apps/note/templates/note/transaction_form.html:152 #: note_kfet/templates/base.html:72 @@ -299,13 +299,13 @@ msgid "Transfer" msgstr "Transferencia" #: apps/activity/templates/activity/activity_entry.html:18 -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:324 #: apps/note/templates/note/transaction_form.html:22 msgid "Credit" msgstr "Crédito" #: apps/activity/templates/activity/activity_entry.html:21 -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:324 #: apps/note/templates/note/transaction_form.html:26 msgid "Debit" msgstr "Débito" @@ -444,7 +444,7 @@ msgstr "Logs" msgid "IP Address" msgstr "Dirección IP" -#: apps/logs/models.py:36 apps/permission/models.py:134 +#: apps/logs/models.py:36 apps/permission/models.py:133 msgid "model" msgstr "modelo" @@ -465,7 +465,7 @@ msgid "create" msgstr "crear" #: apps/logs/models.py:65 apps/note/tables.py:230 apps/note/tables.py:277 -#: apps/permission/models.py:127 apps/treasury/tables.py:38 +#: apps/permission/models.py:126 apps/treasury/tables.py:38 #: apps/wei/tables.py:74 msgid "delete" msgstr "suprimir" @@ -479,37 +479,37 @@ msgid "timestamp" msgstr "fecha" #: apps/logs/models.py:80 -msgid "Logs cannot be destroyed." -msgstr "No se puede suprimir los logs." - -#: apps/logs/models.py:83 msgid "changelog" msgstr "diario de cambio" -#: apps/logs/models.py:84 +#: apps/logs/models.py:81 msgid "changelogs" msgstr "diario de cambios" -#: apps/logs/models.py:87 +#: apps/logs/models.py:84 #, python-brace-format msgid "Changelog of type \"{action}\" for model {model} at {timestamp}" msgstr "" -#: apps/member/admin.py:50 apps/member/models.py:231 +#: apps/logs/models.py:88 +msgid "Logs cannot be destroyed." +msgstr "No se puede suprimir los logs." + +#: apps/member/admin.py:50 apps/member/models.py:232 #: apps/member/templates/member/includes/club_info.html:34 msgid "membership fee (paid students)" msgstr "pago de afiliación (estudiantes pagados)" -#: apps/member/admin.py:51 apps/member/models.py:236 +#: apps/member/admin.py:51 apps/member/models.py:237 #: apps/member/templates/member/includes/club_info.html:37 msgid "membership fee (unpaid students)" msgstr "pago de afiliación (estudiantes no pagados)" -#: apps/member/admin.py:65 apps/member/models.py:324 +#: apps/member/admin.py:65 apps/member/models.py:325 msgid "roles" msgstr "papel" -#: apps/member/admin.py:66 apps/member/models.py:338 +#: apps/member/admin.py:66 apps/member/models.py:339 msgid "fee" msgstr "pago" @@ -623,132 +623,132 @@ msgstr "sal" msgid "hash" msgstr "hash" -#: apps/member/models.py:38 +#: apps/member/models.py:37 #: apps/member/templates/member/includes/profile_info.html:43 #: apps/registration/templates/registration/future_profile_detail.html:40 #: apps/wei/templates/wei/weimembership_form.html:44 msgid "phone number" msgstr "número de teléfono" -#: apps/member/models.py:45 +#: apps/member/models.py:44 #: apps/member/templates/member/includes/profile_info.html:37 #: apps/registration/templates/registration/future_profile_detail.html:34 #: apps/wei/templates/wei/weimembership_form.html:38 msgid "section" msgstr "sección" -#: apps/member/models.py:46 +#: apps/member/models.py:45 msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" msgstr "i.e. \"1A0\", \"9A♥\", \"SAPHIRE\"" -#: apps/member/models.py:54 apps/wei/templates/wei/attribute_bus_1A.html:25 +#: apps/member/models.py:53 apps/wei/templates/wei/attribute_bus_1A.html:25 #: apps/wei/templates/wei/weimembership_form.html:32 msgid "department" msgstr "departamento" -#: apps/member/models.py:56 +#: apps/member/models.py:55 msgid "Informatics (A0)" msgstr "Informática (A0)" -#: apps/member/models.py:57 +#: apps/member/models.py:56 msgid "Mathematics (A1)" msgstr "Matemáticas (A1)" -#: apps/member/models.py:58 +#: apps/member/models.py:57 msgid "Physics (A2)" msgstr "Física (A2)" -#: apps/member/models.py:59 +#: apps/member/models.py:58 msgid "Applied physics (A'2)" msgstr "Física aplicada (A'2)" -#: apps/member/models.py:60 +#: apps/member/models.py:59 msgid "Chemistry (A''2)" msgstr "Química (A''2)" -#: apps/member/models.py:61 +#: apps/member/models.py:60 msgid "Biology (A3)" msgstr "Biología (A3)" -#: apps/member/models.py:62 +#: apps/member/models.py:61 msgid "SAPHIRE (B1234)" msgstr "SAPHIRE (B1234)" -#: apps/member/models.py:63 +#: apps/member/models.py:62 msgid "Mechanics (B1)" msgstr "Mecánica (B1)" -#: apps/member/models.py:64 +#: apps/member/models.py:63 msgid "Civil engineering (B2)" msgstr "Ingeniería civil (B2)" -#: apps/member/models.py:65 +#: apps/member/models.py:64 msgid "Mechanical engineering (B3)" msgstr "Ingeniería mecánica (B3)" -#: apps/member/models.py:66 +#: apps/member/models.py:65 msgid "EEA (B4)" msgstr "EEA (B4)" -#: apps/member/models.py:67 +#: apps/member/models.py:66 msgid "Design (C)" msgstr "Design (C)" -#: apps/member/models.py:68 +#: apps/member/models.py:67 msgid "Economy-management (D2)" msgstr "Economía-gestión (D2)" -#: apps/member/models.py:69 +#: apps/member/models.py:68 msgid "Social sciences (D3)" msgstr "Ciencias sociales (D3)" -#: apps/member/models.py:70 +#: apps/member/models.py:69 msgid "English (E)" msgstr "Inglés (E)" -#: apps/member/models.py:71 +#: apps/member/models.py:70 msgid "External (EXT)" msgstr "Extern@ (EXT)" -#: apps/member/models.py:78 +#: apps/member/models.py:77 msgid "promotion" msgstr "promoción" -#: apps/member/models.py:79 +#: apps/member/models.py:78 msgid "Year of entry to the school (None if not ENS student)" msgstr "Año de ingreso en la escuela (None si no un alumn@ ENS)" -#: apps/member/models.py:83 +#: apps/member/models.py:82 #: apps/member/templates/member/includes/profile_info.html:47 #: apps/registration/templates/registration/future_profile_detail.html:37 #: apps/wei/templates/wei/weimembership_form.html:41 msgid "address" msgstr "dirección" -#: apps/member/models.py:90 +#: apps/member/models.py:89 #: apps/member/templates/member/includes/profile_info.html:50 #: apps/registration/templates/registration/future_profile_detail.html:43 #: apps/wei/templates/wei/weimembership_form.html:47 msgid "paid" msgstr "pagado" -#: apps/member/models.py:91 +#: apps/member/models.py:90 msgid "Tells if the user receive a salary." msgstr "Indica si el usuario percibe un salario." -#: apps/member/models.py:100 apps/treasury/tables.py:143 +#: apps/member/models.py:99 apps/treasury/tables.py:143 msgid "No" msgstr "No" -#: apps/member/models.py:101 +#: apps/member/models.py:100 msgid "Yes (receive them in french)" msgstr "Si (recibirles en francés)" -#: apps/member/models.py:102 +#: apps/member/models.py:101 msgid "Yes (receive them in english)" msgstr "Si (recibirles en inglés)" -#: apps/member/models.py:104 +#: apps/member/models.py:103 msgid "" "Register on the mailing list to stay informed of the events of the campus (1 " "mail/week)" @@ -756,7 +756,7 @@ msgstr "" "Registrar el la lista de difusión de correo electrónico para quedarse " "informado de los eventos del campus (1 correo por semana)" -#: apps/member/models.py:109 +#: apps/member/models.py:108 msgid "" "Register on the mailing list to stay informed of the sport events of the " "campus (1 mail/week)" @@ -764,7 +764,7 @@ msgstr "" "Registrar el la lista de difusión de correo electrónico para quedarse " "informado de los eventos deportivos del campus (1 correo por semana)" -#: apps/member/models.py:114 +#: apps/member/models.py:113 msgid "" "Register on the mailing list to stay informed of the art events of the " "campus (1 mail/week)" @@ -772,31 +772,31 @@ msgstr "" "Registrar el la lista de difusión de correo electrónico para quedarse " "informado de los eventos artísticos del campus (1 correo por semana)" -#: apps/member/models.py:118 +#: apps/member/models.py:117 msgid "report frequency (in days)" msgstr "frecuencia de los informes (en días)" -#: apps/member/models.py:123 +#: apps/member/models.py:122 msgid "last report date" msgstr "fecha del último informe" -#: apps/member/models.py:128 +#: apps/member/models.py:127 msgid "email confirmed" msgstr "correo electrónico confirmado" -#: apps/member/models.py:133 +#: apps/member/models.py:132 msgid "registration valid" msgstr "registración valida" -#: apps/member/models.py:138 +#: apps/member/models.py:137 msgid "VSS charter read" msgstr "Carta VSS leída" -#: apps/member/models.py:167 apps/member/models.py:168 +#: apps/member/models.py:142 apps/member/models.py:143 msgid "user profile" msgstr "perfil usuario" -#: apps/member/models.py:178 +#: apps/member/models.py:177 msgid "Activate your Note Kfet account" msgstr "Active su cuenta Note Kfet" @@ -809,89 +809,89 @@ msgstr "Active su cuenta Note Kfet" msgid "email" msgstr "correo electrónico" -#: apps/member/models.py:216 +#: apps/member/models.py:217 msgid "parent club" msgstr "club pariente" -#: apps/member/models.py:225 +#: apps/member/models.py:226 msgid "require memberships" msgstr "necesita afiliaciones" -#: apps/member/models.py:226 +#: apps/member/models.py:227 msgid "Uncheck if this club don't require memberships." msgstr "Desmarcar si este club no usa afiliaciones." -#: apps/member/models.py:242 +#: apps/member/models.py:243 #: apps/member/templates/member/includes/club_info.html:26 msgid "membership duration" msgstr "duración de la afiliación" -#: apps/member/models.py:243 +#: apps/member/models.py:244 msgid "The longest time (in days) a membership can last (NULL = infinite)." msgstr "La duración máxima (en días) de una afiliación (NULL = infinito)." -#: apps/member/models.py:250 +#: apps/member/models.py:251 #: apps/member/templates/member/includes/club_info.html:16 msgid "membership start" msgstr "inicio de la afiliación" -#: apps/member/models.py:251 +#: apps/member/models.py:252 msgid "Date from which the members can renew their membership." msgstr "Fecha a partir de la cual los miembros pueden prorrogar su afiliación." -#: apps/member/models.py:257 +#: apps/member/models.py:258 #: apps/member/templates/member/includes/club_info.html:21 msgid "membership end" msgstr "fin de la afiliación" -#: apps/member/models.py:258 +#: apps/member/models.py:259 msgid "Maximal date of a membership, after which members must renew it." msgstr "" "Ultima fecha de una afiliación, después de la cual los miembros tienen que " "prorrogarla." -#: apps/member/models.py:293 apps/member/models.py:318 +#: apps/member/models.py:263 apps/member/models.py:319 #: apps/note/models/notes.py:176 msgid "club" msgstr "club" -#: apps/member/models.py:294 +#: apps/member/models.py:264 msgid "clubs" msgstr "clubs" -#: apps/member/models.py:329 +#: apps/member/models.py:330 msgid "membership starts on" msgstr "afiliación empezá el" -#: apps/member/models.py:333 +#: apps/member/models.py:334 msgid "membership ends on" msgstr "afiliación termina el" -#: apps/member/models.py:435 -#, python-brace-format -msgid "The role {role} does not apply to the club {club}." -msgstr "El papel {role} no se encuentra en el club {club}." +#: apps/member/models.py:343 apps/note/models/transactions.py:385 +msgid "membership" +msgstr "afiliación" -#: apps/member/models.py:444 apps/member/views.py:712 -msgid "User is already a member of the club" -msgstr "Usuario ya esta un miembro del club" +#: apps/member/models.py:344 +msgid "memberships" +msgstr "afiliaciones" -#: apps/member/models.py:456 apps/member/views.py:721 -msgid "User is not a member of the parent club" -msgstr "Usuario no es un miembro del club pariente" - -#: apps/member/models.py:509 +#: apps/member/models.py:348 #, python-brace-format msgid "Membership of {user} for the club {club}" msgstr "Afiliación of {user} for the club {club}" -#: apps/member/models.py:512 apps/note/models/transactions.py:389 -msgid "membership" -msgstr "afiliación" +#: apps/member/models.py:367 +#, python-brace-format +msgid "The role {role} does not apply to the club {club}." +msgstr "El papel {role} no se encuentra en el club {club}." -#: apps/member/models.py:513 -msgid "memberships" -msgstr "afiliaciones" +#: apps/member/models.py:376 apps/member/views.py:712 +msgid "User is already a member of the club" +msgstr "Usuario ya esta un miembro del club" + +#: apps/member/models.py:388 apps/member/views.py:721 +msgid "User is not a member of the parent club" +msgstr "Usuario no es un miembro del club pariente" #: apps/member/tables.py:139 msgid "Renew" @@ -1293,7 +1293,7 @@ msgid "This friendship already exists" msgstr "Este crédito ya fue validado." #: apps/note/api/serializers.py:198 apps/note/api/serializers.py:204 -#: apps/note/models/transactions.py:228 +#: apps/note/models/transactions.py:190 msgid "" "The transaction can't be saved since the source note or the destination note " "is not active." @@ -1449,18 +1449,18 @@ msgstr "Alias inválido" msgid "alias" msgstr "alias" -#: apps/note/models/notes.py:310 +#: apps/note/models/notes.py:315 msgid "Alias is too long." msgstr "El alias es demasiado largo." -#: apps/note/models/notes.py:313 +#: apps/note/models/notes.py:318 msgid "" "This alias contains only complex character. Please use a more simple alias." msgstr "" "Este alias solo contiene caracteres complejos. Por favor usa un alias más " "sencillo." -#: apps/note/models/notes.py:317 +#: apps/note/models/notes.py:322 msgid "An alias with a similar name already exists: {} " msgstr "Un alias parecido ya existe : {} " @@ -1480,19 +1480,19 @@ msgstr "tipos de transacción" msgid "A template with this name already exist" msgstr "Un plantilla de transacción con un nombre similar ya existe" -#: apps/note/models/transactions.py:72 +#: apps/note/models/transactions.py:73 msgid "display" msgstr "mostrar" -#: apps/note/models/transactions.py:77 +#: apps/note/models/transactions.py:78 msgid "highlighted" msgstr "resaltar" -#: apps/note/models/transactions.py:87 +#: apps/note/models/transactions.py:88 msgid "transaction template" msgstr "plantilla de transacción" -#: apps/note/models/transactions.py:88 +#: apps/note/models/transactions.py:89 msgid "transaction templates" msgstr "plantillas de transacción" @@ -1522,7 +1522,7 @@ msgstr "transacción" msgid "transactions" msgstr "transacciones" -#: apps/note/models/transactions.py:186 +#: apps/note/models/transactions.py:230 #, python-brace-format msgid "" "You can't update the {field} on a Transaction. Please invalidate it and " @@ -1531,7 +1531,7 @@ msgstr "" "No se puede cambiar el {field} de una transacción. Por favor invalide esta y " "cree una nueva." -#: apps/note/models/transactions.py:206 +#: apps/note/models/transactions.py:250 msgid "" "The note balances must be between - 92 233 720 368 547 758.08 € and 92 233 " "720 368 547 758.07 €." @@ -1539,33 +1539,41 @@ msgstr "" "El saldo de la note tiene que ser entre - 92 233 720 368 547 758.08 € y 92 " "233 720 368 547 758.07 €." -#: apps/note/models/transactions.py:277 +#: apps/note/models/transactions.py:274 +msgid "recurrent transaction" +msgstr "" + +#: apps/note/models/transactions.py:275 +msgid "recurrent transactions" +msgstr "" + +#: apps/note/models/transactions.py:285 msgid "" "The destination of this transaction must equal to the destination of the " "template." msgstr "" -#: apps/note/models/transactions.py:287 +#: apps/note/models/transactions.py:290 msgid "Template" msgstr "" -#: apps/note/models/transactions.py:290 -msgid "recurrent transaction" -msgstr "" - -#: apps/note/models/transactions.py:291 -msgid "recurrent transactions" -msgstr "" - -#: apps/note/models/transactions.py:306 +#: apps/note/models/transactions.py:304 msgid "first_name" msgstr "nombre" -#: apps/note/models/transactions.py:311 +#: apps/note/models/transactions.py:309 msgid "bank" msgstr "banco" -#: apps/note/models/transactions.py:328 +#: apps/note/models/transactions.py:314 +msgid "Special transaction" +msgstr "Transacción especial" + +#: apps/note/models/transactions.py:315 +msgid "Special transactions" +msgstr "Transacciones especiales" + +#: apps/note/models/transactions.py:335 msgid "" "A special transaction is only possible between a Note associated to a " "payment method and a User or a Club" @@ -1573,25 +1581,17 @@ msgstr "" "Una transacción especial solo esta disponible entre una note de un modo de " "pago y un usuario o un club" -#: apps/note/models/transactions.py:355 apps/note/models/transactions.py:358 -#: apps/note/models/transactions.py:361 apps/wei/views.py:978 +#: apps/note/models/transactions.py:357 apps/note/models/transactions.py:360 +#: apps/note/models/transactions.py:363 apps/wei/views.py:978 #: apps/wei/views.py:982 msgid "This field is required." msgstr "Este campo es obligatorio." -#: apps/note/models/transactions.py:367 -msgid "Special transaction" -msgstr "Transacción especial" - -#: apps/note/models/transactions.py:368 -msgid "Special transactions" -msgstr "Transacciones especiales" - -#: apps/note/models/transactions.py:384 +#: apps/note/models/transactions.py:380 msgid "membership transaction" msgstr "transacción de afiliación" -#: apps/note/models/transactions.py:385 apps/treasury/models.py:294 +#: apps/note/models/transactions.py:381 apps/treasury/models.py:300 msgid "membership transactions" msgstr "transacciones de afiliación" @@ -1730,7 +1730,7 @@ msgid "Amount" msgstr "Monto" #: apps/note/templates/note/transaction_form.html:132 -#: apps/treasury/models.py:56 +#: apps/treasury/models.py:60 msgid "Name" msgstr "Nombre" @@ -1818,57 +1818,57 @@ msgstr "Consumiciones" msgid "You can't see any button." msgstr "Usted no puede ver ningún botón." -#: apps/note/views.py:208 +#: apps/note/views.py:204 msgid "Search transactions" msgstr "Buscar transacciones" -#: apps/permission/models.py:89 +#: apps/permission/models.py:31 #, python-brace-format msgid "Can {type} {model}.{field} in {query}" msgstr "" -#: apps/permission/models.py:91 +#: apps/permission/models.py:33 #, python-brace-format msgid "Can {type} {model} in {query}" msgstr "" -#: apps/permission/models.py:104 +#: apps/permission/models.py:103 msgid "rank" msgstr "posición" -#: apps/permission/models.py:117 +#: apps/permission/models.py:113 msgid "permission mask" msgstr "antifaz de permisos" -#: apps/permission/models.py:118 +#: apps/permission/models.py:114 msgid "permission masks" msgstr "antifaces de permisos" -#: apps/permission/models.py:124 +#: apps/permission/models.py:123 msgid "add" msgstr "añadir" -#: apps/permission/models.py:125 +#: apps/permission/models.py:124 msgid "view" msgstr "ver" -#: apps/permission/models.py:126 +#: apps/permission/models.py:125 msgid "change" msgstr "cambiar" -#: apps/permission/models.py:158 +#: apps/permission/models.py:157 msgid "query" msgstr "consulta" -#: apps/permission/models.py:171 +#: apps/permission/models.py:170 msgid "mask" msgstr "antifaz" -#: apps/permission/models.py:177 +#: apps/permission/models.py:176 msgid "field" msgstr "campo" -#: apps/permission/models.py:182 +#: apps/permission/models.py:181 msgid "" "Tells if the permission should be granted even if the membership of the user " "is expired." @@ -1876,30 +1876,30 @@ msgstr "" "Indica si el permiso tiene que ser dado aunque la afiliación del usuario " "terminó." -#: apps/permission/models.py:183 +#: apps/permission/models.py:182 #: apps/permission/templates/permission/all_rights.html:89 msgid "permanent" msgstr "permanente" -#: apps/permission/models.py:194 +#: apps/permission/models.py:193 msgid "permission" msgstr "permiso" -#: apps/permission/models.py:195 apps/permission/models.py:335 +#: apps/permission/models.py:194 apps/permission/models.py:334 msgid "permissions" msgstr "permisos" -#: apps/permission/models.py:200 +#: apps/permission/models.py:207 msgid "Specifying field applies only to view and change permission types." msgstr "" "Especifica el campo interesado, solo funciona para los permisos view y " "change." -#: apps/permission/models.py:340 +#: apps/permission/models.py:339 msgid "for club" msgstr "interesa el club" -#: apps/permission/models.py:351 apps/permission/models.py:352 +#: apps/permission/models.py:347 apps/permission/models.py:348 msgid "role permissions" msgstr "permisos por papeles" @@ -2041,10 +2041,6 @@ msgstr "Afiliarse al club BDE" msgid "Join Kfet Club" msgstr "Afiliarse al club Kfet" -#: apps/registration/forms.py:123 -msgid "Join BDA Club" -msgstr "Afiliarse al club BDA" - #: apps/registration/templates/registration/email_validation_complete.html:15 msgid "Your email have successfully been validated." msgstr "Su correo electrónico fue validado con éxito." @@ -2205,7 +2201,7 @@ msgstr "Invalidar la afiliación" msgid "Treasury" msgstr "Tesorería" -#: apps/treasury/forms.py:26 apps/treasury/models.py:95 +#: apps/treasury/forms.py:26 apps/treasury/models.py:112 #: apps/treasury/templates/treasury/invoice_form.html:22 msgid "This invoice is locked and can no longer be edited." msgstr "Esta factura esta bloqueada y no puede ser modificada." @@ -2218,7 +2214,7 @@ msgstr "El descuento ya esta cerrado." msgid "You can't change the type of the remittance." msgstr "No puede cambiar el tipo de descuento." -#: apps/treasury/forms.py:125 apps/treasury/models.py:269 +#: apps/treasury/forms.py:125 apps/treasury/models.py:275 #: apps/treasury/tables.py:97 apps/treasury/tables.py:105 #: apps/treasury/templates/treasury/invoice_list.html:16 #: apps/treasury/templates/treasury/remittance_list.html:16 @@ -2230,7 +2226,7 @@ msgstr "Descuento" msgid "No attached remittance" msgstr "No hay descuento relacionado" -#: apps/treasury/models.py:26 +#: apps/treasury/models.py:25 msgid "Invoice identifier" msgstr "Numero de factura" @@ -2238,112 +2234,138 @@ msgstr "Numero de factura" msgid "BDE" msgstr "BDE" -#: apps/treasury/models.py:47 +#: apps/treasury/models.py:46 +#, fuzzy +#| msgid "location" +msgid "Quotation" +msgstr "ubicación" + +#: apps/treasury/models.py:51 msgid "Object" msgstr "Asunto" -#: apps/treasury/models.py:51 +#: apps/treasury/models.py:55 msgid "Description" msgstr "Descripción" -#: apps/treasury/models.py:60 +#: apps/treasury/models.py:64 msgid "Address" msgstr "Dirección" -#: apps/treasury/models.py:65 apps/treasury/models.py:195 +#: apps/treasury/models.py:69 apps/treasury/models.py:202 msgid "Date" msgstr "Fecha" -#: apps/treasury/models.py:69 +#: apps/treasury/models.py:75 +#, fuzzy +#| msgid "end date" +msgid "Payment date" +msgstr "fecha de fin" + +#: apps/treasury/models.py:79 msgid "Acquitted" msgstr "Pagada" -#: apps/treasury/models.py:74 +#: apps/treasury/models.py:84 msgid "Locked" msgstr "Bloqueada" -#: apps/treasury/models.py:75 +#: apps/treasury/models.py:85 msgid "An invoice can't be edited when it is locked." msgstr "Une factura no puede ser modificada cuando esta bloqueada." -#: apps/treasury/models.py:81 +#: apps/treasury/models.py:91 msgid "tex source" msgstr "código fuente TeX" -#: apps/treasury/models.py:115 apps/treasury/models.py:131 +#: apps/treasury/models.py:95 apps/treasury/models.py:140 msgid "invoice" msgstr "factura" -#: apps/treasury/models.py:116 +#: apps/treasury/models.py:96 msgid "invoices" msgstr "facturas" -#: apps/treasury/models.py:119 +#: apps/treasury/models.py:99 #, python-brace-format msgid "Invoice #{id}" msgstr "Factura n°{id}" -#: apps/treasury/models.py:136 +#: apps/treasury/models.py:145 msgid "Designation" msgstr "Designación" -#: apps/treasury/models.py:142 +#: apps/treasury/models.py:151 msgid "Quantity" msgstr "Cantidad" -#: apps/treasury/models.py:147 +#: apps/treasury/models.py:156 msgid "Unit price" msgstr "Precio unitario" -#: apps/treasury/models.py:163 +#: apps/treasury/models.py:160 msgid "product" msgstr "producto" -#: apps/treasury/models.py:164 +#: apps/treasury/models.py:161 msgid "products" msgstr "productos" -#: apps/treasury/models.py:184 +#: apps/treasury/models.py:189 msgid "remittance type" msgstr "tipo de descuento" -#: apps/treasury/models.py:185 +#: apps/treasury/models.py:190 msgid "remittance types" msgstr "tipos de descuentos" -#: apps/treasury/models.py:206 +#: apps/treasury/models.py:213 msgid "Comment" msgstr "Comentario" -#: apps/treasury/models.py:211 +#: apps/treasury/models.py:218 msgid "Closed" msgstr "Cerrada" -#: apps/treasury/models.py:215 +#: apps/treasury/models.py:222 msgid "remittance" msgstr "descuento" -#: apps/treasury/models.py:216 +#: apps/treasury/models.py:223 msgid "remittances" msgstr "descuentos" -#: apps/treasury/models.py:249 +#: apps/treasury/models.py:226 msgid "Remittance #{:d}: {}" msgstr "Descuento n°{:d} : {}" -#: apps/treasury/models.py:273 +#: apps/treasury/models.py:279 msgid "special transaction proxy" msgstr "proxy de transacción especial" -#: apps/treasury/models.py:274 +#: apps/treasury/models.py:280 msgid "special transaction proxies" msgstr "proxys de transacciones especiales" -#: apps/treasury/models.py:300 +#: apps/treasury/models.py:306 msgid "credit transaction" msgstr "transacción de crédito" -#: apps/treasury/models.py:432 +#: apps/treasury/models.py:311 +#: apps/treasury/templates/treasury/sogecredit_detail.html:10 +msgid "Credit from the Société générale" +msgstr "Crédito de la Société Générale" + +#: apps/treasury/models.py:312 +msgid "Credits from the Société générale" +msgstr "Créditos de la Société Générale" + +#: apps/treasury/models.py:315 +#, python-brace-format +msgid "Soge credit for {user}" +msgstr "Crédito de la Société Générale para {user}" + +#: apps/treasury/models.py:445 msgid "" "This user doesn't have enough money to pay the memberships with its note. " "Please ask her/him to credit the note before invalidating this credit." @@ -2352,20 +2374,6 @@ msgstr "" "afiliaciones. Por favor pídelo acreditar su note antes de invalidar este " "crédito." -#: apps/treasury/models.py:452 -#: apps/treasury/templates/treasury/sogecredit_detail.html:10 -msgid "Credit from the Société générale" -msgstr "Crédito de la Société Générale" - -#: apps/treasury/models.py:453 -msgid "Credits from the Société générale" -msgstr "Créditos de la Société Générale" - -#: apps/treasury/models.py:456 -#, python-brace-format -msgid "Soge credit for {user}" -msgstr "Crédito de la Société Générale para {user}" - #: apps/treasury/tables.py:20 msgid "Invoice #{:d}" msgstr "Factura n°{:d}" @@ -2604,8 +2612,8 @@ msgstr "Lista de los créditos de la 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" -#: apps/wei/apps.py:10 apps/wei/models.py:50 apps/wei/models.py:51 -#: apps/wei/models.py:62 apps/wei/models.py:180 +#: apps/wei/apps.py:10 apps/wei/models.py:37 apps/wei/models.py:38 +#: apps/wei/models.py:62 apps/wei/models.py:178 #: note_kfet/templates/base.html:102 msgid "WEI" msgstr "WEI" @@ -2616,7 +2624,7 @@ msgstr "" "El usuario seleccionado no ha sido validado. Validar esta cuenta primero" #: apps/wei/forms/registration.py:59 apps/wei/models.py:126 -#: apps/wei/models.py:326 +#: apps/wei/models.py:324 msgid "bus" msgstr "bus" @@ -2642,7 +2650,7 @@ msgstr "" "electrón libre)" #: apps/wei/forms/registration.py:75 apps/wei/forms/registration.py:85 -#: apps/wei/models.py:161 +#: apps/wei/models.py:160 msgid "WEI Roles" msgstr "Papeles en el WEI" @@ -2684,11 +2692,11 @@ msgstr "" "Informaciones sobre el cuestionario para los nuevos miembros, registrado en " "JSON" -#: apps/wei/models.py:113 +#: apps/wei/models.py:88 msgid "Bus" msgstr "Bus" -#: apps/wei/models.py:114 apps/wei/templates/wei/weiclub_detail.html:51 +#: apps/wei/models.py:89 apps/wei/templates/wei/weiclub_detail.html:51 msgid "Buses" msgstr "Bus" @@ -2700,89 +2708,89 @@ msgstr "color" msgid "The color of the T-Shirt, stored with its number equivalent" msgstr "El color de la camiseta, registrado con su número equivalente" -#: apps/wei/models.py:150 +#: apps/wei/models.py:147 msgid "Bus team" msgstr "Equipo de bus" -#: apps/wei/models.py:151 +#: apps/wei/models.py:148 msgid "Bus teams" msgstr "Equipos de bus" -#: apps/wei/models.py:160 +#: apps/wei/models.py:159 msgid "WEI Role" msgstr "Papeles en el WEI" -#: apps/wei/models.py:185 +#: apps/wei/models.py:183 msgid "Credit from Société générale" msgstr "Crédito de la Société Générale" -#: apps/wei/models.py:190 +#: apps/wei/models.py:188 msgid "Caution check given" msgstr "Cheque de garantía dado" -#: apps/wei/models.py:194 apps/wei/templates/wei/weimembership_form.html:64 +#: apps/wei/models.py:192 apps/wei/templates/wei/weimembership_form.html:64 msgid "birth date" msgstr "fecha de nacimiento" -#: apps/wei/models.py:200 apps/wei/models.py:210 +#: apps/wei/models.py:198 apps/wei/models.py:208 msgid "Male" msgstr "Hombre" -#: apps/wei/models.py:201 apps/wei/models.py:211 +#: apps/wei/models.py:199 apps/wei/models.py:209 msgid "Female" msgstr "Mujer" -#: apps/wei/models.py:202 +#: apps/wei/models.py:200 msgid "Non binary" msgstr "No binari@" -#: apps/wei/models.py:204 apps/wei/templates/wei/attribute_bus_1A.html:22 +#: apps/wei/models.py:202 apps/wei/templates/wei/attribute_bus_1A.html:22 #: apps/wei/templates/wei/weimembership_form.html:55 msgid "gender" msgstr "género" -#: apps/wei/models.py:212 +#: apps/wei/models.py:210 msgid "Unisex" msgstr "Unisex" -#: apps/wei/models.py:215 apps/wei/templates/wei/weimembership_form.html:58 +#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58 msgid "clothing cut" msgstr "forma de ropa" -#: apps/wei/models.py:228 apps/wei/templates/wei/weimembership_form.html:61 +#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61 msgid "clothing size" msgstr "medida de ropa" -#: apps/wei/models.py:234 apps/wei/templates/wei/attribute_bus_1A.html:28 +#: apps/wei/models.py:232 apps/wei/templates/wei/attribute_bus_1A.html:28 #: apps/wei/templates/wei/weimembership_form.html:67 msgid "health issues" msgstr "problemas de salud" -#: apps/wei/models.py:239 apps/wei/templates/wei/weimembership_form.html:70 +#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70 msgid "emergency contact name" msgstr "nombre del contacto de emergencia" -#: apps/wei/models.py:240 +#: apps/wei/models.py:238 msgid "The emergency contact must not be a WEI participant" msgstr "El contacto de emergencia no debe ser un participante de WEI" -#: apps/wei/models.py:245 apps/wei/templates/wei/weimembership_form.html:73 +#: apps/wei/models.py:243 apps/wei/templates/wei/weimembership_form.html:73 msgid "emergency contact phone" msgstr "teléfono del contacto de emergencia" -#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:52 +#: apps/wei/models.py:248 apps/wei/templates/wei/weimembership_form.html:52 msgid "first year" msgstr "primer año" -#: apps/wei/models.py:251 +#: apps/wei/models.py:249 msgid "Tells if the user is new in the school." msgstr "Indica si el usuario es nuevo en la escuela." -#: apps/wei/models.py:256 +#: apps/wei/models.py:254 msgid "registration information" msgstr "informaciones sobre la afiliación" -#: apps/wei/models.py:257 +#: apps/wei/models.py:255 msgid "" "Information about the registration (buses for old members, survey for the " "new members), encoded in JSON" @@ -2790,27 +2798,27 @@ msgstr "" "Informaciones sobre la afiliacion (bus para miembros ancianos, cuestionario " "para los nuevos miembros), registrado en JSON" -#: apps/wei/models.py:315 +#: apps/wei/models.py:261 msgid "WEI User" msgstr "Participante WEI" -#: apps/wei/models.py:316 +#: apps/wei/models.py:262 msgid "WEI Users" msgstr "Participantes WEI" -#: apps/wei/models.py:336 +#: apps/wei/models.py:334 msgid "team" msgstr "equipo" -#: apps/wei/models.py:346 +#: apps/wei/models.py:344 msgid "WEI registration" msgstr "Apuntación al WEI" -#: apps/wei/models.py:350 +#: apps/wei/models.py:348 msgid "WEI membership" msgstr "Afiliación al WEI" -#: apps/wei/models.py:351 +#: apps/wei/models.py:349 msgid "WEI memberships" msgstr "Afiliaciones al WEI" @@ -3591,6 +3599,9 @@ msgstr "" "pagar su afiliación. Tambien tiene que validar su correo electronico con el " "enlace que recibió." +#~ msgid "Join BDA Club" +#~ msgstr "Afiliarse al club BDA" + #, fuzzy #~| msgid "People having you as a friend" #~ msgid "You already have that person as a friend" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 36bfd028..87181239 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-25 19:12+0200\n" +"POT-Creation-Date: 2024-03-22 00:33+0100\n" "PO-Revision-Date: 2022-04-11 22:05+0200\n" "Last-Translator: bleizi \n" "Language-Team: French \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Poedit 3.0\n" -#: apps/activity/apps.py:10 apps/activity/models.py:151 +#: apps/activity/apps.py:10 apps/activity/models.py:127 #: apps/activity/models.py:167 msgid "activity" msgstr "activité" @@ -27,38 +27,38 @@ msgstr "activité" msgid "The note of this club is inactive." msgstr "La note du club est inactive." -#: apps/activity/forms.py:41 apps/activity/models.py:132 +#: apps/activity/forms.py:41 apps/activity/models.py:140 msgid "The end date must be after the start date." msgstr "La date de fin doit être après celle de début." -#: apps/activity/forms.py:82 apps/activity/models.py:270 +#: apps/activity/forms.py:82 apps/activity/models.py:269 msgid "You can't invite someone once the activity is started." msgstr "" "Vous ne pouvez pas inviter quelqu'un une fois que l'activité a démarré." -#: apps/activity/forms.py:85 apps/activity/models.py:273 +#: apps/activity/forms.py:85 apps/activity/models.py:272 msgid "This activity is not validated yet." msgstr "Cette activité n'est pas encore validée." -#: apps/activity/forms.py:95 apps/activity/models.py:281 +#: apps/activity/forms.py:95 apps/activity/models.py:280 msgid "This person has been already invited 5 times this year." msgstr "Cette personne a déjà été invitée 5 fois cette année." -#: apps/activity/forms.py:99 apps/activity/models.py:285 +#: apps/activity/forms.py:99 apps/activity/models.py:284 msgid "This person is already invited." msgstr "Cette personne est déjà invitée." -#: apps/activity/forms.py:103 apps/activity/models.py:289 +#: apps/activity/forms.py:103 apps/activity/models.py:288 msgid "You can't invite more than 3 people to this activity." msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité." #: apps/activity/models.py:28 apps/activity/models.py:63 -#: apps/member/models.py:204 +#: apps/member/models.py:203 #: apps/member/templates/member/includes/club_info.html:4 #: apps/member/templates/member/includes/profile_info.html:4 #: apps/note/models/notes.py:263 apps/note/models/transactions.py:26 -#: apps/note/models/transactions.py:46 apps/note/models/transactions.py:301 -#: apps/permission/models.py:330 +#: apps/note/models/transactions.py:46 apps/note/models/transactions.py:299 +#: apps/permission/models.py:329 #: apps/registration/templates/registration/future_profile_detail.html:16 #: apps/wei/models.py:67 apps/wei/models.py:131 apps/wei/tables.py:282 #: apps/wei/templates/wei/base.html:26 @@ -94,8 +94,8 @@ msgstr "types d'activité" #: apps/activity/models.py:68 #: apps/activity/templates/activity/includes/activity_info.html:19 -#: apps/note/models/transactions.py:81 apps/permission/models.py:110 -#: apps/permission/models.py:189 apps/wei/models.py:78 apps/wei/models.py:142 +#: apps/note/models/transactions.py:82 apps/permission/models.py:109 +#: apps/permission/models.py:188 apps/wei/models.py:78 apps/wei/models.py:142 msgid "description" msgstr "description" @@ -109,14 +109,14 @@ msgstr "Lieu où l'activité est organisée, par exemple la Kfet." #: apps/activity/models.py:83 #: apps/activity/templates/activity/includes/activity_info.html:22 -#: apps/note/models/notes.py:207 apps/note/models/transactions.py:66 -#: apps/permission/models.py:164 +#: apps/note/models/notes.py:207 apps/note/models/transactions.py:67 +#: apps/permission/models.py:163 msgid "type" msgstr "type" -#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:312 -#: apps/note/models/notes.py:148 apps/treasury/models.py:287 -#: apps/wei/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13 +#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:313 +#: apps/note/models/notes.py:148 apps/treasury/models.py:293 +#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13 #: apps/wei/templates/wei/survey.html:15 msgid "user" msgstr "utilisateur" @@ -162,7 +162,7 @@ msgstr "valide" msgid "open" msgstr "ouvrir" -#: apps/activity/models.py:152 +#: apps/activity/models.py:128 msgid "activities" msgstr "activités" @@ -226,11 +226,11 @@ msgstr "prénom" msgid "inviter" msgstr "hôte" -#: apps/activity/models.py:297 +#: apps/activity/models.py:256 msgid "guest" msgstr "invité" -#: apps/activity/models.py:298 +#: apps/activity/models.py:257 msgid "guests" msgstr "invités" @@ -258,7 +258,7 @@ msgstr "Entré le " msgid "remove" msgstr "supprimer" -#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:201 +#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:208 msgid "Type" msgstr "Type" @@ -292,7 +292,7 @@ msgid "Guest deleted" msgstr "Invité supprimé" #: apps/activity/templates/activity/activity_entry.html:14 -#: apps/note/models/transactions.py:257 +#: apps/note/models/transactions.py:261 #: apps/note/templates/note/transaction_form.html:17 #: apps/note/templates/note/transaction_form.html:152 #: note_kfet/templates/base.html:72 @@ -300,13 +300,13 @@ msgid "Transfer" msgstr "Virement" #: apps/activity/templates/activity/activity_entry.html:18 -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:324 #: apps/note/templates/note/transaction_form.html:22 msgid "Credit" msgstr "Crédit" #: apps/activity/templates/activity/activity_entry.html:21 -#: apps/note/models/transactions.py:317 +#: apps/note/models/transactions.py:324 #: apps/note/templates/note/transaction_form.html:26 msgid "Debit" msgstr "Débit" @@ -446,7 +446,7 @@ msgstr "Logs" msgid "IP Address" msgstr "Adresse IP" -#: apps/logs/models.py:36 apps/permission/models.py:134 +#: apps/logs/models.py:36 apps/permission/models.py:133 msgid "model" msgstr "modèle" @@ -467,7 +467,7 @@ msgid "create" msgstr "créer" #: apps/logs/models.py:65 apps/note/tables.py:230 apps/note/tables.py:277 -#: apps/permission/models.py:127 apps/treasury/tables.py:38 +#: apps/permission/models.py:126 apps/treasury/tables.py:38 #: apps/wei/tables.py:74 msgid "delete" msgstr "supprimer" @@ -481,37 +481,37 @@ msgid "timestamp" msgstr "date" #: apps/logs/models.py:80 -msgid "Logs cannot be destroyed." -msgstr "Les logs ne peuvent pas être détruits." - -#: apps/logs/models.py:83 msgid "changelog" msgstr "journal de modification" -#: apps/logs/models.py:84 +#: apps/logs/models.py:81 msgid "changelogs" msgstr "journaux de modifications" -#: apps/logs/models.py:87 +#: apps/logs/models.py:84 #, python-brace-format msgid "Changelog of type \"{action}\" for model {model} at {timestamp}" msgstr "Changelog de type « {action} » pour le modèle {model} à {timestamp}" -#: apps/member/admin.py:50 apps/member/models.py:231 +#: apps/logs/models.py:88 +msgid "Logs cannot be destroyed." +msgstr "Les logs ne peuvent pas être détruits." + +#: apps/member/admin.py:50 apps/member/models.py:232 #: apps/member/templates/member/includes/club_info.html:34 msgid "membership fee (paid students)" msgstr "cotisation pour adhérer (normalien élève)" -#: apps/member/admin.py:51 apps/member/models.py:236 +#: apps/member/admin.py:51 apps/member/models.py:237 #: apps/member/templates/member/includes/club_info.html:37 msgid "membership fee (unpaid students)" msgstr "cotisation pour adhérer (normalien étudiant)" -#: apps/member/admin.py:65 apps/member/models.py:324 +#: apps/member/admin.py:65 apps/member/models.py:325 msgid "roles" msgstr "rôles" -#: apps/member/admin.py:66 apps/member/models.py:338 +#: apps/member/admin.py:66 apps/member/models.py:339 msgid "fee" msgstr "cotisation" @@ -624,132 +624,132 @@ msgstr "salage" msgid "hash" msgstr "haché" -#: apps/member/models.py:38 +#: apps/member/models.py:37 #: apps/member/templates/member/includes/profile_info.html:43 #: apps/registration/templates/registration/future_profile_detail.html:40 #: apps/wei/templates/wei/weimembership_form.html:44 msgid "phone number" msgstr "numéro de téléphone" -#: apps/member/models.py:45 +#: apps/member/models.py:44 #: apps/member/templates/member/includes/profile_info.html:37 #: apps/registration/templates/registration/future_profile_detail.html:34 #: apps/wei/templates/wei/weimembership_form.html:38 msgid "section" msgstr "section" -#: apps/member/models.py:46 +#: apps/member/models.py:45 msgid "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" msgstr "e.g. \"1A0\", \"9A♥\", \"SAPHIRE\"" -#: apps/member/models.py:54 apps/wei/templates/wei/attribute_bus_1A.html:25 +#: apps/member/models.py:53 apps/wei/templates/wei/attribute_bus_1A.html:25 #: apps/wei/templates/wei/weimembership_form.html:32 msgid "department" msgstr "département" -#: apps/member/models.py:56 +#: apps/member/models.py:55 msgid "Informatics (A0)" msgstr "Informatique (A0)" -#: apps/member/models.py:57 +#: apps/member/models.py:56 msgid "Mathematics (A1)" msgstr "Mathématiques (A1)" -#: apps/member/models.py:58 +#: apps/member/models.py:57 msgid "Physics (A2)" msgstr "Physique (A2)" -#: apps/member/models.py:59 +#: apps/member/models.py:58 msgid "Applied physics (A'2)" msgstr "Physique appliquée (A'2)" -#: apps/member/models.py:60 +#: apps/member/models.py:59 msgid "Chemistry (A''2)" msgstr "Chimie (A''2)" -#: apps/member/models.py:61 +#: apps/member/models.py:60 msgid "Biology (A3)" msgstr "Biologie (A3)" -#: apps/member/models.py:62 +#: apps/member/models.py:61 msgid "SAPHIRE (B1234)" msgstr "SAPHIRE (B1234)" -#: apps/member/models.py:63 +#: apps/member/models.py:62 msgid "Mechanics (B1)" msgstr "Mécanique (B1)" -#: apps/member/models.py:64 +#: apps/member/models.py:63 msgid "Civil engineering (B2)" msgstr "Génie civil (B2)" -#: apps/member/models.py:65 +#: apps/member/models.py:64 msgid "Mechanical engineering (B3)" msgstr "Génie mécanique (B3)" -#: apps/member/models.py:66 +#: apps/member/models.py:65 msgid "EEA (B4)" msgstr "EEA (B4)" -#: apps/member/models.py:67 +#: apps/member/models.py:66 msgid "Design (C)" msgstr "Design (C)" -#: apps/member/models.py:68 +#: apps/member/models.py:67 msgid "Economy-management (D2)" msgstr "Économie-gestion (D2)" -#: apps/member/models.py:69 +#: apps/member/models.py:68 msgid "Social sciences (D3)" msgstr "Sciences sociales (D3)" -#: apps/member/models.py:70 +#: apps/member/models.py:69 msgid "English (E)" msgstr "Anglais (E)" -#: apps/member/models.py:71 +#: apps/member/models.py:70 msgid "External (EXT)" msgstr "Externe (EXT)" -#: apps/member/models.py:78 +#: apps/member/models.py:77 msgid "promotion" msgstr "promotion" -#: apps/member/models.py:79 +#: apps/member/models.py:78 msgid "Year of entry to the school (None if not ENS student)" msgstr "Année d'entrée dans l'école (None si non-étudiant·e de l'ENS)" -#: apps/member/models.py:83 +#: apps/member/models.py:82 #: apps/member/templates/member/includes/profile_info.html:47 #: apps/registration/templates/registration/future_profile_detail.html:37 #: apps/wei/templates/wei/weimembership_form.html:41 msgid "address" msgstr "adresse" -#: apps/member/models.py:90 +#: apps/member/models.py:89 #: apps/member/templates/member/includes/profile_info.html:50 #: apps/registration/templates/registration/future_profile_detail.html:43 #: apps/wei/templates/wei/weimembership_form.html:47 msgid "paid" msgstr "payé" -#: apps/member/models.py:91 +#: apps/member/models.py:90 msgid "Tells if the user receive a salary." msgstr "Indique si l'utilisateur perçoit un salaire." -#: apps/member/models.py:100 apps/treasury/tables.py:143 +#: apps/member/models.py:99 apps/treasury/tables.py:143 msgid "No" msgstr "Non" -#: apps/member/models.py:101 +#: apps/member/models.py:100 msgid "Yes (receive them in french)" msgstr "Oui (les recevoir en français)" -#: apps/member/models.py:102 +#: apps/member/models.py:101 msgid "Yes (receive them in english)" msgstr "Oui (les recevoir en anglais)" -#: apps/member/models.py:104 +#: apps/member/models.py:103 msgid "" "Register on the mailing list to stay informed of the events of the campus (1 " "mail/week)" @@ -757,7 +757,7 @@ msgstr "" "S'inscrire sur la liste de diffusion pour rester informé des événements sur " "le campus (1 mail par semaine)" -#: apps/member/models.py:109 +#: apps/member/models.py:108 msgid "" "Register on the mailing list to stay informed of the sport events of the " "campus (1 mail/week)" @@ -765,7 +765,7 @@ msgstr "" "S'inscrire sur la liste de diffusion pour rester informé des actualités " "sportives sur le campus (1 mail par semaine)" -#: apps/member/models.py:114 +#: apps/member/models.py:113 msgid "" "Register on the mailing list to stay informed of the art events of the " "campus (1 mail/week)" @@ -773,31 +773,31 @@ msgstr "" "S'inscrire sur la liste de diffusion pour rester informé des actualités " "artistiques sur le campus (1 mail par semaine)" -#: apps/member/models.py:118 +#: apps/member/models.py:117 msgid "report frequency (in days)" msgstr "fréquence des rapports (en jours)" -#: apps/member/models.py:123 +#: apps/member/models.py:122 msgid "last report date" msgstr "date de dernier rapport" -#: apps/member/models.py:128 +#: apps/member/models.py:127 msgid "email confirmed" msgstr "adresse email confirmée" -#: apps/member/models.py:133 +#: apps/member/models.py:132 msgid "registration valid" msgstr "inscription valide" -#: apps/member/models.py:138 +#: apps/member/models.py:137 msgid "VSS charter read" msgstr "Charte VSS lue" -#: apps/member/models.py:167 apps/member/models.py:168 +#: apps/member/models.py:142 apps/member/models.py:143 msgid "user profile" msgstr "profil utilisateur" -#: apps/member/models.py:178 +#: apps/member/models.py:177 msgid "Activate your Note Kfet account" msgstr "Activez votre compte Note Kfet" @@ -810,90 +810,90 @@ msgstr "Activez votre compte Note Kfet" msgid "email" msgstr "courriel" -#: apps/member/models.py:216 +#: apps/member/models.py:217 msgid "parent club" msgstr "club parent" -#: apps/member/models.py:225 +#: apps/member/models.py:226 msgid "require memberships" msgstr "nécessite des adhésions" -#: apps/member/models.py:226 +#: apps/member/models.py:227 msgid "Uncheck if this club don't require memberships." msgstr "Décochez si ce club n'utilise pas d'adhésions." -#: apps/member/models.py:242 +#: apps/member/models.py:243 #: apps/member/templates/member/includes/club_info.html:26 msgid "membership duration" msgstr "durée de l'adhésion" -#: apps/member/models.py:243 +#: apps/member/models.py:244 msgid "The longest time (in days) a membership can last (NULL = infinite)." msgstr "La durée maximale (en jours) d'une adhésion (NULL = infinie)." -#: apps/member/models.py:250 +#: apps/member/models.py:251 #: apps/member/templates/member/includes/club_info.html:16 msgid "membership start" msgstr "début de l'adhésion" -#: apps/member/models.py:251 +#: apps/member/models.py:252 msgid "Date from which the members can renew their membership." msgstr "" "Date à partir de laquelle les adhérents peuvent renouveler leur adhésion." -#: apps/member/models.py:257 +#: apps/member/models.py:258 #: apps/member/templates/member/includes/club_info.html:21 msgid "membership end" msgstr "fin de l'adhésion" -#: apps/member/models.py:258 +#: apps/member/models.py:259 msgid "Maximal date of a membership, after which members must renew it." msgstr "" "Date maximale d'une fin d'adhésion, après laquelle les adhérents doivent la " "renouveler." -#: apps/member/models.py:293 apps/member/models.py:318 +#: apps/member/models.py:263 apps/member/models.py:319 #: apps/note/models/notes.py:176 msgid "club" msgstr "club" -#: apps/member/models.py:294 +#: apps/member/models.py:264 msgid "clubs" msgstr "clubs" -#: apps/member/models.py:329 +#: apps/member/models.py:330 msgid "membership starts on" msgstr "l'adhésion commence le" -#: apps/member/models.py:333 +#: apps/member/models.py:334 msgid "membership ends on" msgstr "l'adhésion finit le" -#: apps/member/models.py:435 -#, python-brace-format -msgid "The role {role} does not apply to the club {club}." -msgstr "Le rôle {role} ne s'applique pas au club {club}." +#: apps/member/models.py:343 apps/note/models/transactions.py:385 +msgid "membership" +msgstr "adhésion" -#: apps/member/models.py:444 apps/member/views.py:712 -msgid "User is already a member of the club" -msgstr "L'utilisateur est déjà membre du club" +#: apps/member/models.py:344 +msgid "memberships" +msgstr "adhésions" -#: apps/member/models.py:456 apps/member/views.py:721 -msgid "User is not a member of the parent club" -msgstr "L'utilisateur n'est pas membre du club parent" - -#: apps/member/models.py:509 +#: apps/member/models.py:348 #, python-brace-format msgid "Membership of {user} for the club {club}" msgstr "Adhésion de {user} pour le club {club}" -#: apps/member/models.py:512 apps/note/models/transactions.py:389 -msgid "membership" -msgstr "adhésion" +#: apps/member/models.py:367 +#, python-brace-format +msgid "The role {role} does not apply to the club {club}." +msgstr "Le rôle {role} ne s'applique pas au club {club}." -#: apps/member/models.py:513 -msgid "memberships" -msgstr "adhésions" +#: apps/member/models.py:376 apps/member/views.py:712 +msgid "User is already a member of the club" +msgstr "L'utilisateur est déjà membre du club" + +#: apps/member/models.py:388 apps/member/views.py:721 +msgid "User is not a member of the parent club" +msgstr "L'utilisateur n'est pas membre du club parent" #: apps/member/tables.py:139 msgid "Renew" @@ -1293,7 +1293,7 @@ msgid "This friendship already exists" msgstr "Cette amitié existe déjà" #: apps/note/api/serializers.py:198 apps/note/api/serializers.py:204 -#: apps/note/models/transactions.py:228 +#: apps/note/models/transactions.py:190 msgid "" "The transaction can't be saved since the source note or the destination note " "is not active." @@ -1449,18 +1449,18 @@ msgstr "Alias invalide" msgid "alias" msgstr "alias" -#: apps/note/models/notes.py:310 +#: apps/note/models/notes.py:315 msgid "Alias is too long." msgstr "L'alias est trop long." -#: apps/note/models/notes.py:313 +#: apps/note/models/notes.py:318 msgid "" "This alias contains only complex character. Please use a more simple alias." msgstr "" "Cet alias ne contient que des caractères complexes. Merci d'utiliser un " "alias plus simple." -#: apps/note/models/notes.py:317 +#: apps/note/models/notes.py:322 msgid "An alias with a similar name already exists: {} " msgstr "Un alias avec un nom similaire existe déjà : {} " @@ -1480,19 +1480,19 @@ msgstr "catégories de transaction" msgid "A template with this name already exist" msgstr "Un modèle de transaction avec un nom similaire existe déjà" -#: apps/note/models/transactions.py:72 +#: apps/note/models/transactions.py:73 msgid "display" msgstr "afficher" -#: apps/note/models/transactions.py:77 +#: apps/note/models/transactions.py:78 msgid "highlighted" msgstr "mis en avant" -#: apps/note/models/transactions.py:87 +#: apps/note/models/transactions.py:88 msgid "transaction template" msgstr "modèle de transaction" -#: apps/note/models/transactions.py:88 +#: apps/note/models/transactions.py:89 msgid "transaction templates" msgstr "modèles de transaction" @@ -1522,7 +1522,7 @@ msgstr "transaction" msgid "transactions" msgstr "transactions" -#: apps/note/models/transactions.py:186 +#: apps/note/models/transactions.py:230 #, python-brace-format msgid "" "You can't update the {field} on a Transaction. Please invalidate it and " @@ -1531,7 +1531,7 @@ msgstr "" "Vous ne pouvez pas mettre à jour le champ {field} dans une transaction. " "Merci de l'invalider et d'en créer une autre." -#: apps/note/models/transactions.py:206 +#: apps/note/models/transactions.py:250 msgid "" "The note balances must be between - 92 233 720 368 547 758.08 € and 92 233 " "720 368 547 758.07 €." @@ -1540,7 +1540,15 @@ msgstr "" "€ et 92 233 720 368 547 758.07 €. Ne cherchez pas à capitaliser l'argent du " "BDE." -#: apps/note/models/transactions.py:277 +#: apps/note/models/transactions.py:274 +msgid "recurrent transaction" +msgstr "transaction issue de bouton" + +#: apps/note/models/transactions.py:275 +msgid "recurrent transactions" +msgstr "transactions issues de boutons" + +#: apps/note/models/transactions.py:285 msgid "" "The destination of this transaction must equal to the destination of the " "template." @@ -1548,27 +1556,27 @@ msgstr "" "Le destinataire de cette transaction doit être identique à celui du bouton " "utilisé." -#: apps/note/models/transactions.py:287 +#: apps/note/models/transactions.py:290 msgid "Template" msgstr "Bouton" -#: apps/note/models/transactions.py:290 -msgid "recurrent transaction" -msgstr "transaction issue de bouton" - -#: apps/note/models/transactions.py:291 -msgid "recurrent transactions" -msgstr "transactions issues de boutons" - -#: apps/note/models/transactions.py:306 +#: apps/note/models/transactions.py:304 msgid "first_name" msgstr "prénom" -#: apps/note/models/transactions.py:311 +#: apps/note/models/transactions.py:309 msgid "bank" msgstr "banque" -#: apps/note/models/transactions.py:328 +#: apps/note/models/transactions.py:314 +msgid "Special transaction" +msgstr "Transaction de crédit/retrait" + +#: apps/note/models/transactions.py:315 +msgid "Special transactions" +msgstr "Transactions de crédit/retrait" + +#: apps/note/models/transactions.py:335 msgid "" "A special transaction is only possible between a Note associated to a " "payment method and a User or a Club" @@ -1576,25 +1584,17 @@ msgstr "" "Une transaction spéciale n'est possible que entre une note associée à un " "mode de paiement et un utilisateur ou un club" -#: apps/note/models/transactions.py:355 apps/note/models/transactions.py:358 -#: apps/note/models/transactions.py:361 apps/wei/views.py:978 +#: apps/note/models/transactions.py:357 apps/note/models/transactions.py:360 +#: apps/note/models/transactions.py:363 apps/wei/views.py:978 #: apps/wei/views.py:982 msgid "This field is required." msgstr "Ce champ est requis." -#: apps/note/models/transactions.py:367 -msgid "Special transaction" -msgstr "Transaction de crédit/retrait" - -#: apps/note/models/transactions.py:368 -msgid "Special transactions" -msgstr "Transactions de crédit/retrait" - -#: apps/note/models/transactions.py:384 +#: apps/note/models/transactions.py:380 msgid "membership transaction" msgstr "transaction d'adhésion" -#: apps/note/models/transactions.py:385 apps/treasury/models.py:294 +#: apps/note/models/transactions.py:381 apps/treasury/models.py:300 msgid "membership transactions" msgstr "transactions d'adhésion" @@ -1729,7 +1729,7 @@ msgid "Amount" msgstr "Montant" #: apps/note/templates/note/transaction_form.html:132 -#: apps/treasury/models.py:56 +#: apps/treasury/models.py:60 msgid "Name" msgstr "Nom" @@ -1817,57 +1817,57 @@ msgstr "Consommations" msgid "You can't see any button." msgstr "Vous ne pouvez pas voir le moindre bouton." -#: apps/note/views.py:208 +#: apps/note/views.py:204 msgid "Search transactions" msgstr "Rechercher des transactions" -#: apps/permission/models.py:89 +#: apps/permission/models.py:31 #, python-brace-format msgid "Can {type} {model}.{field} in {query}" msgstr "Peut {type} {model}.{field} si {query}" -#: apps/permission/models.py:91 +#: apps/permission/models.py:33 #, python-brace-format msgid "Can {type} {model} in {query}" msgstr "Peut {type} {model} si {query}" -#: apps/permission/models.py:104 +#: apps/permission/models.py:103 msgid "rank" msgstr "rang" -#: apps/permission/models.py:117 +#: apps/permission/models.py:113 msgid "permission mask" msgstr "masque de permissions" -#: apps/permission/models.py:118 +#: apps/permission/models.py:114 msgid "permission masks" msgstr "masques de permissions" -#: apps/permission/models.py:124 +#: apps/permission/models.py:123 msgid "add" msgstr "ajouter" -#: apps/permission/models.py:125 +#: apps/permission/models.py:124 msgid "view" msgstr "voir" -#: apps/permission/models.py:126 +#: apps/permission/models.py:125 msgid "change" msgstr "modifier" -#: apps/permission/models.py:158 +#: apps/permission/models.py:157 msgid "query" msgstr "requête" -#: apps/permission/models.py:171 +#: apps/permission/models.py:170 msgid "mask" msgstr "masque" -#: apps/permission/models.py:177 +#: apps/permission/models.py:176 msgid "field" msgstr "champ" -#: apps/permission/models.py:182 +#: apps/permission/models.py:181 msgid "" "Tells if the permission should be granted even if the membership of the user " "is expired." @@ -1875,30 +1875,30 @@ msgstr "" "Indique si la permission doit être attribuée même si l'adhésion de " "l'utilisateur est expirée." -#: apps/permission/models.py:183 +#: apps/permission/models.py:182 #: apps/permission/templates/permission/all_rights.html:89 msgid "permanent" msgstr "permanent" -#: apps/permission/models.py:194 +#: apps/permission/models.py:193 msgid "permission" msgstr "permission" -#: apps/permission/models.py:195 apps/permission/models.py:335 +#: apps/permission/models.py:194 apps/permission/models.py:334 msgid "permissions" msgstr "permissions" -#: apps/permission/models.py:200 +#: apps/permission/models.py:207 msgid "Specifying field applies only to view and change permission types." msgstr "" "Spécifie le champ concerné, ne fonctionne que pour les permissions view et " "change." -#: apps/permission/models.py:340 +#: apps/permission/models.py:339 msgid "for club" msgstr "s'applique au club" -#: apps/permission/models.py:351 apps/permission/models.py:352 +#: apps/permission/models.py:347 apps/permission/models.py:348 msgid "role permissions" msgstr "permissions par rôles" @@ -2044,10 +2044,6 @@ msgstr "Adhérer au club BDE" msgid "Join Kfet Club" msgstr "Adhérer au club Kfet" -#: apps/registration/forms.py:123 -msgid "Join BDA Club" -msgstr "Adhérer au club BDA" - #: apps/registration/templates/registration/email_validation_complete.html:15 msgid "Your email have successfully been validated." msgstr "Votre adresse e-mail a bien été validée." @@ -2206,7 +2202,7 @@ msgstr "Invalider l'inscription" msgid "Treasury" msgstr "Trésorerie" -#: apps/treasury/forms.py:26 apps/treasury/models.py:95 +#: apps/treasury/forms.py:26 apps/treasury/models.py:112 #: apps/treasury/templates/treasury/invoice_form.html:22 msgid "This invoice is locked and can no longer be edited." msgstr "Cette facture est verrouillée et ne peut plus être éditée." @@ -2219,7 +2215,7 @@ msgstr "La remise est déjà fermée." msgid "You can't change the type of the remittance." msgstr "Vous ne pouvez pas changer le type de la remise." -#: apps/treasury/forms.py:125 apps/treasury/models.py:269 +#: apps/treasury/forms.py:125 apps/treasury/models.py:275 #: apps/treasury/tables.py:97 apps/treasury/tables.py:105 #: apps/treasury/templates/treasury/invoice_list.html:16 #: apps/treasury/templates/treasury/remittance_list.html:16 @@ -2231,7 +2227,7 @@ msgstr "Remise" msgid "No attached remittance" msgstr "Pas de remise associée" -#: apps/treasury/models.py:26 +#: apps/treasury/models.py:25 msgid "Invoice identifier" msgstr "Numéro de facture" @@ -2239,112 +2235,134 @@ msgstr "Numéro de facture" msgid "BDE" msgstr "BDE" -#: apps/treasury/models.py:47 +#: apps/treasury/models.py:46 +msgid "Quotation" +msgstr "Devis" + +#: apps/treasury/models.py:51 msgid "Object" msgstr "Objet" -#: apps/treasury/models.py:51 +#: apps/treasury/models.py:55 msgid "Description" msgstr "Description" -#: apps/treasury/models.py:60 +#: apps/treasury/models.py:64 msgid "Address" msgstr "Adresse" -#: apps/treasury/models.py:65 apps/treasury/models.py:195 +#: apps/treasury/models.py:69 apps/treasury/models.py:202 msgid "Date" msgstr "Date" -#: apps/treasury/models.py:69 +#: apps/treasury/models.py:75 +msgid "Payment date" +msgstr "Date de paiement" + +#: apps/treasury/models.py:79 msgid "Acquitted" msgstr "Acquittée" -#: apps/treasury/models.py:74 +#: apps/treasury/models.py:84 msgid "Locked" msgstr "Verrouillée" -#: apps/treasury/models.py:75 +#: apps/treasury/models.py:85 msgid "An invoice can't be edited when it is locked." msgstr "Une facture ne peut plus être modifiée si elle est verrouillée." -#: apps/treasury/models.py:81 +#: apps/treasury/models.py:91 msgid "tex source" msgstr "fichier TeX source" -#: apps/treasury/models.py:115 apps/treasury/models.py:131 +#: apps/treasury/models.py:95 apps/treasury/models.py:140 msgid "invoice" msgstr "facture" -#: apps/treasury/models.py:116 +#: apps/treasury/models.py:96 msgid "invoices" msgstr "factures" -#: apps/treasury/models.py:119 +#: apps/treasury/models.py:99 #, python-brace-format msgid "Invoice #{id}" msgstr "Facture n°{id}" -#: apps/treasury/models.py:136 +#: apps/treasury/models.py:145 msgid "Designation" msgstr "Désignation" -#: apps/treasury/models.py:142 +#: apps/treasury/models.py:151 msgid "Quantity" msgstr "Quantité" -#: apps/treasury/models.py:147 +#: apps/treasury/models.py:156 msgid "Unit price" msgstr "Prix unitaire" -#: apps/treasury/models.py:163 +#: apps/treasury/models.py:160 msgid "product" msgstr "produit" -#: apps/treasury/models.py:164 +#: apps/treasury/models.py:161 msgid "products" msgstr "produits" -#: apps/treasury/models.py:184 +#: apps/treasury/models.py:189 msgid "remittance type" msgstr "type de remise" -#: apps/treasury/models.py:185 +#: apps/treasury/models.py:190 msgid "remittance types" msgstr "types de remises" -#: apps/treasury/models.py:206 +#: apps/treasury/models.py:213 msgid "Comment" msgstr "Commentaire" -#: apps/treasury/models.py:211 +#: apps/treasury/models.py:218 msgid "Closed" msgstr "Fermée" -#: apps/treasury/models.py:215 +#: apps/treasury/models.py:222 msgid "remittance" msgstr "remise" -#: apps/treasury/models.py:216 +#: apps/treasury/models.py:223 msgid "remittances" msgstr "remises" -#: apps/treasury/models.py:249 +#: apps/treasury/models.py:226 msgid "Remittance #{:d}: {}" msgstr "Remise n°{:d} : {}" -#: apps/treasury/models.py:273 +#: apps/treasury/models.py:279 msgid "special transaction proxy" msgstr "proxy de transaction spéciale" -#: apps/treasury/models.py:274 +#: apps/treasury/models.py:280 msgid "special transaction proxies" msgstr "proxys de transactions spéciales" -#: apps/treasury/models.py:300 +#: apps/treasury/models.py:306 msgid "credit transaction" msgstr "transaction de crédit" -#: apps/treasury/models.py:432 +#: apps/treasury/models.py:311 +#: apps/treasury/templates/treasury/sogecredit_detail.html:10 +msgid "Credit from the Société générale" +msgstr "Crédit de la Société générale" + +#: apps/treasury/models.py:312 +msgid "Credits from the Société générale" +msgstr "Crédits de la Société générale" + +#: apps/treasury/models.py:315 +#, python-brace-format +msgid "Soge credit for {user}" +msgstr "Crédit de la société générale pour l'utilisateur {user}" + +#: apps/treasury/models.py:445 msgid "" "This user doesn't have enough money to pay the memberships with its note. " "Please ask her/him to credit the note before invalidating this credit." @@ -2352,20 +2370,6 @@ msgstr "" "Cet utilisateur n'a pas assez d'argent pour payer les adhésions avec sa " "note. Merci de lui demander de recharger sa note avant d'invalider ce crédit." -#: apps/treasury/models.py:452 -#: apps/treasury/templates/treasury/sogecredit_detail.html:10 -msgid "Credit from the Société générale" -msgstr "Crédit de la Société générale" - -#: apps/treasury/models.py:453 -msgid "Credits from the Société générale" -msgstr "Crédits de la Société générale" - -#: apps/treasury/models.py:456 -#, python-brace-format -msgid "Soge credit for {user}" -msgstr "Crédit de la société générale pour l'utilisateur {user}" - #: apps/treasury/tables.py:20 msgid "Invoice #{:d}" msgstr "Facture n°{:d}" @@ -2608,8 +2612,8 @@ msgstr "Liste des crédits de la 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" -#: apps/wei/apps.py:10 apps/wei/models.py:50 apps/wei/models.py:51 -#: apps/wei/models.py:62 apps/wei/models.py:180 +#: apps/wei/apps.py:10 apps/wei/models.py:37 apps/wei/models.py:38 +#: apps/wei/models.py:62 apps/wei/models.py:178 #: note_kfet/templates/base.html:102 msgid "WEI" msgstr "WEI" @@ -2621,7 +2625,7 @@ msgstr "" "compte" #: apps/wei/forms/registration.py:59 apps/wei/models.py:126 -#: apps/wei/models.py:326 +#: apps/wei/models.py:324 msgid "bus" msgstr "bus" @@ -2647,7 +2651,7 @@ msgstr "" "bus ou électron libre)" #: apps/wei/forms/registration.py:75 apps/wei/forms/registration.py:85 -#: apps/wei/models.py:161 +#: apps/wei/models.py:160 msgid "WEI Roles" msgstr "Rôles au WEI" @@ -2688,11 +2692,11 @@ msgid "Information about the survey for new members, encoded in JSON" msgstr "" "Informations sur le sondage pour les nouveaux membres, encodées en JSON" -#: apps/wei/models.py:113 +#: apps/wei/models.py:88 msgid "Bus" msgstr "Bus" -#: apps/wei/models.py:114 apps/wei/templates/wei/weiclub_detail.html:51 +#: apps/wei/models.py:89 apps/wei/templates/wei/weiclub_detail.html:51 msgid "Buses" msgstr "Bus" @@ -2705,91 +2709,91 @@ msgid "The color of the T-Shirt, stored with its number equivalent" msgstr "" "La couleur du T-Shirt, stocké sous la forme de son équivalent numérique" -#: apps/wei/models.py:150 +#: apps/wei/models.py:147 msgid "Bus team" msgstr "Équipe de bus" -#: apps/wei/models.py:151 +#: apps/wei/models.py:148 msgid "Bus teams" msgstr "Équipes de bus" -#: apps/wei/models.py:160 +#: apps/wei/models.py:159 msgid "WEI Role" msgstr "Rôle au WEI" -#: apps/wei/models.py:185 +#: apps/wei/models.py:183 msgid "Credit from Société générale" msgstr "Crédit de la Société générale" -#: apps/wei/models.py:190 +#: apps/wei/models.py:188 msgid "Caution check given" msgstr "Chèque de caution donné" -#: apps/wei/models.py:194 apps/wei/templates/wei/weimembership_form.html:64 +#: apps/wei/models.py:192 apps/wei/templates/wei/weimembership_form.html:64 msgid "birth date" msgstr "date de naissance" -#: apps/wei/models.py:200 apps/wei/models.py:210 +#: apps/wei/models.py:198 apps/wei/models.py:208 msgid "Male" msgstr "Homme" -#: apps/wei/models.py:201 apps/wei/models.py:211 +#: apps/wei/models.py:199 apps/wei/models.py:209 msgid "Female" msgstr "Femme" -#: apps/wei/models.py:202 +#: apps/wei/models.py:200 msgid "Non binary" msgstr "Non-binaire" -#: apps/wei/models.py:204 apps/wei/templates/wei/attribute_bus_1A.html:22 +#: apps/wei/models.py:202 apps/wei/templates/wei/attribute_bus_1A.html:22 #: apps/wei/templates/wei/weimembership_form.html:55 msgid "gender" msgstr "genre" -#: apps/wei/models.py:212 +#: apps/wei/models.py:210 msgid "Unisex" msgstr "Unisexe" -#: apps/wei/models.py:215 apps/wei/templates/wei/weimembership_form.html:58 +#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58 msgid "clothing cut" msgstr "coupe de vêtement" -#: apps/wei/models.py:228 apps/wei/templates/wei/weimembership_form.html:61 +#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61 msgid "clothing size" msgstr "taille de vêtement" -#: apps/wei/models.py:234 apps/wei/templates/wei/attribute_bus_1A.html:28 +#: apps/wei/models.py:232 apps/wei/templates/wei/attribute_bus_1A.html:28 #: apps/wei/templates/wei/weimembership_form.html:67 msgid "health issues" msgstr "problèmes de santé" -#: apps/wei/models.py:239 apps/wei/templates/wei/weimembership_form.html:70 +#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70 msgid "emergency contact name" msgstr "nom du contact en cas d'urgence" -#: apps/wei/models.py:240 +#: apps/wei/models.py:238 msgid "The emergency contact must not be a WEI participant" msgstr "" "Le contact en cas d'urgence ne doit pas être une personne qui participe au " "WEI" -#: apps/wei/models.py:245 apps/wei/templates/wei/weimembership_form.html:73 +#: apps/wei/models.py:243 apps/wei/templates/wei/weimembership_form.html:73 msgid "emergency contact phone" msgstr "téléphone du contact en cas d'urgence" -#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:52 +#: apps/wei/models.py:248 apps/wei/templates/wei/weimembership_form.html:52 msgid "first year" msgstr "première année" -#: apps/wei/models.py:251 +#: apps/wei/models.py:249 msgid "Tells if the user is new in the school." msgstr "Indique si l'utilisateur est nouveau dans l'école." -#: apps/wei/models.py:256 +#: apps/wei/models.py:254 msgid "registration information" msgstr "informations sur l'inscription" -#: apps/wei/models.py:257 +#: apps/wei/models.py:255 msgid "" "Information about the registration (buses for old members, survey for the " "new members), encoded in JSON" @@ -2797,27 +2801,27 @@ msgstr "" "Informations sur l'inscription (bus pour les 2A+, questionnaire pour les " "1A), encodées en JSON" -#: apps/wei/models.py:315 +#: apps/wei/models.py:261 msgid "WEI User" msgstr "Participant au WEI" -#: apps/wei/models.py:316 +#: apps/wei/models.py:262 msgid "WEI Users" msgstr "Participants au WEI" -#: apps/wei/models.py:336 +#: apps/wei/models.py:334 msgid "team" msgstr "équipe" -#: apps/wei/models.py:346 +#: apps/wei/models.py:344 msgid "WEI registration" msgstr "Inscription au WEI" -#: apps/wei/models.py:350 +#: apps/wei/models.py:348 msgid "WEI membership" msgstr "Adhésion au WEI" -#: apps/wei/models.py:351 +#: apps/wei/models.py:349 msgid "WEI memberships" msgstr "Adhésions au WEI" @@ -3612,6 +3616,9 @@ msgstr "" "d'adhésion. Vous devez également valider votre adresse email en suivant le " "lien que vous avez reçu." +#~ msgid "Join BDA Club" +#~ msgstr "Adhérer au club BDA" + #, fuzzy #~| msgid "People having you as a friend" #~ msgid "You already have that person as a friend" From fc088dec86917f9ad9503831dc36549e50ff21dc Mon Sep 17 00:00:00 2001 From: quark Date: Sun, 24 Mar 2024 15:20:46 +0100 Subject: [PATCH 2/8] Update test_treasury.py --- apps/treasury/tests/test_treasury.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/treasury/tests/test_treasury.py b/apps/treasury/tests/test_treasury.py index 69dabbb8..131e5a0e 100644 --- a/apps/treasury/tests/test_treasury.py +++ b/apps/treasury/tests/test_treasury.py @@ -69,9 +69,11 @@ class TestInvoices(TestCase): response = self.client.post(reverse("treasury:invoice_create"), data={ "id": 42, "object": "Same object", + "quotation": True, "description": "Longer description", "name": "Me and others", "address": "Alwways earth", + "payment_date": "Maybe someday...", "acquitted": True, "products-0-designation": "Designation", "products-0-quantity": 1, From 2aaab2b45407f2d75d90127cb05fe655ba568ae1 Mon Sep 17 00:00:00 2001 From: quark Date: Sun, 24 Mar 2024 15:55:46 +0100 Subject: [PATCH 3/8] Update test_treasury.py --- apps/treasury/tests/test_treasury.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/treasury/tests/test_treasury.py b/apps/treasury/tests/test_treasury.py index 131e5a0e..1bfc8993 100644 --- a/apps/treasury/tests/test_treasury.py +++ b/apps/treasury/tests/test_treasury.py @@ -99,8 +99,10 @@ class TestInvoices(TestCase): "object": "Same object", "description": "Longer description", "name": "Me and others", + "quotation": False, "address": "Always earth", "acquitted": True, + "payment_date": "Never", "locked": True, "products-0-designation": "Designation", "products-0-quantity": 1, From 40c239e9dabd3df2e6c586ed77d6c0e06903e3ba Mon Sep 17 00:00:00 2001 From: quark Date: Sun, 24 Mar 2024 16:41:18 +0100 Subject: [PATCH 4/8] Update models.py --- apps/treasury/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/treasury/models.py b/apps/treasury/models.py index afd5a1ed..69fc6e6b 100644 --- a/apps/treasury/models.py +++ b/apps/treasury/models.py @@ -63,7 +63,7 @@ class Invoice(models.Model): address = models.TextField( verbose_name=_("Address"), ) - + date = models.DateField( default=date.today, verbose_name=_("Date"), From 73de6e217631d9915db6ae7b7c65ec55ce3e0e8f Mon Sep 17 00:00:00 2001 From: quark Date: Wed, 27 Mar 2024 09:20:32 +0100 Subject: [PATCH 5/8] Update forms.py --- apps/registration/forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 445d70a9..83dd6b20 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -5,7 +5,7 @@ from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User from django.utils.translation import gettext_lazy as _ -from member.models import Club +#from member.models import Club from note.models import NoteSpecial, Alias from note_kfet.inputs import AmountInput From f7ebe0e99b9f4f8da0bf916c931fcfea51ceceed Mon Sep 17 00:00:00 2001 From: quark Date: Wed, 27 Mar 2024 09:43:49 +0100 Subject: [PATCH 6/8] Update forms.py --- apps/registration/forms.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 83dd6b20..749eba3a 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -115,13 +115,12 @@ class ValidationForm(forms.Form): required=False, initial=True, ) - ''' + # If the bda exists - if Club.objects.filter(name__iexact="bda").exists(): +# if Club.objects.filter(name__iexact="bda").exists(): # The user can join the bda club at the inscription - join_bda = forms.BooleanField( - label=_("Join BDA Club"), - required=False, - initial=True, - ) - ''' +# join_bda = forms.BooleanField( +# label=_("Join BDA Club"), +# required=False, +# initial=True, +# ) From 5de930bf403be64072211cd0a18488078b46c49d Mon Sep 17 00:00:00 2001 From: quark Date: Wed, 27 Mar 2024 10:04:14 +0100 Subject: [PATCH 7/8] Update forms.py --- apps/registration/forms.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 749eba3a..00812485 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -5,7 +5,7 @@ from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User from django.utils.translation import gettext_lazy as _ -#from member.models import Club +# from member.models import Club from note.models import NoteSpecial, Alias from note_kfet.inputs import AmountInput @@ -117,10 +117,10 @@ class ValidationForm(forms.Form): ) # If the bda exists -# if Club.objects.filter(name__iexact="bda").exists(): +# if Club.objects.filter(name__iexact="bda").exists(): # The user can join the bda club at the inscription -# join_bda = forms.BooleanField( -# label=_("Join BDA Club"), -# required=False, -# initial=True, -# ) +# join_bda = forms.BooleanField( +# label=_("Join BDA Club"), +# required=False, +# initial=True, +# ) From 258361f1166003c2f6324e571558de726806d563 Mon Sep 17 00:00:00 2001 From: korenstin Date: Wed, 27 Mar 2024 10:25:38 +0100 Subject: [PATCH 8/8] Update forms.py --- apps/registration/forms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 00812485..f6c980c9 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -116,9 +116,9 @@ class ValidationForm(forms.Form): initial=True, ) - # If the bda exists +# If the bda exists # if Club.objects.filter(name__iexact="bda").exists(): - # The user can join the bda club at the inscription +# The user can join the bda club at the inscription # join_bda = forms.BooleanField( # label=_("Join BDA Club"), # required=False,