From e617048332acfc0ff451faa90450a1ecc88a80e3 Mon Sep 17 00:00:00 2001 From: Ehouarn Date: Mon, 2 Jun 2025 01:09:51 +0200 Subject: [PATCH] Meilleure gestion des cautions --- apps/wei/forms/registration.py | 5 +- ...ion_amount_weiregistration_caution_type.py | 23 ++ apps/wei/models.py | 15 + apps/wei/templates/wei/base.html | 5 + apps/wei/templates/wei/weiclub_detail.html | 8 +- .../wei/templates/wei/weimembership_form.html | 44 ++- apps/wei/views.py | 81 +++- locale/de/LC_MESSAGES/django.po | 371 ++++++++++------- locale/es/LC_MESSAGES/django.po | 370 ++++++++++------- locale/fr/LC_MESSAGES/django.po | 372 +++++++++++------- 10 files changed, 841 insertions(+), 453 deletions(-) create mode 100644 apps/wei/migrations/0013_weiclub_caution_amount_weiregistration_caution_type.py diff --git a/apps/wei/forms/registration.py b/apps/wei/forms/registration.py index 0dba2db9..82778148 100644 --- a/apps/wei/forms/registration.py +++ b/apps/wei/forms/registration.py @@ -24,6 +24,7 @@ class WEIForm(forms.ModelForm): "membership_end": DatePickerInput(), "date_start": DatePickerInput(), "date_end": DatePickerInput(), + "caution_amount": AmountInput(), } @@ -42,7 +43,7 @@ class WEIRegistrationForm(forms.ModelForm): fields = [ 'user', 'soge_credit', 'birth_date', 'gender', 'clothing_size', 'health_issues', 'emergency_contact_name', 'emergency_contact_phone', - 'first_year', 'information_json', 'caution_check' + 'first_year', 'information_json', 'caution_check', 'caution_type' ] widgets = { "user": Autocomplete( @@ -58,9 +59,9 @@ class WEIRegistrationForm(forms.ModelForm): 'maxDate': '2100-01-01' }), "caution_check": forms.BooleanField( - label=_("I confirm that I have read the caution and that I am aware of the risks involved."), required=False, ), + "caution_type": forms.RadioSelect(), } diff --git a/apps/wei/migrations/0013_weiclub_caution_amount_weiregistration_caution_type.py b/apps/wei/migrations/0013_weiclub_caution_amount_weiregistration_caution_type.py new file mode 100644 index 00000000..49a9a4b6 --- /dev/null +++ b/apps/wei/migrations/0013_weiclub_caution_amount_weiregistration_caution_type.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.21 on 2025-06-01 21:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wei', '0012_bus_club'), + ] + + operations = [ + migrations.AddField( + model_name='weiclub', + name='caution_amount', + field=models.PositiveIntegerField(default=0, verbose_name='caution amount'), + ), + migrations.AddField( + model_name='weiregistration', + name='caution_type', + field=models.CharField(choices=[('check', 'Check'), ('note', 'Note transaction')], default='check', max_length=16, verbose_name='caution type'), + ), + ] diff --git a/apps/wei/models.py b/apps/wei/models.py index 475a3f0c..684feaf8 100644 --- a/apps/wei/models.py +++ b/apps/wei/models.py @@ -33,6 +33,11 @@ class WEIClub(Club): verbose_name=_("date end"), ) + caution_amount = models.PositiveIntegerField( + verbose_name=_("caution amount"), + default=0, + ) + class Meta: verbose_name = _("WEI") verbose_name_plural = _("WEI") @@ -197,6 +202,16 @@ class WEIRegistration(models.Model): verbose_name=_("Caution check given") ) + caution_type = models.CharField( + max_length=16, + choices=( + ('check', _("Check")), + ('note', _("Note transaction")), + ), + default='check', + verbose_name=_("caution type"), + ) + birth_date = models.DateField( verbose_name=_("birth date"), ) diff --git a/apps/wei/templates/wei/base.html b/apps/wei/templates/wei/base.html index 1a710cb7..975b71c8 100644 --- a/apps/wei/templates/wei/base.html +++ b/apps/wei/templates/wei/base.html @@ -49,6 +49,11 @@ SPDX-License-Identifier: GPL-3.0-or-later {% endif %} {% endif %} + {% if club.caution_amount > 0 %} +
{% trans 'Caution amount'|capfirst %}
+
{{ club.caution_amount|pretty_money }}
+ {% endif %} + {% if "note.view_note"|has_perm:club.note %}
{% trans 'balance'|capfirst %}
{{ club.note.balance | pretty_money }}
diff --git a/apps/wei/templates/wei/weiclub_detail.html b/apps/wei/templates/wei/weiclub_detail.html index cd4b5efb..f7c18c9a 100644 --- a/apps/wei/templates/wei/weiclub_detail.html +++ b/apps/wei/templates/wei/weiclub_detail.html @@ -95,9 +95,11 @@ SPDX-License-Identifier: GPL-3.0-or-later {% endif %} - {% if can_validate_1a %} - {% trans "Attribute buses" %} - {% endif %} +{% if can_validate_1a %} + {% trans "Attribute buses" %} +{% endif %} + + {% endblock %} {% block extrajavascript %} diff --git a/apps/wei/templates/wei/weimembership_form.html b/apps/wei/templates/wei/weimembership_form.html index ff3024ca..f0f3d800 100644 --- a/apps/wei/templates/wei/weimembership_form.html +++ b/apps/wei/templates/wei/weimembership_form.html @@ -143,25 +143,35 @@ SPDX-License-Identifier: GPL-3.0-or-later {% endblocktrans %} {% else %} - {% if registration.user.note.balance < fee %} -
- {% with pretty_fee=fee|pretty_money %} - {% blocktrans trimmed with balance=registration.user.note.balance|pretty_money %} - The note don't have enough money ({{ balance }}, {{ pretty_fee }} required). - The registration may fail if you don't credit the note now. - {% endblocktrans %} - {% endwith %} -
- {% else %} -
- {% blocktrans trimmed with pretty_fee=fee|pretty_money %} - The note has enough money ({{ pretty_fee }} required), the registration is possible. - {% endblocktrans %} -
- {% endif %} +
+
{% trans "Required payments:" %}
+ +

{% blocktrans trimmed with balance=registration.user.note.balance|pretty_money %} + Current balance: {{ balance }} + {% endblocktrans %}

+
{% endif %} - {% if not registration.caution_check and not registration.first_year %} + {% if not registration.caution_check and not registration.first_year and registration.caution_type == 'check' %}
{% trans "The user didn't give her/his caution check." %}
diff --git a/apps/wei/views.py b/apps/wei/views.py index 99244846..cb75f8f2 100644 --- a/apps/wei/views.py +++ b/apps/wei/views.py @@ -564,6 +564,8 @@ class WEIRegister1AView(ProtectQuerysetMixin, ProtectedCreateView): del form.fields["caution_check"] if "information_json" in form.fields: del form.fields["information_json"] + if "caution_type" in form.fields: + del form.fields["caution_type"] return form @@ -668,6 +670,12 @@ class WEIRegister2AView(ProtectQuerysetMixin, ProtectedCreateView): if "information_json" in form.fields: del form.fields["information_json"] + # S'assurer que le champ caution_type est obligatoire + if "caution_type" in form.fields: + form.fields["caution_type"].required = True + form.fields["caution_type"].help_text = _("Choose how you want to pay the deposit") + form.fields["caution_type"].widget = forms.RadioSelect(choices=form.fields["caution_type"].choices) + return form @transaction.atomic @@ -693,6 +701,9 @@ class WEIRegister2AView(ProtectQuerysetMixin, ProtectedCreateView): information["preferred_roles_pk"] = [role.pk for role in choose_bus_form.cleaned_data["roles"]] information["preferred_roles_name"] = [role.name for role in choose_bus_form.cleaned_data["roles"]] form.instance.information = information + + # Sauvegarder le type de caution + form.instance.caution_type = form.cleaned_data["caution_type"] form.instance.save() if 'treasury' in settings.INSTALLED_APPS: @@ -767,6 +778,13 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update # Masquer le champ caution_check pour tout le monde dans le formulaire de modification if "caution_check" in form.fields: del form.fields["caution_check"] + + # S'assurer que le champ caution_type est obligatoire pour les 2A+ + if not self.object.first_year and "caution_type" in form.fields: + form.fields["caution_type"].required = True + form.fields["caution_type"].help_text = _("Choose how you want to pay the deposit") + form.fields["caution_type"].widget = forms.RadioSelect(choices=form.fields["caution_type"].choices) + return form def get_membership_form(self, data=None, instance=None): @@ -824,6 +842,10 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update information["preferred_roles_pk"] = [role.pk for role in choose_bus_form.cleaned_data["roles"]] information["preferred_roles_name"] = [role.name for role in choose_bus_form.cleaned_data["roles"]] form.instance.information = information + + # Sauvegarder le type de caution pour les 2A+ + if "caution_type" in form.cleaned_data: + form.instance.caution_type = form.cleaned_data["caution_type"] form.instance.save() return super().form_valid(form) @@ -924,7 +946,14 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, ProtectedCreateView): date_start__gte=bde.membership_start, ).exists() - context["fee"] = registration.fee + fee = registration.fee + context["fee"] = fee + + # Calculer le montant total nécessaire (frais + caution si transaction) + total_needed = fee + if registration.caution_type == 'note': + total_needed += registration.wei.caution_amount + context["total_needed"] = total_needed form = context["form"] if registration.soge_credit: @@ -948,12 +977,22 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, ProtectedCreateView): # Ajouter le champ caution_check uniquement pour les non-première année et le rendre obligatoire if not registration.first_year: - form.fields["caution_check"] = forms.BooleanField( - required=True, - initial=registration.caution_check, - label=_("Caution check given"), - help_text=_("Please make sure the check is given before validating the registration") - ) + if registration.caution_type == 'check': + form.fields["caution_check"] = forms.BooleanField( + required=True, + initial=registration.caution_check, + label=_("Caution check given"), + help_text=_("Please make sure the check is given before validating the registration") + ) + else: + form.fields["caution_check"] = forms.BooleanField( + required=True, + initial=False, + label=_("Create deposit transaction"), + help_text=_("A transaction of %(amount).2f€ will be created from the user's Note account") % { + 'amount': registration.wei.caution_amount / 100 + } + ) if registration.soge_credit: form.fields["credit_type"].disabled = True @@ -1037,10 +1076,20 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, ProtectedCreateView): if credit_type is None or registration.soge_credit: credit_amount = 0 - if not registration.soge_credit and user.note.balance + credit_amount < fee: - # Users must have money before registering to the WEI. + # Calculer le montant total nécessaire (frais + caution si transaction) + total_needed = fee + if registration.caution_type == 'note': + total_needed += club.caution_amount + + # Vérifier que l'utilisateur a assez d'argent pour tout payer + if not registration.soge_credit and user.note.balance + credit_amount < total_needed: form.add_error('credit_type', - _("This user don't have enough money to join this club, and can't have a negative balance.")) + _("This user doesn't have enough money to join this club and pay the deposit. " + "Current balance: %(balance)d€, credit: %(credit)d€, needed: %(needed)d€") % { + 'balance': user.note.balance, + 'credit': credit_amount, + 'needed': total_needed, + }) return super().form_invalid(form) if credit_amount: @@ -1080,6 +1129,18 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, ProtectedCreateView): membership.refresh_from_db() membership.roles.add(WEIRole.objects.get(name="Adhérent⋅e WEI")) + # Créer la transaction de caution si nécessaire + if registration.caution_type == 'note': + from note.models import Transaction + Transaction.objects.create( + source=user.note, + destination=club.note, + quantity=1, + amount=club.caution_amount, + reason=_("Caution %(name)s") % {'name': club.name}, + valid=True, + ) + return super().form_valid(form) def get_success_url(self): diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 702e52da..f4698e23 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: 2025-05-27 16:46+0200\n" +"POT-Creation-Date: 2025-06-02 00:58+0200\n" "PO-Revision-Date: 2020-11-16 20:02+0000\n" "Last-Translator: bleizi \n" "Language-Team: German \n" @@ -66,7 +66,7 @@ msgstr "Sie dürfen höchstens 3 Leute zu dieser Veranstaltung einladen." #: 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/models.py:72 apps/wei/models.py:145 apps/wei/tables.py:282 #: apps/wei/templates/wei/base.html:26 #: apps/wei/templates/wei/weimembership_form.html:14 apps/wrapped/models.py:16 msgid "name" @@ -101,7 +101,7 @@ msgstr "Vearnstaltungarte" #: apps/activity/models.py:68 #: apps/activity/templates/activity/includes/activity_info.html:19 #: 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 +#: apps/permission/models.py:188 apps/wei/models.py:92 apps/wei/models.py:156 msgid "description" msgstr "Beschreibung" @@ -122,7 +122,7 @@ msgstr "Type" #: apps/activity/models.py:91 apps/logs/models.py:22 apps/member/models.py:325 #: apps/note/models/notes.py:148 apps/treasury/models.py:294 -#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13 +#: apps/wei/models.py:185 apps/wei/templates/wei/attribute_bus_1A.html:13 #: apps/wei/templates/wei/survey.html:15 msgid "user" msgstr "User" @@ -295,14 +295,14 @@ msgstr "Type" #: apps/activity/tables.py:86 apps/member/forms.py:199 #: apps/registration/forms.py:91 apps/treasury/forms.py:131 -#: apps/wei/forms/registration.py:107 +#: apps/wei/forms/registration.py:116 msgid "Last name" msgstr "Nachname" #: apps/activity/tables.py:88 apps/member/forms.py:204 #: apps/note/templates/note/transaction_form.html:138 #: apps/registration/forms.py:96 apps/treasury/forms.py:133 -#: apps/wei/forms/registration.py:112 +#: apps/wei/forms/registration.py:121 msgid "First name" msgstr "Vorname" @@ -1030,12 +1030,12 @@ msgid "Check this case if the Société Générale paid the inscription." msgstr "Die Société Générale die Mitgliedschaft bezahlt." #: apps/member/forms.py:185 apps/registration/forms.py:78 -#: apps/wei/forms/registration.py:94 +#: apps/wei/forms/registration.py:103 msgid "Credit type" msgstr "Kredittype" #: apps/member/forms.py:186 apps/registration/forms.py:79 -#: apps/wei/forms/registration.py:95 +#: apps/wei/forms/registration.py:104 msgid "No credit" msgstr "Kein Kredit" @@ -1044,13 +1044,13 @@ msgid "You can credit the note of the user." msgstr "Sie dûrfen diese Note kreditieren." #: apps/member/forms.py:192 apps/registration/forms.py:84 -#: apps/wei/forms/registration.py:100 +#: apps/wei/forms/registration.py:109 msgid "Credit amount" msgstr "Kreditanzahl" #: apps/member/forms.py:209 apps/note/templates/note/transaction_form.html:144 #: apps/registration/forms.py:101 apps/treasury/forms.py:135 -#: apps/wei/forms/registration.py:117 +#: apps/wei/forms/registration.py:126 msgid "Bank" msgstr "Bank" @@ -1257,7 +1257,7 @@ msgstr "Ihre Note Kfet Konto bestätigen" #: apps/member/templates/member/includes/club_info.html:55 #: apps/member/templates/member/includes/profile_info.html:40 #: apps/registration/templates/registration/future_profile_detail.html:22 -#: apps/wei/templates/wei/base.html:70 +#: apps/wei/templates/wei/base.html:68 #: apps/wei/templates/wei/weimembership_form.html:20 msgid "email" msgstr "Email" @@ -1311,7 +1311,7 @@ msgid "add to registration form" msgstr "Registrierung validieren" #: apps/member/models.py:268 apps/member/models.py:331 -#: apps/note/models/notes.py:176 +#: apps/note/models/notes.py:176 apps/wei/models.py:86 msgid "club" msgstr "Club" @@ -1514,13 +1514,13 @@ msgstr "Mitgliedsachftpreis" #: apps/member/templates/member/includes/club_info.html:43 #: apps/member/templates/member/includes/profile_info.html:55 #: apps/treasury/templates/treasury/sogecredit_detail.html:24 -#: apps/wei/templates/wei/base.html:60 +#: apps/wei/templates/wei/base.html:58 msgid "balance" msgstr "Kontostand" #: apps/member/templates/member/includes/club_info.html:47 #: apps/member/templates/member/includes/profile_info.html:20 -#: apps/note/models/notes.py:287 apps/wei/templates/wei/base.html:66 +#: apps/note/models/notes.py:287 apps/wei/templates/wei/base.html:64 msgid "aliases" msgstr "Aliases" @@ -1702,7 +1702,7 @@ msgstr "Club bearbeiten" msgid "Add new member to the club" msgstr "Neue Mitglieder" -#: apps/member/views.py:750 apps/wei/views.py:1040 +#: apps/member/views.py:750 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -2038,8 +2038,8 @@ msgstr "" "Zahlungsmethode zugeordnet ist, und einem User oder einem Club möglich" #: apps/note/models/transactions.py:357 apps/note/models/transactions.py:360 -#: apps/note/models/transactions.py:363 apps/wei/views.py:1045 -#: apps/wei/views.py:1049 +#: apps/note/models/transactions.py:363 apps/wei/views.py:1097 +#: apps/wei/views.py:1101 #: env/lib/python3.11/site-packages/django/forms/fields.py:91 msgid "This field is required." msgstr "Dies ist ein Pflichtfeld." @@ -2076,8 +2076,8 @@ msgstr "Neue Bus" #: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:151 #: apps/wei/tables.py:49 apps/wei/tables.py:50 -#: apps/wei/templates/wei/base.html:89 -#: apps/wei/templates/wei/bus_detail.html:20 +#: apps/wei/templates/wei/base.html:87 +#: apps/wei/templates/wei/bus_detail.html:24 #: apps/wei/templates/wei/busteam_detail.html:20 #: apps/wei/templates/wei/busteam_detail.html:42 #: env/lib/python3.11/site-packages/oauth2_provider/templates/oauth2_provider/application_detail.html:37 @@ -2552,7 +2552,7 @@ msgstr "Sie haben bereits ein Konto in der Société générale eröffnet." #: apps/registration/templates/registration/future_profile_detail.html:73 #: apps/wei/templates/wei/weimembership_form.html:127 -#: apps/wei/templates/wei/weimembership_form.html:186 +#: apps/wei/templates/wei/weimembership_form.html:196 msgid "Validate registration" msgstr "Registrierung validieren" @@ -3089,22 +3089,22 @@ 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:37 apps/wei/models.py:38 -#: apps/wei/models.py:62 apps/wei/models.py:178 +#: apps/wei/apps.py:10 apps/wei/models.py:42 apps/wei/models.py:43 +#: apps/wei/models.py:67 apps/wei/models.py:192 #: note_kfet/templates/base.html:108 msgid "WEI" msgstr "WEI" -#: apps/wei/forms/registration.py:36 +#: apps/wei/forms/registration.py:37 msgid "The selected user is not validated. Please validate its account first" msgstr "" -#: apps/wei/forms/registration.py:62 apps/wei/models.py:126 -#: apps/wei/models.py:324 +#: apps/wei/forms/registration.py:71 apps/wei/models.py:140 +#: apps/wei/models.py:348 msgid "bus" msgstr "Bus" -#: apps/wei/forms/registration.py:63 +#: apps/wei/forms/registration.py:72 msgid "" "This choice is not definitive. The WEI organizers are free to attribute for " "you a bus and a team, in particular if you are a free eletron." @@ -3113,11 +3113,11 @@ msgstr "" "einen Bus und ein Team zuzuweisen, insbesondere wenn Sie ein freies Elektron " "sind." -#: apps/wei/forms/registration.py:70 +#: apps/wei/forms/registration.py:79 msgid "Team" msgstr "Team" -#: apps/wei/forms/registration.py:72 +#: apps/wei/forms/registration.py:81 msgid "" "Leave this field empty if you won't be in a team (staff, bus chief, free " "electron)" @@ -3125,16 +3125,16 @@ msgstr "" "Lassen Sie dieses Feld leer, wenn Sie nicht in einem Team sind (Mitarbeiter, " "Buschef, freies Elektron)" -#: apps/wei/forms/registration.py:78 apps/wei/forms/registration.py:88 -#: apps/wei/models.py:160 +#: apps/wei/forms/registration.py:87 apps/wei/forms/registration.py:97 +#: apps/wei/models.py:174 msgid "WEI Roles" msgstr "WEI Rollen" -#: apps/wei/forms/registration.py:79 +#: apps/wei/forms/registration.py:88 msgid "Select the roles that you are interested in." msgstr "Wählen Sie die Rollen aus, an denen Sie interessiert sind." -#: apps/wei/forms/registration.py:125 +#: apps/wei/forms/registration.py:134 msgid "This team doesn't belong to the given bus." msgstr "Dieses Team gehört nicht zum angegebenen Bus." @@ -3156,118 +3156,140 @@ msgstr "Anfangsdatum" msgid "date end" msgstr "Abschlussdatum" -#: apps/wei/models.py:71 apps/wei/tables.py:305 +#: apps/wei/models.py:37 +#, fuzzy +#| msgid "total amount" +msgid "caution amount" +msgstr "Totalanzahlt" + +#: apps/wei/models.py:76 apps/wei/tables.py:305 #, fuzzy #| msgid "The user joined the bus" msgid "seat count in the bus" msgstr "Der Benutzer ist dem Bus beigetreten" -#: apps/wei/models.py:83 +#: apps/wei/models.py:97 msgid "survey information" msgstr "Umfrage Infos" -#: apps/wei/models.py:84 +#: apps/wei/models.py:98 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:88 +#: apps/wei/models.py:102 msgid "Bus" msgstr "Bus" -#: apps/wei/models.py:89 apps/wei/templates/wei/weiclub_detail.html:51 +#: apps/wei/models.py:103 apps/wei/templates/wei/weiclub_detail.html:51 msgid "Buses" msgstr "Buses" -#: apps/wei/models.py:135 +#: apps/wei/models.py:149 msgid "color" msgstr "Farbe" -#: apps/wei/models.py:136 +#: apps/wei/models.py:150 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:147 +#: apps/wei/models.py:161 msgid "Bus team" msgstr "Bus Team" -#: apps/wei/models.py:148 +#: apps/wei/models.py:162 msgid "Bus teams" msgstr "Bus Teams" -#: apps/wei/models.py:159 +#: apps/wei/models.py:173 msgid "WEI Role" msgstr "WEI Rolle" -#: apps/wei/models.py:183 +#: apps/wei/models.py:197 msgid "Credit from Société générale" msgstr "Kredit von der Société générale" -#: apps/wei/models.py:188 apps/wei/views.py:951 +#: apps/wei/models.py:202 apps/wei/views.py:984 msgid "Caution check given" msgstr "Caution check given" -#: apps/wei/models.py:192 apps/wei/templates/wei/weimembership_form.html:64 +#: apps/wei/models.py:208 +msgid "Check" +msgstr "" + +#: apps/wei/models.py:209 +#, fuzzy +#| msgid "transactions" +msgid "Note transaction" +msgstr "Transaktionen" + +#: apps/wei/models.py:212 +#, fuzzy +#| msgid "created at" +msgid "caution type" +msgstr "erschafft am" + +#: apps/wei/models.py:216 apps/wei/templates/wei/weimembership_form.html:64 msgid "birth date" msgstr "Geburtsdatum" -#: apps/wei/models.py:198 apps/wei/models.py:208 +#: apps/wei/models.py:222 apps/wei/models.py:232 msgid "Male" msgstr "Männlich" -#: apps/wei/models.py:199 apps/wei/models.py:209 +#: apps/wei/models.py:223 apps/wei/models.py:233 msgid "Female" msgstr "Weiblich" -#: apps/wei/models.py:200 +#: apps/wei/models.py:224 msgid "Non binary" msgstr "Nicht binär" -#: apps/wei/models.py:202 apps/wei/templates/wei/attribute_bus_1A.html:22 +#: apps/wei/models.py:226 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:210 +#: apps/wei/models.py:234 msgid "Unisex" msgstr "Unisex" -#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58 +#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:58 msgid "clothing cut" msgstr "Kleidung Schnitt" -#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61 +#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:61 msgid "clothing size" msgstr "Kleidergröße" -#: apps/wei/models.py:232 +#: apps/wei/models.py:256 msgid "health issues" msgstr "Gesundheitsprobleme" -#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70 +#: apps/wei/models.py:261 apps/wei/templates/wei/weimembership_form.html:70 msgid "emergency contact name" msgstr "Notfall-Kontakt" -#: apps/wei/models.py:238 +#: apps/wei/models.py:262 msgid "The emergency contact must not be a WEI participant" msgstr "Der Notfallkontakt darf kein WEI-Teilnehmer sein" -#: apps/wei/models.py:243 apps/wei/templates/wei/weimembership_form.html:73 +#: apps/wei/models.py:267 apps/wei/templates/wei/weimembership_form.html:73 msgid "emergency contact phone" msgstr "Notfallkontakttelefon" -#: apps/wei/models.py:248 apps/wei/templates/wei/weimembership_form.html:52 +#: apps/wei/models.py:272 apps/wei/templates/wei/weimembership_form.html:52 msgid "first year" msgstr "Erste Jahr" -#: apps/wei/models.py:249 +#: apps/wei/models.py:273 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:254 +#: apps/wei/models.py:278 msgid "registration information" msgstr "Registrierung Detailen" -#: apps/wei/models.py:255 +#: apps/wei/models.py:279 msgid "" "Information about the registration (buses for old members, survey for the " "new members), encoded in JSON" @@ -3275,27 +3297,27 @@ msgstr "" "Informationen zur Registrierung (Busse für alte Mitglieder, Umfrage für neue " "Mitglieder), verschlüsselt in JSON" -#: apps/wei/models.py:261 +#: apps/wei/models.py:285 msgid "WEI User" msgstr "WEI User" -#: apps/wei/models.py:262 +#: apps/wei/models.py:286 msgid "WEI Users" msgstr "WEI Users" -#: apps/wei/models.py:334 +#: apps/wei/models.py:358 msgid "team" msgstr "Team" -#: apps/wei/models.py:344 +#: apps/wei/models.py:368 msgid "WEI registration" msgstr "WEI Registrierung" -#: apps/wei/models.py:348 +#: apps/wei/models.py:372 msgid "WEI membership" msgstr "WEI Mitgliedschaft" -#: apps/wei/models.py:349 +#: apps/wei/models.py:373 msgid "WEI memberships" msgstr "WEI Mitgliedschaften" @@ -3327,7 +3349,7 @@ msgstr "Jahr" msgid "preferred bus" msgstr "bevorzugter Bus" -#: apps/wei/tables.py:210 apps/wei/templates/wei/bus_detail.html:32 +#: apps/wei/tables.py:210 apps/wei/templates/wei/bus_detail.html:36 #: apps/wei/templates/wei/busteam_detail.html:52 msgid "Teams" msgstr "Teams" @@ -3401,44 +3423,52 @@ msgstr "Tastenliste" msgid "WEI fee (paid students)" msgstr "WEI Preis (bezahlte Studenten)" -#: apps/wei/templates/wei/base.html:47 apps/wei/templates/wei/base.html:54 -msgid "The BDE membership is included in the WEI registration." -msgstr "Die BDE-Mitgliedschaft ist in der WEI-Registrierung enthalten." - -#: apps/wei/templates/wei/base.html:51 +#: apps/wei/templates/wei/base.html:47 msgid "WEI fee (unpaid students)" msgstr "WEI Preis (unbezahlte Studenten)" -#: apps/wei/templates/wei/base.html:76 +#: apps/wei/templates/wei/base.html:53 +#, fuzzy +#| msgid "total amount" +msgid "Caution amount" +msgstr "Totalanzahlt" + +#: apps/wei/templates/wei/base.html:74 msgid "WEI list" msgstr "WEI Liste" -#: apps/wei/templates/wei/base.html:81 apps/wei/views.py:557 +#: apps/wei/templates/wei/base.html:79 apps/wei/views.py:550 msgid "Register 1A" msgstr "1A Registrieren" -#: apps/wei/templates/wei/base.html:85 apps/wei/views.py:649 +#: apps/wei/templates/wei/base.html:83 apps/wei/views.py:644 msgid "Register 2A+" msgstr "2A+ Registrieren" -#: apps/wei/templates/wei/base.html:93 +#: apps/wei/templates/wei/base.html:91 msgid "Add bus" msgstr "Neue Bus" -#: apps/wei/templates/wei/base.html:97 +#: apps/wei/templates/wei/base.html:95 msgid "View WEI" msgstr "WEI schauen" -#: apps/wei/templates/wei/bus_detail.html:22 +#: apps/wei/templates/wei/bus_detail.html:21 +#, fuzzy +#| msgid "club" +msgid "View club" +msgstr "Club" + +#: apps/wei/templates/wei/bus_detail.html:26 #: apps/wei/templates/wei/busteam_detail.html:24 msgid "Add team" msgstr "Neue Team" -#: apps/wei/templates/wei/bus_detail.html:45 +#: apps/wei/templates/wei/bus_detail.html:49 msgid "Members" msgstr "Mitglied" -#: apps/wei/templates/wei/bus_detail.html:54 +#: apps/wei/templates/wei/bus_detail.html:58 #: apps/wei/templates/wei/busteam_detail.html:62 #: apps/wei/templates/wei/weimembership_list.html:31 msgid "View as PDF" @@ -3446,8 +3476,8 @@ msgstr "Als PDF schauen" #: apps/wei/templates/wei/survey.html:11 #: apps/wei/templates/wei/survey_closed.html:11 -#: apps/wei/templates/wei/survey_end.html:11 apps/wei/views.py:1095 -#: apps/wei/views.py:1150 apps/wei/views.py:1197 +#: apps/wei/templates/wei/survey_end.html:11 apps/wei/views.py:1159 +#: apps/wei/views.py:1214 apps/wei/views.py:1261 msgid "Survey WEI" msgstr "WEI Umfrage" @@ -3491,7 +3521,7 @@ msgstr "Unvalidierte Registrierungen" msgid "Attribute buses" msgstr "" -#: apps/wei/templates/wei/weiclub_list.html:14 apps/wei/views.py:83 +#: apps/wei/templates/wei/weiclub_list.html:14 apps/wei/views.py:82 msgid "Create WEI" msgstr "Neue WEI" @@ -3575,29 +3605,42 @@ msgstr "" "validieren, sobald die Bank die Erstellung des Kontos validiert hat, oder " "die Zahlungsmethode ändern." +#: apps/wei/templates/wei/weimembership_form.html:147 +msgid "Required payments:" +msgstr "" + #: apps/wei/templates/wei/weimembership_form.html:149 -#, python-format -msgid "" -"The note don't have enough money (%(balance)s, %(pretty_fee)s required). The " -"registration may fail if you don't credit the note now." -msgstr "" -"Die Note hat nicht genug Geld (%(balance)s,%(pretty_fee)s erforderlich). Die " -"Registrierung kann fehlschlagen, wenn Sie die Note jetzt nicht gutschreiben." +#, fuzzy, python-format +#| msgid "membership fee (paid students)" +msgid "Membership fees: %(amount)s" +msgstr "Mitgliedschaftpreis (bezahlte Studenten)" -#: apps/wei/templates/wei/weimembership_form.html:157 +#: apps/wei/templates/wei/weimembership_form.html:153 #, python-format -msgid "" -"The note has enough money (%(pretty_fee)s required), the registration is " -"possible." +msgid "Deposit (by Note transaction): %(amount)s" msgstr "" -"Die Note hat genug Geld (%(pretty_fee)s erforderlich), die Registrierung ist " -"möglich." -#: apps/wei/templates/wei/weimembership_form.html:166 +#: apps/wei/templates/wei/weimembership_form.html:156 +#: apps/wei/templates/wei/weimembership_form.html:163 +#, python-format +msgid "Total needed: %(total)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:160 +#, python-format +msgid "Deposit (by check): %(amount)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:168 +#, python-format +msgid "Current balance: %(balance)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:176 msgid "The user didn't give her/his caution check." msgstr "Der User hat nicht sein Vorsichtsprüfung gegeben." -#: apps/wei/templates/wei/weimembership_form.html:174 +#: apps/wei/templates/wei/weimembership_form.html:184 msgid "" "This user is not a member of the Kfet club for the coming year. The " "membership will be processed automatically, the WEI registration includes " @@ -3633,67 +3676,67 @@ msgstr "Bei diesem Muster wurde keine Vorregistrierung gefunden." msgid "View validated memberships..." msgstr "Validierte Mitgliedschaften anzeigen ..." -#: apps/wei/views.py:62 +#: apps/wei/views.py:61 msgid "Search WEI" msgstr "WEI finden" -#: apps/wei/views.py:113 +#: apps/wei/views.py:112 msgid "WEI Detail" msgstr "WEI Infos" -#: apps/wei/views.py:213 +#: apps/wei/views.py:212 msgid "View members of the WEI" msgstr "Mitglied der WEI schauen" -#: apps/wei/views.py:246 +#: apps/wei/views.py:245 msgid "Find WEI Membership" msgstr "WEI Mitgliedschaft finden" -#: apps/wei/views.py:256 +#: apps/wei/views.py:255 msgid "View registrations to the WEI" msgstr "Mitglied der WEI schauen" -#: apps/wei/views.py:285 +#: apps/wei/views.py:284 msgid "Find WEI Registration" msgstr "WEI Registrierung finden" -#: apps/wei/views.py:296 +#: apps/wei/views.py:295 msgid "Update the WEI" msgstr "WEI bearbeiten" -#: apps/wei/views.py:317 +#: apps/wei/views.py:316 msgid "Create new bus" msgstr "Neue Bus" -#: apps/wei/views.py:355 +#: apps/wei/views.py:354 msgid "Update bus" msgstr "Bus bearbeiten" -#: apps/wei/views.py:387 +#: apps/wei/views.py:386 msgid "Manage bus" msgstr "Bus ändern" -#: apps/wei/views.py:414 +#: apps/wei/views.py:413 msgid "Create new team" msgstr "Neue Bus Team" -#: apps/wei/views.py:461 +#: apps/wei/views.py:457 msgid "Update team" msgstr "Team bearbeiten" -#: apps/wei/views.py:499 +#: apps/wei/views.py:492 msgid "Manage WEI team" msgstr "WEI Team bearbeiten" -#: apps/wei/views.py:521 +#: apps/wei/views.py:514 msgid "Register first year student to the WEI" msgstr "Registrieren Sie den Erstsemester beim WEI" -#: apps/wei/views.py:585 apps/wei/views.py:688 +#: apps/wei/views.py:580 apps/wei/views.py:689 msgid "This user is already registered to this WEI." msgstr "Dieser Benutzer ist bereits bei dieser WEI registriert." -#: apps/wei/views.py:590 +#: apps/wei/views.py:585 msgid "" "This user can't be in her/his first year since he/she has already " "participated to a WEI." @@ -3701,25 +3744,29 @@ msgstr "" "Dieser Benutzer kann nicht in seinem ersten Jahr sein, da er bereits an " "einer WEI teilgenommen hat." -#: apps/wei/views.py:613 +#: apps/wei/views.py:608 msgid "Register old student to the WEI" msgstr "Registrieren Sie einen alten Studenten beim WEI" -#: apps/wei/views.py:668 apps/wei/views.py:764 +#: apps/wei/views.py:663 apps/wei/views.py:768 msgid "You already opened an account in the Société générale." msgstr "Sie haben bereits ein Konto in der Société générale eröffnet." -#: apps/wei/views.py:724 +#: apps/wei/views.py:676 apps/wei/views.py:785 +msgid "Choose how you want to pay the deposit" +msgstr "" + +#: apps/wei/views.py:728 msgid "Update WEI Registration" msgstr "WEI Registrierung aktualisieren" -#: apps/wei/views.py:799 +#: apps/wei/views.py:810 #, fuzzy #| msgid "The BDE membership is included in the WEI registration." msgid "No membership found for this registration" msgstr "Die BDE-Mitgliedschaft ist in der WEI-Registrierung enthalten." -#: apps/wei/views.py:808 +#: apps/wei/views.py:819 #, fuzzy #| msgid "" #| "You don't have the permission to add an instance of model {app_label}." @@ -3729,7 +3776,7 @@ msgstr "" "Sie haben nicht die Berechtigung, eine Instanz von model {app_label}. " "{model_name} hinzufügen." -#: apps/wei/views.py:814 +#: apps/wei/views.py:825 #, fuzzy, python-format #| msgid "" #| "You don't have the permission to delete this instance of model " @@ -3739,25 +3786,19 @@ msgstr "" "Sie haben nicht die Berechtigung, eine Instanz von model {app_label}. " "{model_name} zulöschen." -#: apps/wei/views.py:855 +#: apps/wei/views.py:870 msgid "Delete WEI registration" msgstr "WEI Registrierung löschen" -#: apps/wei/views.py:866 +#: apps/wei/views.py:881 msgid "You don't have the right to delete this WEI registration." msgstr "Sie haben nicht das Recht, diese WEI-Registrierung zu löschen." -#: apps/wei/views.py:884 +#: apps/wei/views.py:899 msgid "Validate WEI registration" msgstr "Überprüfen Sie die WEI-Registrierung" -#: apps/wei/views.py:889 -#, fuzzy -#| msgid "You don't have the right to delete this WEI registration." -msgid "You don't have the permission to validate registrations" -msgstr "Sie haben nicht das Recht, diese WEI-Registrierung zu löschen." - -#: apps/wei/views.py:952 +#: apps/wei/views.py:985 #, fuzzy #| msgid "Please ask the user to credit its note before deleting this credit." msgid "Please make sure the check is given before validating the registration" @@ -3765,14 +3806,50 @@ msgstr "" "Bitte bitten Sie den Benutzer, seine Note gutzuschreiben, bevor Sie diese " "Kredit löschen." -#: apps/wei/views.py:1290 +#: apps/wei/views.py:991 +#, fuzzy +#| msgid "credit transaction" +msgid "Create deposit transaction" +msgstr "Kredit Transaktion" + +#: apps/wei/views.py:992 +#, python-format +msgid "" +"A transaction of %(amount).2f€ will be created from the user's Note account" +msgstr "" + +#: apps/wei/views.py:1087 +#, fuzzy, python-format +#| msgid "" +#| "This user don't have enough money to join this club, and can't have a " +#| "negative balance." +msgid "" +"This user doesn't have enough money to join this club and pay the deposit. " +"Current balance: %(balance)d€, credit: %(credit)d€, needed: %(needed)d€" +msgstr "" +"Diese User hat nicht genug Geld um Mitglied zu werden, und darf nich im Rot " +"sein." + +#: apps/wei/views.py:1140 +#, fuzzy, python-format +#| msgid "created at" +msgid "Caution %(name)s" +msgstr "erschafft am" + +#: apps/wei/views.py:1354 msgid "Attribute buses to first year members" msgstr "" -#: apps/wei/views.py:1315 +#: apps/wei/views.py:1379 msgid "Attribute bus" msgstr "" +#: apps/wei/views.py:1419 +msgid "" +"No first year student without a bus found. Either all of them have a bus, or " +"none has filled the survey yet." +msgstr "" + #: apps/wrapped/apps.py:10 msgid "wrapped" msgstr "" @@ -5769,6 +5846,31 @@ msgstr "" "müssen Ihre E-Mail-Adresse auch überprüfen, indem Sie dem Link folgen, den " "Sie erhalten haben." +#~ msgid "The BDE membership is included in the WEI registration." +#~ msgstr "Die BDE-Mitgliedschaft ist in der WEI-Registrierung enthalten." + +#, python-format +#~ msgid "" +#~ "The note don't have enough money (%(balance)s, %(pretty_fee)s required). " +#~ "The registration may fail if you don't credit the note now." +#~ msgstr "" +#~ "Die Note hat nicht genug Geld (%(balance)s,%(pretty_fee)s erforderlich). " +#~ "Die Registrierung kann fehlschlagen, wenn Sie die Note jetzt nicht " +#~ "gutschreiben." + +#, python-format +#~ msgid "" +#~ "The note has enough money (%(pretty_fee)s required), the registration is " +#~ "possible." +#~ msgstr "" +#~ "Die Note hat genug Geld (%(pretty_fee)s erforderlich), die Registrierung " +#~ "ist möglich." + +#, fuzzy +#~| msgid "You don't have the right to delete this WEI registration." +#~ msgid "You don't have the permission to validate registrations" +#~ msgstr "Sie haben nicht das Recht, diese WEI-Registrierung zu löschen." + #, fuzzy #~| msgid "active" #~ msgid "is active" @@ -5794,11 +5896,6 @@ msgstr "" #~ msgid "View details" #~ msgstr "Profile detail" -#, fuzzy -#~| msgid "created at" -#~ msgid "Creation date" -#~ msgstr "erschafft am" - #, fuzzy #~| msgid "There is no results." #~ msgid "There is no meal." diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index e1896993..cee9810f 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: 2025-05-27 16:46+0200\n" +"POT-Creation-Date: 2025-06-02 00:58+0200\n" "PO-Revision-Date: 2022-04-11 23:12+0200\n" "Last-Translator: bleizi \n" "Language-Team: \n" @@ -65,7 +65,7 @@ msgstr "Usted no puede invitar más de 3 persona a esta actividad." #: 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/models.py:72 apps/wei/models.py:145 apps/wei/tables.py:282 #: apps/wei/templates/wei/base.html:26 #: apps/wei/templates/wei/weimembership_form.html:14 apps/wrapped/models.py:16 msgid "name" @@ -100,7 +100,7 @@ msgstr "tipos de actividad" #: apps/activity/models.py:68 #: apps/activity/templates/activity/includes/activity_info.html:19 #: 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 +#: apps/permission/models.py:188 apps/wei/models.py:92 apps/wei/models.py:156 msgid "description" msgstr "descripción" @@ -121,7 +121,7 @@ msgstr "tipo" #: apps/activity/models.py:91 apps/logs/models.py:22 apps/member/models.py:325 #: apps/note/models/notes.py:148 apps/treasury/models.py:294 -#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13 +#: apps/wei/models.py:185 apps/wei/templates/wei/attribute_bus_1A.html:13 #: apps/wei/templates/wei/survey.html:15 msgid "user" msgstr "usuario" @@ -294,14 +294,14 @@ msgstr "Tipo" #: apps/activity/tables.py:86 apps/member/forms.py:199 #: apps/registration/forms.py:91 apps/treasury/forms.py:131 -#: apps/wei/forms/registration.py:107 +#: apps/wei/forms/registration.py:116 msgid "Last name" msgstr "Apellido" #: apps/activity/tables.py:88 apps/member/forms.py:204 #: apps/note/templates/note/transaction_form.html:138 #: apps/registration/forms.py:96 apps/treasury/forms.py:133 -#: apps/wei/forms/registration.py:112 +#: apps/wei/forms/registration.py:121 msgid "First name" msgstr "Nombre" @@ -1027,12 +1027,12 @@ msgid "Check this case if the Société Générale paid the inscription." msgstr "Marcar esta casilla si Société Générale pagó la registración." #: apps/member/forms.py:185 apps/registration/forms.py:78 -#: apps/wei/forms/registration.py:94 +#: apps/wei/forms/registration.py:103 msgid "Credit type" msgstr "Tipo de crédito" #: apps/member/forms.py:186 apps/registration/forms.py:79 -#: apps/wei/forms/registration.py:95 +#: apps/wei/forms/registration.py:104 msgid "No credit" msgstr "No crédito" @@ -1041,13 +1041,13 @@ msgid "You can credit the note of the user." msgstr "Usted puede acreditar la note del usuario." #: apps/member/forms.py:192 apps/registration/forms.py:84 -#: apps/wei/forms/registration.py:100 +#: apps/wei/forms/registration.py:109 msgid "Credit amount" msgstr "Valor del crédito" #: apps/member/forms.py:209 apps/note/templates/note/transaction_form.html:144 #: apps/registration/forms.py:101 apps/treasury/forms.py:135 -#: apps/wei/forms/registration.py:117 +#: apps/wei/forms/registration.py:126 msgid "Bank" msgstr "Banco" @@ -1252,7 +1252,7 @@ msgstr "Active su cuenta Note Kfet" #: apps/member/templates/member/includes/club_info.html:55 #: apps/member/templates/member/includes/profile_info.html:40 #: apps/registration/templates/registration/future_profile_detail.html:22 -#: apps/wei/templates/wei/base.html:70 +#: apps/wei/templates/wei/base.html:68 #: apps/wei/templates/wei/weimembership_form.html:20 msgid "email" msgstr "correo electrónico" @@ -1305,7 +1305,7 @@ msgid "add to registration form" msgstr "Validar la afiliación" #: apps/member/models.py:268 apps/member/models.py:331 -#: apps/note/models/notes.py:176 +#: apps/note/models/notes.py:176 apps/wei/models.py:86 msgid "club" msgstr "club" @@ -1505,13 +1505,13 @@ msgstr "pago de afiliación" #: apps/member/templates/member/includes/club_info.html:43 #: apps/member/templates/member/includes/profile_info.html:55 #: apps/treasury/templates/treasury/sogecredit_detail.html:24 -#: apps/wei/templates/wei/base.html:60 +#: apps/wei/templates/wei/base.html:58 msgid "balance" msgstr "saldo de la cuenta" #: apps/member/templates/member/includes/club_info.html:47 #: apps/member/templates/member/includes/profile_info.html:20 -#: apps/note/models/notes.py:287 apps/wei/templates/wei/base.html:66 +#: apps/note/models/notes.py:287 apps/wei/templates/wei/base.html:64 msgid "aliases" msgstr "alias" @@ -1689,7 +1689,7 @@ msgstr "Modificar el club" msgid "Add new member to the club" msgstr "Añadir un nuevo miembro al club" -#: apps/member/views.py:750 apps/wei/views.py:1040 +#: apps/member/views.py:750 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -2025,8 +2025,8 @@ msgstr "" "pago y un usuario o un club" #: apps/note/models/transactions.py:357 apps/note/models/transactions.py:360 -#: apps/note/models/transactions.py:363 apps/wei/views.py:1045 -#: apps/wei/views.py:1049 +#: apps/note/models/transactions.py:363 apps/wei/views.py:1097 +#: apps/wei/views.py:1101 #: env/lib/python3.11/site-packages/django/forms/fields.py:91 msgid "This field is required." msgstr "Este campo es obligatorio." @@ -2061,8 +2061,8 @@ msgstr "Añadir en retorno" #: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:151 #: apps/wei/tables.py:49 apps/wei/tables.py:50 -#: apps/wei/templates/wei/base.html:89 -#: apps/wei/templates/wei/bus_detail.html:20 +#: apps/wei/templates/wei/base.html:87 +#: apps/wei/templates/wei/bus_detail.html:24 #: apps/wei/templates/wei/busteam_detail.html:20 #: apps/wei/templates/wei/busteam_detail.html:42 #: env/lib/python3.11/site-packages/oauth2_provider/templates/oauth2_provider/application_detail.html:37 @@ -2528,7 +2528,7 @@ msgstr "El usuario declara que ya abrió una cuenta a la Société Générale." #: apps/registration/templates/registration/future_profile_detail.html:73 #: apps/wei/templates/wei/weimembership_form.html:127 -#: apps/wei/templates/wei/weimembership_form.html:186 +#: apps/wei/templates/wei/weimembership_form.html:196 msgid "Validate registration" msgstr "Validar la afiliación" @@ -3056,23 +3056,23 @@ 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:37 apps/wei/models.py:38 -#: apps/wei/models.py:62 apps/wei/models.py:178 +#: apps/wei/apps.py:10 apps/wei/models.py:42 apps/wei/models.py:43 +#: apps/wei/models.py:67 apps/wei/models.py:192 #: note_kfet/templates/base.html:108 msgid "WEI" msgstr "WEI" -#: apps/wei/forms/registration.py:36 +#: apps/wei/forms/registration.py:37 msgid "The selected user is not validated. Please validate its account first" msgstr "" "El usuario seleccionado no ha sido validado. Validar esta cuenta primero" -#: apps/wei/forms/registration.py:62 apps/wei/models.py:126 -#: apps/wei/models.py:324 +#: apps/wei/forms/registration.py:71 apps/wei/models.py:140 +#: apps/wei/models.py:348 msgid "bus" msgstr "bus" -#: apps/wei/forms/registration.py:63 +#: apps/wei/forms/registration.py:72 msgid "" "This choice is not definitive. The WEI organizers are free to attribute for " "you a bus and a team, in particular if you are a free eletron." @@ -3081,11 +3081,11 @@ msgstr "" "derecho de imponer su bus y su equipo, en particular para los electrones " "libres." -#: apps/wei/forms/registration.py:70 +#: apps/wei/forms/registration.py:79 msgid "Team" msgstr "Equipo" -#: apps/wei/forms/registration.py:72 +#: apps/wei/forms/registration.py:81 msgid "" "Leave this field empty if you won't be in a team (staff, bus chief, free " "electron)" @@ -3093,16 +3093,16 @@ msgstr "" "Deje este campo vacío si no quiere estar en un equipo (staff, jefe de bus, " "electrón libre)" -#: apps/wei/forms/registration.py:78 apps/wei/forms/registration.py:88 -#: apps/wei/models.py:160 +#: apps/wei/forms/registration.py:87 apps/wei/forms/registration.py:97 +#: apps/wei/models.py:174 msgid "WEI Roles" msgstr "Papeles en el WEI" -#: apps/wei/forms/registration.py:79 +#: apps/wei/forms/registration.py:88 msgid "Select the roles that you are interested in." msgstr "Elegir los papeles que le interesa." -#: apps/wei/forms/registration.py:125 +#: apps/wei/forms/registration.py:134 msgid "This team doesn't belong to the given bus." msgstr "Este equipo no pertenece al bus dado." @@ -3124,118 +3124,140 @@ msgstr "fecha de inicio" msgid "date end" msgstr "fecha de fin" -#: apps/wei/models.py:71 apps/wei/tables.py:305 +#: apps/wei/models.py:37 +#, fuzzy +#| msgid "total amount" +msgid "caution amount" +msgstr "monto total" + +#: apps/wei/models.py:76 apps/wei/tables.py:305 msgid "seat count in the bus" msgstr "cantidad de asientos en el bus" -#: apps/wei/models.py:83 +#: apps/wei/models.py:97 msgid "survey information" msgstr "informaciones sobre el cuestionario" -#: apps/wei/models.py:84 +#: apps/wei/models.py:98 msgid "Information about the survey for new members, encoded in JSON" msgstr "" "Informaciones sobre el cuestionario para los nuevos miembros, registrado en " "JSON" -#: apps/wei/models.py:88 +#: apps/wei/models.py:102 msgid "Bus" msgstr "Bus" -#: apps/wei/models.py:89 apps/wei/templates/wei/weiclub_detail.html:51 +#: apps/wei/models.py:103 apps/wei/templates/wei/weiclub_detail.html:51 msgid "Buses" msgstr "Bus" -#: apps/wei/models.py:135 +#: apps/wei/models.py:149 msgid "color" msgstr "color" -#: apps/wei/models.py:136 +#: apps/wei/models.py:150 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:147 +#: apps/wei/models.py:161 msgid "Bus team" msgstr "Equipo de bus" -#: apps/wei/models.py:148 +#: apps/wei/models.py:162 msgid "Bus teams" msgstr "Equipos de bus" -#: apps/wei/models.py:159 +#: apps/wei/models.py:173 msgid "WEI Role" msgstr "Papeles en el WEI" -#: apps/wei/models.py:183 +#: apps/wei/models.py:197 msgid "Credit from Société générale" msgstr "Crédito de la Société Générale" -#: apps/wei/models.py:188 apps/wei/views.py:951 +#: apps/wei/models.py:202 apps/wei/views.py:984 msgid "Caution check given" msgstr "Cheque de garantía dado" -#: apps/wei/models.py:192 apps/wei/templates/wei/weimembership_form.html:64 +#: apps/wei/models.py:208 +msgid "Check" +msgstr "" + +#: apps/wei/models.py:209 +#, fuzzy +#| msgid "transactions" +msgid "Note transaction" +msgstr "transacciones" + +#: apps/wei/models.py:212 +#, fuzzy +#| msgid "created at" +msgid "caution type" +msgstr "creada el" + +#: apps/wei/models.py:216 apps/wei/templates/wei/weimembership_form.html:64 msgid "birth date" msgstr "fecha de nacimiento" -#: apps/wei/models.py:198 apps/wei/models.py:208 +#: apps/wei/models.py:222 apps/wei/models.py:232 msgid "Male" msgstr "Hombre" -#: apps/wei/models.py:199 apps/wei/models.py:209 +#: apps/wei/models.py:223 apps/wei/models.py:233 msgid "Female" msgstr "Mujer" -#: apps/wei/models.py:200 +#: apps/wei/models.py:224 msgid "Non binary" msgstr "No binari@" -#: apps/wei/models.py:202 apps/wei/templates/wei/attribute_bus_1A.html:22 +#: apps/wei/models.py:226 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:210 +#: apps/wei/models.py:234 msgid "Unisex" msgstr "Unisex" -#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58 +#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:58 msgid "clothing cut" msgstr "forma de ropa" -#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61 +#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:61 msgid "clothing size" msgstr "medida de ropa" -#: apps/wei/models.py:232 +#: apps/wei/models.py:256 msgid "health issues" msgstr "problemas de salud" -#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70 +#: apps/wei/models.py:261 apps/wei/templates/wei/weimembership_form.html:70 msgid "emergency contact name" msgstr "nombre del contacto de emergencia" -#: apps/wei/models.py:238 +#: apps/wei/models.py:262 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:243 apps/wei/templates/wei/weimembership_form.html:73 +#: apps/wei/models.py:267 apps/wei/templates/wei/weimembership_form.html:73 msgid "emergency contact phone" msgstr "teléfono del contacto de emergencia" -#: apps/wei/models.py:248 apps/wei/templates/wei/weimembership_form.html:52 +#: apps/wei/models.py:272 apps/wei/templates/wei/weimembership_form.html:52 msgid "first year" msgstr "primer año" -#: apps/wei/models.py:249 +#: apps/wei/models.py:273 msgid "Tells if the user is new in the school." msgstr "Indica si el usuario es nuevo en la escuela." -#: apps/wei/models.py:254 +#: apps/wei/models.py:278 msgid "registration information" msgstr "informaciones sobre la afiliación" -#: apps/wei/models.py:255 +#: apps/wei/models.py:279 msgid "" "Information about the registration (buses for old members, survey for the " "new members), encoded in JSON" @@ -3243,27 +3265,27 @@ msgstr "" "Informaciones sobre la afiliacion (bus para miembros ancianos, cuestionario " "para los nuevos miembros), registrado en JSON" -#: apps/wei/models.py:261 +#: apps/wei/models.py:285 msgid "WEI User" msgstr "Participante WEI" -#: apps/wei/models.py:262 +#: apps/wei/models.py:286 msgid "WEI Users" msgstr "Participantes WEI" -#: apps/wei/models.py:334 +#: apps/wei/models.py:358 msgid "team" msgstr "equipo" -#: apps/wei/models.py:344 +#: apps/wei/models.py:368 msgid "WEI registration" msgstr "Apuntación al WEI" -#: apps/wei/models.py:348 +#: apps/wei/models.py:372 msgid "WEI membership" msgstr "Afiliación al WEI" -#: apps/wei/models.py:349 +#: apps/wei/models.py:373 msgid "WEI memberships" msgstr "Afiliaciones al WEI" @@ -3291,7 +3313,7 @@ msgstr "Año" msgid "preferred bus" msgstr "bus preferido" -#: apps/wei/tables.py:210 apps/wei/templates/wei/bus_detail.html:32 +#: apps/wei/tables.py:210 apps/wei/templates/wei/bus_detail.html:36 #: apps/wei/templates/wei/busteam_detail.html:52 msgid "Teams" msgstr "Equipos" @@ -3357,44 +3379,52 @@ msgstr "Volver a la lista principal" msgid "WEI fee (paid students)" msgstr "Pago de entrada del WEI (estudiantes pagados)" -#: apps/wei/templates/wei/base.html:47 apps/wei/templates/wei/base.html:54 -msgid "The BDE membership is included in the WEI registration." -msgstr "La afiliación al BDE esta incluida en la afiliación WEI." - -#: apps/wei/templates/wei/base.html:51 +#: apps/wei/templates/wei/base.html:47 msgid "WEI fee (unpaid students)" msgstr "Pago de entrada del WEI (estudiantes no pagados)" -#: apps/wei/templates/wei/base.html:76 +#: apps/wei/templates/wei/base.html:53 +#, fuzzy +#| msgid "total amount" +msgid "Caution amount" +msgstr "monto total" + +#: apps/wei/templates/wei/base.html:74 msgid "WEI list" msgstr "Lista de los WEI" -#: apps/wei/templates/wei/base.html:81 apps/wei/views.py:557 +#: apps/wei/templates/wei/base.html:79 apps/wei/views.py:550 msgid "Register 1A" msgstr "Apuntar un 1A" -#: apps/wei/templates/wei/base.html:85 apps/wei/views.py:649 +#: apps/wei/templates/wei/base.html:83 apps/wei/views.py:644 msgid "Register 2A+" msgstr "Apuntar un 2A+" -#: apps/wei/templates/wei/base.html:93 +#: apps/wei/templates/wei/base.html:91 msgid "Add bus" msgstr "Añadir un bus" -#: apps/wei/templates/wei/base.html:97 +#: apps/wei/templates/wei/base.html:95 msgid "View WEI" msgstr "Ver un WEI" -#: apps/wei/templates/wei/bus_detail.html:22 +#: apps/wei/templates/wei/bus_detail.html:21 +#, fuzzy +#| msgid "club" +msgid "View club" +msgstr "club" + +#: apps/wei/templates/wei/bus_detail.html:26 #: apps/wei/templates/wei/busteam_detail.html:24 msgid "Add team" msgstr "Añadir un equipo" -#: apps/wei/templates/wei/bus_detail.html:45 +#: apps/wei/templates/wei/bus_detail.html:49 msgid "Members" msgstr "Miembros" -#: apps/wei/templates/wei/bus_detail.html:54 +#: apps/wei/templates/wei/bus_detail.html:58 #: apps/wei/templates/wei/busteam_detail.html:62 #: apps/wei/templates/wei/weimembership_list.html:31 msgid "View as PDF" @@ -3402,8 +3432,8 @@ msgstr "Descargar un PDF" #: apps/wei/templates/wei/survey.html:11 #: apps/wei/templates/wei/survey_closed.html:11 -#: apps/wei/templates/wei/survey_end.html:11 apps/wei/views.py:1095 -#: apps/wei/views.py:1150 apps/wei/views.py:1197 +#: apps/wei/templates/wei/survey_end.html:11 apps/wei/views.py:1159 +#: apps/wei/views.py:1214 apps/wei/views.py:1261 msgid "Survey WEI" msgstr "Cuestionario WEI" @@ -3447,7 +3477,7 @@ msgstr "Inscripciones sin validación" msgid "Attribute buses" msgstr "Repartición en los buses" -#: apps/wei/templates/wei/weiclub_list.html:14 apps/wei/views.py:83 +#: apps/wei/templates/wei/weiclub_list.html:14 apps/wei/views.py:82 msgid "Create WEI" msgstr "Crear un WEI" @@ -3528,29 +3558,42 @@ msgstr "" "resultará invalida. Tendrá que validarla una vez que el banco confirmará la " "creación de la cuenta, o cambiará el método de pago." +#: apps/wei/templates/wei/weimembership_form.html:147 +msgid "Required payments:" +msgstr "" + #: apps/wei/templates/wei/weimembership_form.html:149 -#, python-format -msgid "" -"The note don't have enough money (%(balance)s, %(pretty_fee)s required). The " -"registration may fail if you don't credit the note now." -msgstr "" -"La note no tiene suficiente dinero (%(balance)s, %(pretty_fee)s pedidos). La " -"afiliación puede fallar si usted no acredita la note ahora." +#, fuzzy, python-format +#| msgid "membership fee (paid students)" +msgid "Membership fees: %(amount)s" +msgstr "pago de afiliación (estudiantes pagados)" -#: apps/wei/templates/wei/weimembership_form.html:157 +#: apps/wei/templates/wei/weimembership_form.html:153 #, python-format -msgid "" -"The note has enough money (%(pretty_fee)s required), the registration is " -"possible." +msgid "Deposit (by Note transaction): %(amount)s" msgstr "" -"La note tiene suficiente dinero (%(pretty_fee)s pedidos), la afiliación es " -"posible." -#: apps/wei/templates/wei/weimembership_form.html:166 +#: apps/wei/templates/wei/weimembership_form.html:156 +#: apps/wei/templates/wei/weimembership_form.html:163 +#, python-format +msgid "Total needed: %(total)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:160 +#, python-format +msgid "Deposit (by check): %(amount)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:168 +#, python-format +msgid "Current balance: %(balance)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:176 msgid "The user didn't give her/his caution check." msgstr "El usuario no dio su cheque de garantía." -#: apps/wei/templates/wei/weimembership_form.html:174 +#: apps/wei/templates/wei/weimembership_form.html:184 msgid "" "This user is not a member of the Kfet club for the coming year. The " "membership will be processed automatically, the WEI registration includes " @@ -3584,91 +3627,95 @@ msgstr "No hay pre-inscripción encontrada con esta entrada." msgid "View validated memberships..." msgstr "Ver las inscripciones validadas..." -#: apps/wei/views.py:62 +#: apps/wei/views.py:61 msgid "Search WEI" msgstr "Buscar un WEI" -#: apps/wei/views.py:113 +#: apps/wei/views.py:112 msgid "WEI Detail" msgstr "Detalles del WEI" -#: apps/wei/views.py:213 +#: apps/wei/views.py:212 msgid "View members of the WEI" msgstr "Ver los miembros del WEI" -#: apps/wei/views.py:246 +#: apps/wei/views.py:245 msgid "Find WEI Membership" msgstr "Buscar una afiliación al WEI" -#: apps/wei/views.py:256 +#: apps/wei/views.py:255 msgid "View registrations to the WEI" msgstr "Ver las inscripciones al WEI" -#: apps/wei/views.py:285 +#: apps/wei/views.py:284 msgid "Find WEI Registration" msgstr "Buscar una inscripción al WEI" -#: apps/wei/views.py:296 +#: apps/wei/views.py:295 msgid "Update the WEI" msgstr "Modificar el WEI" -#: apps/wei/views.py:317 +#: apps/wei/views.py:316 msgid "Create new bus" msgstr "Añadir un bus" -#: apps/wei/views.py:355 +#: apps/wei/views.py:354 msgid "Update bus" msgstr "Modificar el bus" -#: apps/wei/views.py:387 +#: apps/wei/views.py:386 msgid "Manage bus" msgstr "Gestionar el bus" -#: apps/wei/views.py:414 +#: apps/wei/views.py:413 msgid "Create new team" msgstr "Añadir un equipo" -#: apps/wei/views.py:461 +#: apps/wei/views.py:457 msgid "Update team" msgstr "Modificar el equipo" -#: apps/wei/views.py:499 +#: apps/wei/views.py:492 msgid "Manage WEI team" msgstr "Gestionar el equipo" -#: apps/wei/views.py:521 +#: apps/wei/views.py:514 msgid "Register first year student to the WEI" msgstr "Registrar un 1A al WEI" -#: apps/wei/views.py:585 apps/wei/views.py:688 +#: apps/wei/views.py:580 apps/wei/views.py:689 msgid "This user is already registered to this WEI." msgstr "Este usuario ya afilió a este WEI." -#: apps/wei/views.py:590 +#: apps/wei/views.py:585 msgid "" "This user can't be in her/his first year since he/she has already " "participated to a WEI." msgstr "Este usuario no puede ser un 1A porque ya participó en un WEI." -#: apps/wei/views.py:613 +#: apps/wei/views.py:608 msgid "Register old student to the WEI" msgstr "Registrar un 2A+ al WEI" -#: apps/wei/views.py:668 apps/wei/views.py:764 +#: apps/wei/views.py:663 apps/wei/views.py:768 msgid "You already opened an account in the Société générale." msgstr "Usted ya abrió una cuenta a la Société Générale." -#: apps/wei/views.py:724 +#: apps/wei/views.py:676 apps/wei/views.py:785 +msgid "Choose how you want to pay the deposit" +msgstr "" + +#: apps/wei/views.py:728 msgid "Update WEI Registration" msgstr "Modificar la inscripción WEI" -#: apps/wei/views.py:799 +#: apps/wei/views.py:810 #, fuzzy #| msgid "The BDE membership is included in the WEI registration." msgid "No membership found for this registration" msgstr "La afiliación al BDE esta incluida en la afiliación WEI." -#: apps/wei/views.py:808 +#: apps/wei/views.py:819 #, fuzzy #| msgid "" #| "You don't have the permission to add an instance of model {app_label}." @@ -3678,7 +3725,7 @@ msgstr "" "Usted no tiene permiso a añadir an instance of model {app_label}." "{model_name}." -#: apps/wei/views.py:814 +#: apps/wei/views.py:825 #, fuzzy, python-format #| msgid "" #| "You don't have the permission to delete this instance of model " @@ -3688,39 +3735,69 @@ msgstr "" "Usted no tiene permiso a suprimir este instance of model {app_label}." "{model_name}." -#: apps/wei/views.py:855 +#: apps/wei/views.py:870 msgid "Delete WEI registration" msgstr "Suprimir la inscripción WEI" -#: apps/wei/views.py:866 +#: apps/wei/views.py:881 msgid "You don't have the right to delete this WEI registration." msgstr "Usted no tiene derecho a suprimir esta inscripción WEI." -#: apps/wei/views.py:884 +#: apps/wei/views.py:899 msgid "Validate WEI registration" msgstr "Validar la inscripción WEI" -#: apps/wei/views.py:889 -#, fuzzy -#| msgid "You don't have the right to delete this WEI registration." -msgid "You don't have the permission to validate registrations" -msgstr "Usted no tiene derecho a suprimir esta inscripción WEI." - -#: apps/wei/views.py:952 +#: apps/wei/views.py:985 #, fuzzy #| msgid "Please ask the user to credit its note before deleting this credit." msgid "Please make sure the check is given before validating the registration" msgstr "" "Por favor pide al usuario acreditar su note antes de suprimir este crédito." -#: apps/wei/views.py:1290 +#: apps/wei/views.py:991 +#, fuzzy +#| msgid "credit transaction" +msgid "Create deposit transaction" +msgstr "transacción de crédito" + +#: apps/wei/views.py:992 +#, python-format +msgid "" +"A transaction of %(amount).2f€ will be created from the user's Note account" +msgstr "" + +#: apps/wei/views.py:1087 +#, fuzzy, python-format +#| msgid "" +#| "This user don't have enough money to join this club, and can't have a " +#| "negative balance." +msgid "" +"This user doesn't have enough money to join this club and pay the deposit. " +"Current balance: %(balance)d€, credit: %(credit)d€, needed: %(needed)d€" +msgstr "" +"Este usuario no tiene suficiente dinero para unirse a este club, y no puede " +"tener un saldo negativo." + +#: apps/wei/views.py:1140 +#, fuzzy, python-format +#| msgid "created at" +msgid "Caution %(name)s" +msgstr "creada el" + +#: apps/wei/views.py:1354 msgid "Attribute buses to first year members" msgstr "Repartir los primer años en los buses" -#: apps/wei/views.py:1315 +#: apps/wei/views.py:1379 msgid "Attribute bus" msgstr "Repartir en un bus" +#: apps/wei/views.py:1419 +msgid "" +"No first year student without a bus found. Either all of them have a bus, or " +"none has filled the survey yet." +msgstr "" + #: apps/wrapped/apps.py:10 msgid "wrapped" msgstr "" @@ -5703,6 +5780,30 @@ msgstr "" "pagar su afiliación. Tambien tiene que validar su correo electronico con el " "enlace que recibió." +#~ msgid "The BDE membership is included in the WEI registration." +#~ msgstr "La afiliación al BDE esta incluida en la afiliación WEI." + +#, python-format +#~ msgid "" +#~ "The note don't have enough money (%(balance)s, %(pretty_fee)s required). " +#~ "The registration may fail if you don't credit the note now." +#~ msgstr "" +#~ "La note no tiene suficiente dinero (%(balance)s, %(pretty_fee)s pedidos). " +#~ "La afiliación puede fallar si usted no acredita la note ahora." + +#, python-format +#~ msgid "" +#~ "The note has enough money (%(pretty_fee)s required), the registration is " +#~ "possible." +#~ msgstr "" +#~ "La note tiene suficiente dinero (%(pretty_fee)s pedidos), la afiliación " +#~ "es posible." + +#, fuzzy +#~| msgid "You don't have the right to delete this WEI registration." +#~ msgid "You don't have the permission to validate registrations" +#~ msgstr "Usted no tiene derecho a suprimir esta inscripción WEI." + #, fuzzy #~| msgid "active" #~ msgid "is active" @@ -5728,11 +5829,6 @@ msgstr "" #~ msgid "View details" #~ msgstr "Detalles del usuario" -#, fuzzy -#~| msgid "created at" -#~ msgid "Creation date" -#~ msgstr "creada el" - #, fuzzy #~| msgid "There is no results." #~ msgid "There is no meal." diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 03a4ca7b..3e881043 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: 2025-05-27 16:46+0200\n" +"POT-Creation-Date: 2025-06-02 00:57+0200\n" "PO-Revision-Date: 2022-04-11 22:05+0200\n" "Last-Translator: bleizi \n" "Language-Team: French \n" @@ -66,7 +66,7 @@ msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité." #: 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/models.py:72 apps/wei/models.py:145 apps/wei/tables.py:282 #: apps/wei/templates/wei/base.html:26 #: apps/wei/templates/wei/weimembership_form.html:14 apps/wrapped/models.py:16 msgid "name" @@ -101,7 +101,7 @@ msgstr "types d'activité" #: apps/activity/models.py:68 #: apps/activity/templates/activity/includes/activity_info.html:19 #: 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 +#: apps/permission/models.py:188 apps/wei/models.py:92 apps/wei/models.py:156 msgid "description" msgstr "description" @@ -122,7 +122,7 @@ msgstr "type" #: apps/activity/models.py:91 apps/logs/models.py:22 apps/member/models.py:325 #: apps/note/models/notes.py:148 apps/treasury/models.py:294 -#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13 +#: apps/wei/models.py:185 apps/wei/templates/wei/attribute_bus_1A.html:13 #: apps/wei/templates/wei/survey.html:15 msgid "user" msgstr "utilisateur⋅rice" @@ -291,14 +291,14 @@ msgstr "Type" #: apps/activity/tables.py:86 apps/member/forms.py:199 #: apps/registration/forms.py:91 apps/treasury/forms.py:131 -#: apps/wei/forms/registration.py:107 +#: apps/wei/forms/registration.py:116 msgid "Last name" msgstr "Nom de famille" #: apps/activity/tables.py:88 apps/member/forms.py:204 #: apps/note/templates/note/transaction_form.html:138 #: apps/registration/forms.py:96 apps/treasury/forms.py:133 -#: apps/wei/forms/registration.py:112 +#: apps/wei/forms/registration.py:121 msgid "First name" msgstr "Prénom" @@ -971,12 +971,12 @@ msgid "Check this case if the Société Générale paid the inscription." msgstr "Cochez cette case si la Société Générale a payé l'inscription." #: apps/member/forms.py:185 apps/registration/forms.py:78 -#: apps/wei/forms/registration.py:94 +#: apps/wei/forms/registration.py:103 msgid "Credit type" msgstr "Type de rechargement" #: apps/member/forms.py:186 apps/registration/forms.py:79 -#: apps/wei/forms/registration.py:95 +#: apps/wei/forms/registration.py:104 msgid "No credit" msgstr "Pas de rechargement" @@ -985,13 +985,13 @@ msgid "You can credit the note of the user." msgstr "Vous pouvez créditer la note de l'utilisateur⋅rice avant l'adhésion." #: apps/member/forms.py:192 apps/registration/forms.py:84 -#: apps/wei/forms/registration.py:100 +#: apps/wei/forms/registration.py:109 msgid "Credit amount" msgstr "Montant à créditer" #: apps/member/forms.py:209 apps/note/templates/note/transaction_form.html:144 #: apps/registration/forms.py:101 apps/treasury/forms.py:135 -#: apps/wei/forms/registration.py:117 +#: apps/wei/forms/registration.py:126 msgid "Bank" msgstr "Banque" @@ -1196,7 +1196,7 @@ msgstr "Activez votre compte Note Kfet" #: apps/member/templates/member/includes/club_info.html:55 #: apps/member/templates/member/includes/profile_info.html:40 #: apps/registration/templates/registration/future_profile_detail.html:22 -#: apps/wei/templates/wei/base.html:70 +#: apps/wei/templates/wei/base.html:68 #: apps/wei/templates/wei/weimembership_form.html:20 msgid "email" msgstr "courriel" @@ -1248,7 +1248,7 @@ msgid "add to registration form" msgstr "ajouter au formulaire d'inscription" #: apps/member/models.py:268 apps/member/models.py:331 -#: apps/note/models/notes.py:176 +#: apps/note/models/notes.py:176 apps/wei/models.py:86 msgid "club" msgstr "club" @@ -1449,13 +1449,13 @@ msgstr "cotisation pour adhérer" #: apps/member/templates/member/includes/club_info.html:43 #: apps/member/templates/member/includes/profile_info.html:55 #: apps/treasury/templates/treasury/sogecredit_detail.html:24 -#: apps/wei/templates/wei/base.html:60 +#: apps/wei/templates/wei/base.html:58 msgid "balance" msgstr "solde du compte" #: apps/member/templates/member/includes/club_info.html:47 #: apps/member/templates/member/includes/profile_info.html:20 -#: apps/note/models/notes.py:287 apps/wei/templates/wei/base.html:66 +#: apps/note/models/notes.py:287 apps/wei/templates/wei/base.html:64 msgid "aliases" msgstr "alias" @@ -1633,7 +1633,7 @@ msgstr "Modifier le club" msgid "Add new member to the club" msgstr "Ajouter un·e nouvelleau membre au club" -#: apps/member/views.py:750 apps/wei/views.py:1040 +#: apps/member/views.py:750 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -1970,8 +1970,8 @@ msgstr "" "mode de paiement et un⋅e utilisateur⋅rice ou un club" #: apps/note/models/transactions.py:357 apps/note/models/transactions.py:360 -#: apps/note/models/transactions.py:363 apps/wei/views.py:1045 -#: apps/wei/views.py:1049 +#: apps/note/models/transactions.py:363 apps/wei/views.py:1097 +#: apps/wei/views.py:1101 #: env/lib/python3.11/site-packages/django/forms/fields.py:91 msgid "This field is required." msgstr "Ce champ est requis." @@ -2006,8 +2006,8 @@ msgstr "Ajouter" #: apps/note/tables.py:262 apps/note/templates/note/conso_form.html:151 #: apps/wei/tables.py:49 apps/wei/tables.py:50 -#: apps/wei/templates/wei/base.html:89 -#: apps/wei/templates/wei/bus_detail.html:20 +#: apps/wei/templates/wei/base.html:87 +#: apps/wei/templates/wei/bus_detail.html:24 #: apps/wei/templates/wei/busteam_detail.html:20 #: apps/wei/templates/wei/busteam_detail.html:42 #: env/lib/python3.11/site-packages/oauth2_provider/templates/oauth2_provider/application_detail.html:37 @@ -2481,7 +2481,7 @@ msgstr "" #: apps/registration/templates/registration/future_profile_detail.html:73 #: apps/wei/templates/wei/weimembership_form.html:127 -#: apps/wei/templates/wei/weimembership_form.html:186 +#: apps/wei/templates/wei/weimembership_form.html:196 msgid "Validate registration" msgstr "Valider l'inscription" @@ -3007,24 +3007,24 @@ 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:37 apps/wei/models.py:38 -#: apps/wei/models.py:62 apps/wei/models.py:178 +#: apps/wei/apps.py:10 apps/wei/models.py:42 apps/wei/models.py:43 +#: apps/wei/models.py:67 apps/wei/models.py:192 #: note_kfet/templates/base.html:108 msgid "WEI" msgstr "WEI" -#: apps/wei/forms/registration.py:36 +#: apps/wei/forms/registration.py:37 msgid "The selected user is not validated. Please validate its account first" msgstr "" "L'utilisateur·rice sélectionné·e n'est pas validé·e. Merci de d'abord " "valider son compte" -#: apps/wei/forms/registration.py:62 apps/wei/models.py:126 -#: apps/wei/models.py:324 +#: apps/wei/forms/registration.py:71 apps/wei/models.py:140 +#: apps/wei/models.py:348 msgid "bus" msgstr "bus" -#: apps/wei/forms/registration.py:63 +#: apps/wei/forms/registration.py:72 msgid "" "This choice is not definitive. The WEI organizers are free to attribute for " "you a bus and a team, in particular if you are a free eletron." @@ -3033,11 +3033,11 @@ msgstr "" "vous attribuer un bus et une équipe, en particulier si vous êtes un·e " "électron libre." -#: apps/wei/forms/registration.py:70 +#: apps/wei/forms/registration.py:79 msgid "Team" msgstr "Équipe" -#: apps/wei/forms/registration.py:72 +#: apps/wei/forms/registration.py:81 msgid "" "Leave this field empty if you won't be in a team (staff, bus chief, free " "electron)" @@ -3045,16 +3045,16 @@ msgstr "" "Laissez ce champ vide si vous ne serez pas dans une équipe (staff, chef de " "bus ou électron libre)" -#: apps/wei/forms/registration.py:78 apps/wei/forms/registration.py:88 -#: apps/wei/models.py:160 +#: apps/wei/forms/registration.py:87 apps/wei/forms/registration.py:97 +#: apps/wei/models.py:174 msgid "WEI Roles" msgstr "Rôles au WEI" -#: apps/wei/forms/registration.py:79 +#: apps/wei/forms/registration.py:88 msgid "Select the roles that you are interested in." msgstr "Sélectionnez les rôles qui vous intéressent." -#: apps/wei/forms/registration.py:125 +#: apps/wei/forms/registration.py:134 msgid "This team doesn't belong to the given bus." msgstr "Cette équipe n'appartient pas à ce bus." @@ -3076,120 +3076,140 @@ msgstr "début" msgid "date end" msgstr "fin" -#: apps/wei/models.py:71 apps/wei/tables.py:305 +#: apps/wei/models.py:37 +#, fuzzy +#| msgid "total amount" +msgid "caution amount" +msgstr "montant total" + +#: apps/wei/models.py:76 apps/wei/tables.py:305 msgid "seat count in the bus" msgstr "nombre de sièges dans le bus" -#: apps/wei/models.py:83 +#: apps/wei/models.py:97 msgid "survey information" msgstr "informations sur le questionnaire" -#: apps/wei/models.py:84 +#: apps/wei/models.py:98 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:88 +#: apps/wei/models.py:102 msgid "Bus" msgstr "Bus" -#: apps/wei/models.py:89 apps/wei/templates/wei/weiclub_detail.html:51 +#: apps/wei/models.py:103 apps/wei/templates/wei/weiclub_detail.html:51 msgid "Buses" msgstr "Bus" -#: apps/wei/models.py:135 +#: apps/wei/models.py:149 msgid "color" msgstr "couleur" -#: apps/wei/models.py:136 +#: apps/wei/models.py:150 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:147 +#: apps/wei/models.py:161 msgid "Bus team" msgstr "Équipe de bus" -#: apps/wei/models.py:148 +#: apps/wei/models.py:162 msgid "Bus teams" msgstr "Équipes de bus" -#: apps/wei/models.py:159 +#: apps/wei/models.py:173 msgid "WEI Role" msgstr "Rôle au WEI" -#: apps/wei/models.py:183 +#: apps/wei/models.py:197 msgid "Credit from Société générale" msgstr "Crédit de la Société générale" -#: apps/wei/models.py:188 apps/wei/views.py:951 +#: apps/wei/models.py:202 apps/wei/views.py:984 msgid "Caution check given" msgstr "Chèque de caution donné" -#: apps/wei/models.py:192 apps/wei/templates/wei/weimembership_form.html:64 +#: apps/wei/models.py:208 +msgid "Check" +msgstr "" + +#: apps/wei/models.py:209 +#, fuzzy +#| msgid " transactions" +msgid "Note transaction" +msgstr " transactions" + +#: apps/wei/models.py:212 +msgid "caution type" +msgstr "date de création" + +#: apps/wei/models.py:216 apps/wei/templates/wei/weimembership_form.html:64 msgid "birth date" msgstr "date de naissance" -#: apps/wei/models.py:198 apps/wei/models.py:208 +#: apps/wei/models.py:222 apps/wei/models.py:232 msgid "Male" msgstr "Homme" -#: apps/wei/models.py:199 apps/wei/models.py:209 +#: apps/wei/models.py:223 apps/wei/models.py:233 msgid "Female" msgstr "Femme" -#: apps/wei/models.py:200 +#: apps/wei/models.py:224 msgid "Non binary" msgstr "Non-binaire" -#: apps/wei/models.py:202 apps/wei/templates/wei/attribute_bus_1A.html:22 +#: apps/wei/models.py:226 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:210 +#: apps/wei/models.py:234 msgid "Unisex" msgstr "Unisexe" -#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58 +#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:58 msgid "clothing cut" msgstr "coupe de vêtement" -#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61 +#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:61 msgid "clothing size" msgstr "taille de vêtement" -#: apps/wei/models.py:232 +#: apps/wei/models.py:256 msgid "health issues" msgstr "problèmes de santé" -#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70 +#: apps/wei/models.py:261 apps/wei/templates/wei/weimembership_form.html:70 msgid "emergency contact name" msgstr "nom du contact en cas d'urgence" -#: apps/wei/models.py:238 +#: apps/wei/models.py:262 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:243 apps/wei/templates/wei/weimembership_form.html:73 +#: apps/wei/models.py:267 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:248 apps/wei/templates/wei/weimembership_form.html:52 +#: apps/wei/models.py:272 apps/wei/templates/wei/weimembership_form.html:52 msgid "first year" msgstr "première année" -#: apps/wei/models.py:249 +#: apps/wei/models.py:273 msgid "Tells if the user is new in the school." msgstr "Indique si l'utilisateur⋅rice est nouvelleeau dans l'école." -#: apps/wei/models.py:254 +#: apps/wei/models.py:278 msgid "registration information" msgstr "informations sur l'inscription" -#: apps/wei/models.py:255 +#: apps/wei/models.py:279 msgid "" "Information about the registration (buses for old members, survey for the " "new members), encoded in JSON" @@ -3197,27 +3217,27 @@ msgstr "" "Informations sur l'inscription (bus pour les 2A+, questionnaire pour les " "1A), encodées en JSON" -#: apps/wei/models.py:261 +#: apps/wei/models.py:285 msgid "WEI User" msgstr "Participant·e au WEI" -#: apps/wei/models.py:262 +#: apps/wei/models.py:286 msgid "WEI Users" msgstr "Participant·e·s au WEI" -#: apps/wei/models.py:334 +#: apps/wei/models.py:358 msgid "team" msgstr "équipe" -#: apps/wei/models.py:344 +#: apps/wei/models.py:368 msgid "WEI registration" msgstr "Inscription au WEI" -#: apps/wei/models.py:348 +#: apps/wei/models.py:372 msgid "WEI membership" msgstr "Adhésion au WEI" -#: apps/wei/models.py:349 +#: apps/wei/models.py:373 msgid "WEI memberships" msgstr "Adhésions au WEI" @@ -3245,7 +3265,7 @@ msgstr "Année" msgid "preferred bus" msgstr "bus préféré" -#: apps/wei/tables.py:210 apps/wei/templates/wei/bus_detail.html:32 +#: apps/wei/tables.py:210 apps/wei/templates/wei/bus_detail.html:36 #: apps/wei/templates/wei/busteam_detail.html:52 msgid "Teams" msgstr "Équipes" @@ -3279,8 +3299,6 @@ msgid "Attribute first year members into buses" msgstr "Attribuer les 1A dans les bus" #: apps/wei/templates/wei/1A_list.html:15 -#, fuzzy -#| msgid "Start attribution!" msgid "Start attribution !" msgstr "Démarrer l'attribution !" @@ -3290,8 +3308,6 @@ msgstr "Répartition des bus" #: apps/wei/templates/wei/attribute_bus_1A.html:28 #: apps/wei/templates/wei/weimembership_form.html:67 -#, fuzzy -#| msgid "health issues" msgid "health issues or specific diet" msgstr "problèmes de santé" @@ -3311,44 +3327,48 @@ msgstr "Retour à la liste principale" msgid "WEI fee (paid students)" msgstr "Prix du WEI (élèves)" -#: apps/wei/templates/wei/base.html:47 apps/wei/templates/wei/base.html:54 -msgid "The BDE membership is included in the WEI registration." -msgstr "L'adhésion au BDE est offerte avec l'inscription au WEI." - -#: apps/wei/templates/wei/base.html:51 +#: apps/wei/templates/wei/base.html:47 msgid "WEI fee (unpaid students)" msgstr "Prix du WEI (étudiant⋅es)" -#: apps/wei/templates/wei/base.html:76 +#: apps/wei/templates/wei/base.html:53 +msgid "Deposit amount" +msgstr "Caution" + +#: apps/wei/templates/wei/base.html:74 msgid "WEI list" msgstr "Liste des WEI" -#: apps/wei/templates/wei/base.html:81 apps/wei/views.py:557 +#: apps/wei/templates/wei/base.html:79 apps/wei/views.py:550 msgid "Register 1A" msgstr "Inscrire un⋅e 1A" -#: apps/wei/templates/wei/base.html:85 apps/wei/views.py:649 +#: apps/wei/templates/wei/base.html:83 apps/wei/views.py:644 msgid "Register 2A+" msgstr "Inscrire un⋅e 2A+" -#: apps/wei/templates/wei/base.html:93 +#: apps/wei/templates/wei/base.html:91 msgid "Add bus" msgstr "Ajouter un bus" -#: apps/wei/templates/wei/base.html:97 +#: apps/wei/templates/wei/base.html:95 msgid "View WEI" msgstr "Voir le WEI" -#: apps/wei/templates/wei/bus_detail.html:22 +#: apps/wei/templates/wei/bus_detail.html:21 +msgid "View club" +msgstr "Voir le lub" + +#: apps/wei/templates/wei/bus_detail.html:26 #: apps/wei/templates/wei/busteam_detail.html:24 msgid "Add team" msgstr "Ajouter une équipe" -#: apps/wei/templates/wei/bus_detail.html:45 +#: apps/wei/templates/wei/bus_detail.html:49 msgid "Members" msgstr "Membres" -#: apps/wei/templates/wei/bus_detail.html:54 +#: apps/wei/templates/wei/bus_detail.html:58 #: apps/wei/templates/wei/busteam_detail.html:62 #: apps/wei/templates/wei/weimembership_list.html:31 msgid "View as PDF" @@ -3356,8 +3376,8 @@ msgstr "Télécharger au format PDF" #: apps/wei/templates/wei/survey.html:11 #: apps/wei/templates/wei/survey_closed.html:11 -#: apps/wei/templates/wei/survey_end.html:11 apps/wei/views.py:1095 -#: apps/wei/views.py:1150 apps/wei/views.py:1197 +#: apps/wei/templates/wei/survey_end.html:11 apps/wei/views.py:1159 +#: apps/wei/views.py:1214 apps/wei/views.py:1261 msgid "Survey WEI" msgstr "Questionnaire WEI" @@ -3402,7 +3422,7 @@ msgstr "Inscriptions non validées" msgid "Attribute buses" msgstr "Répartition dans les bus" -#: apps/wei/templates/wei/weiclub_list.html:14 apps/wei/views.py:83 +#: apps/wei/templates/wei/weiclub_list.html:14 apps/wei/views.py:82 msgid "Create WEI" msgstr "Créer un WEI" @@ -3483,28 +3503,42 @@ msgstr "" "mais invalide. Vous devrez la valider une fois que la banque aura validé la " "création du compte, ou bien changer de moyen de paiement." +#: apps/wei/templates/wei/weimembership_form.html:147 +msgid "Required payments:" +msgstr "" + #: apps/wei/templates/wei/weimembership_form.html:149 -#, python-format -msgid "" -"The note don't have enough money (%(balance)s, %(pretty_fee)s required). The " -"registration may fail if you don't credit the note now." -msgstr "" -"La note n'a pas assez d'argent (%(balance)s, %(pretty_fee)s requis). " -"L'inscription peut échouer si vous ne rechargez pas la note dès maintenant." +#, fuzzy, python-format +#| msgid "membership fee (paid students)" +msgid "Membership fees: %(amount)s" +msgstr "cotisation pour adhérer (normalien·ne élève)" -#: apps/wei/templates/wei/weimembership_form.html:157 +#: apps/wei/templates/wei/weimembership_form.html:153 #, python-format -msgid "" -"The note has enough money (%(pretty_fee)s required), the registration is " -"possible." +msgid "Deposit (by Note transaction): %(amount)s" msgstr "" -"La note a assez d'argent (%(pretty_fee)s requis), l'inscription est possible." -#: apps/wei/templates/wei/weimembership_form.html:166 +#: apps/wei/templates/wei/weimembership_form.html:156 +#: apps/wei/templates/wei/weimembership_form.html:163 +#, python-format +msgid "Total needed: %(total)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:160 +#, python-format +msgid "Deposit (by check): %(amount)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:168 +#, python-format +msgid "Current balance: %(balance)s" +msgstr "" + +#: apps/wei/templates/wei/weimembership_form.html:176 msgid "The user didn't give her/his caution check." msgstr "L'utilisateur⋅rice n'a pas donné son chèque de caution." -#: apps/wei/templates/wei/weimembership_form.html:174 +#: apps/wei/templates/wei/weimembership_form.html:184 msgid "" "This user is not a member of the Kfet club for the coming year. The " "membership will be processed automatically, the WEI registration includes " @@ -3541,67 +3575,67 @@ msgstr "Il n'y a pas de pré-inscription en attente avec cette entrée." msgid "View validated memberships..." msgstr "Voir les adhésions validées..." -#: apps/wei/views.py:62 +#: apps/wei/views.py:61 msgid "Search WEI" msgstr "Chercher un WEI" -#: apps/wei/views.py:113 +#: apps/wei/views.py:112 msgid "WEI Detail" msgstr "Détails du WEI" -#: apps/wei/views.py:213 +#: apps/wei/views.py:212 msgid "View members of the WEI" msgstr "Voir les membres du WEI" -#: apps/wei/views.py:246 +#: apps/wei/views.py:245 msgid "Find WEI Membership" msgstr "Trouver une adhésion au WEI" -#: apps/wei/views.py:256 +#: apps/wei/views.py:255 msgid "View registrations to the WEI" msgstr "Voir les inscriptions au WEI" -#: apps/wei/views.py:285 +#: apps/wei/views.py:284 msgid "Find WEI Registration" msgstr "Trouver une inscription au WEI" -#: apps/wei/views.py:296 +#: apps/wei/views.py:295 msgid "Update the WEI" msgstr "Modifier le WEI" -#: apps/wei/views.py:317 +#: apps/wei/views.py:316 msgid "Create new bus" msgstr "Ajouter un nouveau bus" -#: apps/wei/views.py:355 +#: apps/wei/views.py:354 msgid "Update bus" msgstr "Modifier le bus" -#: apps/wei/views.py:387 +#: apps/wei/views.py:386 msgid "Manage bus" msgstr "Gérer le bus" -#: apps/wei/views.py:414 +#: apps/wei/views.py:413 msgid "Create new team" msgstr "Créer une nouvelle équipe" -#: apps/wei/views.py:461 +#: apps/wei/views.py:457 msgid "Update team" msgstr "Modifier l'équipe" -#: apps/wei/views.py:499 +#: apps/wei/views.py:492 msgid "Manage WEI team" msgstr "Gérer l'équipe WEI" -#: apps/wei/views.py:521 +#: apps/wei/views.py:514 msgid "Register first year student to the WEI" msgstr "Inscrire un⋅e 1A au WEI" -#: apps/wei/views.py:585 apps/wei/views.py:688 +#: apps/wei/views.py:580 apps/wei/views.py:689 msgid "This user is already registered to this WEI." msgstr "Cette personne est déjà inscrite au WEI." -#: apps/wei/views.py:590 +#: apps/wei/views.py:585 msgid "" "This user can't be in her/his first year since he/she has already " "participated to a WEI." @@ -3609,27 +3643,27 @@ msgstr "" "Cet⋅te utilisateur⋅rice ne peut pas être en première année puisqu'iel a déjà " "participé à un WEI." -#: apps/wei/views.py:613 +#: apps/wei/views.py:608 msgid "Register old student to the WEI" msgstr "Inscrire un⋅e 2A+ au WEI" -#: apps/wei/views.py:668 apps/wei/views.py:764 +#: apps/wei/views.py:663 apps/wei/views.py:768 msgid "You already opened an account in the Société générale." msgstr "Vous avez déjà ouvert un compte auprès de la société générale." -#: apps/wei/views.py:724 +#: apps/wei/views.py:676 apps/wei/views.py:785 +msgid "Choose how you want to pay the deposit" +msgstr "" + +#: apps/wei/views.py:728 msgid "Update WEI Registration" msgstr "Modifier l'inscription WEI" -#: apps/wei/views.py:799 -#, fuzzy -#| msgid "The BDE membership is included in the WEI registration." +#: apps/wei/views.py:810 msgid "No membership found for this registration" -msgstr "L'adhésion au BDE est offerte avec l'inscription au WEI." +msgstr "Pas d'adhésion trouvée pour cette inscription" -#: apps/wei/views.py:808 -#, fuzzy -#| msgid "" +#: apps/wei/views.py:819 #| "You don't have the permission to add an instance of model {app_label}." #| "{model_name}." msgid "You don't have the permission to update memberships" @@ -3637,7 +3671,7 @@ msgstr "" "Vous n'avez pas la permission d'ajouter une instance du modèle {app_label}." "{model_name}." -#: apps/wei/views.py:814 +#: apps/wei/views.py:825 #, fuzzy, python-format #| msgid "" #| "You don't have the permission to delete this instance of model " @@ -3647,40 +3681,61 @@ msgstr "" "Vous n'avez pas la permission de supprimer cette instance du modèle " "{app_label}.{model_name}." -#: apps/wei/views.py:855 +#: apps/wei/views.py:870 msgid "Delete WEI registration" msgstr "Supprimer l'inscription WEI" -#: apps/wei/views.py:866 +#: apps/wei/views.py:881 msgid "You don't have the right to delete this WEI registration." msgstr "Vous n'avez pas la permission de supprimer cette inscription au WEI." -#: apps/wei/views.py:884 +#: apps/wei/views.py:899 msgid "Validate WEI registration" msgstr "Valider l'inscription WEI" -#: apps/wei/views.py:889 -#, fuzzy -#| msgid "You don't have the right to delete this WEI registration." -msgid "You don't have the permission to validate registrations" -msgstr "Vous n'avez pas la permission de supprimer cette inscription au WEI." - -#: apps/wei/views.py:952 -#, fuzzy -#| msgid "Please ask the user to credit its note before deleting this credit." +#: apps/wei/views.py:985 msgid "Please make sure the check is given before validating the registration" msgstr "" -"Merci de demander à l'utilisateur·rice de recharger sa note avant de " -"supprimer la demande de crédit." +"Merci de vous assurer que le chèque a bien été donné avant de valider l'adhésion" -#: apps/wei/views.py:1290 +#: apps/wei/views.py:991 +msgid "Create deposit transaction" +msgstr "Créer une transaction de caution" + +#: apps/wei/views.py:992 +#, python-format +msgid "A transaction of %(amount).2f€ will be created from the user's Note account" +msgstr "Un transaction de %(amount).2f€ va être créée depuis la note de l'utilisateur" + +#: apps/wei/views.py:1087 +#, python-format +msgid "This user doesn't have enough money to join this club and pay the deposit. " +"Current balance: %(balance)d€, credit: %(credit)d€, needed: %(needed)d€" +msgstr "" +"Cet⋅te utilisateur⋅rice n'a pas assez d'argent pour rejoindre ce club et " +"payer la caution" +"Solde actuel : %(balance)d€, crédit : %(credit)d€, requis : %(needed)d€" + +#: apps/wei/views.py:1140 +#, fuzzy, python-format +#| msgid "Creation date" +msgid "Caution %(name)s" +msgstr "Date de création" + +#: apps/wei/views.py:1354 msgid "Attribute buses to first year members" msgstr "Répartir les 1A dans les bus" -#: apps/wei/views.py:1315 +#: apps/wei/views.py:1379 msgid "Attribute bus" msgstr "Attribuer un bus" +#: apps/wei/views.py:1419 +msgid "" +"No first year student without a bus found. Either all of them have a bus, or " +"none has filled the survey yet." +msgstr "" + #: apps/wrapped/apps.py:10 msgid "wrapped" msgstr "wrapped" @@ -5683,6 +5738,32 @@ msgstr "" "d'adhésion. Vous devez également valider votre adresse email en suivant le " "lien que vous avez reçu." +#~ msgid "The BDE membership is included in the WEI registration." +#~ msgstr "L'adhésion au BDE est offerte avec l'inscription au WEI." + +#, python-format +#~ msgid "" +#~ "The note don't have enough money (%(balance)s, %(pretty_fee)s required). " +#~ "The registration may fail if you don't credit the note now." +#~ msgstr "" +#~ "La note n'a pas assez d'argent (%(balance)s, %(pretty_fee)s requis). " +#~ "L'inscription peut échouer si vous ne rechargez pas la note dès " +#~ "maintenant." + +#, python-format +#~ msgid "" +#~ "The note has enough money (%(pretty_fee)s required), the registration is " +#~ "possible." +#~ msgstr "" +#~ "La note a assez d'argent (%(pretty_fee)s requis), l'inscription est " +#~ "possible." + +#, fuzzy +#~| msgid "You don't have the right to delete this WEI registration." +#~ msgid "You don't have the permission to validate registrations" +#~ msgstr "" +#~ "Vous n'avez pas la permission de supprimer cette inscription au WEI." + #, python-brace-format #~ msgid "QR-code number {qr_code_number}" #~ msgstr "numéro du QR-code {qr_code_number}" @@ -5714,9 +5795,6 @@ msgstr "" #~ msgid "Ready" #~ msgstr "Prêt" -#~ msgid "Creation date" -#~ msgstr "Date de création" - #~ msgid "Ingredients" #~ msgstr "Ingrédients"