1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-05-19 18:51:20 +00:00

Compare commits

..

No commits in common. "bc535f40753f49711bd2115d2e0fed9cf15d363c" and "54dafe1cecbf6e7ada45a1f110cd8f2c65400519" have entirely different histories.

6 changed files with 59 additions and 115 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TFJM\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-21 23:41+0100\n"
"POT-Creation-Date: 2024-02-21 23:10+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Emmy D'Anello <emmy.danello@animath.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -30,7 +30,6 @@ msgstr "équipes"
#: participation/admin.py:16 participation/admin.py:73
#: participation/admin.py:104 participation/models.py:419
#: participation/models.py:443 participation/models.py:513
#: registration/templates/registration/payment_form.html:51
msgid "tournament"
msgstr "tournoi"
@ -328,7 +327,6 @@ msgstr "Continuer le tirage"
#: draw/templates/draw/tournament_content.html:216 participation/admin.py:100
#: participation/models.py:249 participation/models.py:434
#: registration/models.py:156
#: registration/templates/registration/payment_form.html:50
msgid "team"
msgstr "équipe"
@ -784,7 +782,6 @@ msgid "organizers"
msgstr "organisateur⋅rices"
#: participation/models.py:336
#: participation/templates/participation/team_detail.html:133
msgid "final"
msgstr "finale"
@ -1088,8 +1085,8 @@ msgstr "Rejoindre"
#: participation/templates/participation/pool_detail.html:110
#: participation/templates/participation/pool_detail.html:128
#: participation/templates/participation/pool_detail.html:133
#: participation/templates/participation/team_detail.html:151
#: participation/templates/participation/team_detail.html:215
#: participation/templates/participation/team_detail.html:128
#: participation/templates/participation/team_detail.html:192
#: participation/templates/participation/tournament_form.html:12
#: participation/templates/participation/update_team.html:12
#: registration/templates/registration/update_user.html:16
@ -1150,7 +1147,7 @@ msgstr "Envoyer une solution"
#: participation/templates/participation/participation_detail.html:59
#: participation/templates/participation/passage_detail.html:132
#: participation/templates/participation/pool_detail.html:138
#: participation/templates/participation/team_detail.html:210
#: participation/templates/participation/team_detail.html:187
#: participation/templates/participation/upload_motivation_letter.html:13
#: participation/templates/participation/upload_notes.html:17
#: participation/templates/participation/upload_solution.html:11
@ -1442,36 +1439,21 @@ msgstr "Télécharger"
msgid "Replace"
msgstr "Remplacer"
#: participation/templates/participation/team_detail.html:120
#: participation/templates/participation/team_detail.html:121
msgid "Download all submitted authorizations"
msgstr "Télécharger toutes les autorisations soumises"
#: participation/templates/participation/team_detail.html:131
msgid "Payment of"
msgstr "Paiement de"
#: participation/templates/participation/team_detail.html:132
#: registration/models.py:521
msgid "grouped"
msgstr "groupé"
#: participation/templates/participation/team_detail.html:140
#: registration/templates/registration/user_detail.html:163
#: registration/views.py:461
msgid "Update payment"
msgstr "Mettre à jour le paiement"
#: participation/templates/participation/team_detail.html:153
#: participation/templates/participation/team_detail.html:220
#: participation/templates/participation/team_detail.html:130
#: participation/templates/participation/team_detail.html:197
#: participation/templates/participation/team_leave.html:11
msgid "Leave"
msgstr "Quitter"
#: participation/templates/participation/team_detail.html:163
#: participation/templates/participation/team_detail.html:140
msgid "Access to team participation"
msgstr "Accéder à la participation de l'équipe"
#: participation/templates/participation/team_detail.html:170
#: participation/templates/participation/team_detail.html:147
msgid ""
"Your team has at least 4 members and a coach and all authorizations were "
"given: the team can be validated."
@ -1479,11 +1461,11 @@ msgstr ""
"Votre équipe contient au moins 4 personnes et un⋅e encadrant⋅e et toutes les "
"autorisations ont été données : l'équipe peut être validée."
#: participation/templates/participation/team_detail.html:175
#: participation/templates/participation/team_detail.html:152
msgid "Submit my team to validation"
msgstr "Soumettre mon équipe à validation"
#: participation/templates/participation/team_detail.html:181
#: participation/templates/participation/team_detail.html:158
msgid ""
"Your team must be composed of 4 members and a coach and each member must "
"upload their authorizations and confirm its email address."
@ -1491,15 +1473,15 @@ msgstr ""
"Votre équipe doit être composée d'au moins 4 membres et un⋅e encadrant⋅e et "
"chaque membre doit envoyer ses autorisations et confirmé son adresse e-mail."
#: participation/templates/participation/team_detail.html:186
#: participation/templates/participation/team_detail.html:163
msgid "This team didn't ask for validation yet."
msgstr "L'équipe n'a pas encore demandé à être validée."
#: participation/templates/participation/team_detail.html:192
#: participation/templates/participation/team_detail.html:169
msgid "Your validation is pending."
msgstr "Votre validation est en attente."
#: participation/templates/participation/team_detail.html:196
#: participation/templates/participation/team_detail.html:173
msgid ""
"The team requested to be validated. You may now control the authorizations "
"and confirm that they can participate."
@ -1507,24 +1489,24 @@ msgstr ""
"L'équipe a demandé à être validée. Vous pouvez désormais contrôler les "
"différentes autorisations et confirmer qu'elle peut participer."
#: participation/templates/participation/team_detail.html:202
#: participation/templates/participation/team_detail.html:179
msgid "Validate"
msgstr "Valider"
#: participation/templates/participation/team_detail.html:203
#: participation/templates/participation/team_detail.html:180
msgid "Invalidate"
msgstr "Invalider"
#: participation/templates/participation/team_detail.html:209
#: participation/templates/participation/team_detail.html:186
#: participation/views.py:329
msgid "Upload motivation letter"
msgstr "Envoyer la lettre de motivation"
#: participation/templates/participation/team_detail.html:214
#: participation/templates/participation/team_detail.html:191
msgid "Update team"
msgstr "Modifier l'équipe"
#: participation/templates/participation/team_detail.html:219
#: participation/templates/participation/team_detail.html:196
#: participation/views.py:438
msgid "Leave team"
msgstr "Quitter l'équipe"
@ -1866,7 +1848,7 @@ msgid "Male"
msgstr "Homme"
#: registration/models.py:165
#: registration/templates/registration/payment_form.html:87
#: registration/templates/registration/payment_form.html:74
msgid "Other"
msgstr "Autre"
@ -2149,6 +2131,10 @@ msgstr "inscription de bénévole"
msgid "volunteer registrations"
msgstr "inscriptions de bénévoles"
#: registration/models.py:521
msgid "grouped"
msgstr "groupé"
#: registration/models.py:523
msgid ""
"If set to true, then one payment is made for the full team, for example if "
@ -2186,7 +2172,7 @@ msgid "No payment"
msgstr "Pas de paiement"
#: registration/models.py:550
#: registration/templates/registration/payment_form.html:70
#: registration/templates/registration/payment_form.html:57
msgid "Credit card"
msgstr "Carte bancaire"
@ -2195,7 +2181,7 @@ msgid "Scholarship"
msgstr "Notification de bourse"
#: registration/models.py:552
#: registration/templates/registration/payment_form.html:75
#: registration/templates/registration/payment_form.html:62
msgid "Bank transfer"
msgstr "Virement bancaire"
@ -2455,15 +2441,11 @@ msgstr ""
msgid "Group the payments of my team"
msgstr "Regrouper les paiements de mon équipe"
#: registration/templates/registration/payment_form.html:53
msgid "Concerned students"
msgstr "Élèves concerné⋅es"
#: registration/templates/registration/payment_form.html:81
#: registration/templates/registration/payment_form.html:68
msgid "I have a scholarship"
msgstr "J'ai une bourse"
#: registration/templates/registration/payment_form.html:97
#: registration/templates/registration/payment_form.html:84
msgid ""
"The payment by credit card is made via Hello Asso. To do this, you can click "
"on the button below, which will redirect you to the secure payment page of "
@ -2475,11 +2457,11 @@ msgstr ""
"paiement sécurisée de Hello Asso. La validation du paiement se fera alors "
"automatiquement, dans quelques minutes."
#: registration/templates/registration/payment_form.html:106
#: registration/templates/registration/payment_form.html:93
msgid "Go to the Hello Asso page"
msgstr "Aller à la page Hello Asso"
#: registration/templates/registration/payment_form.html:111
#: registration/templates/registration/payment_form.html:98
msgid ""
"If a third party must pay for you (parents, school,…), you can send them the "
"link to pay for you:"
@ -2487,11 +2469,11 @@ msgstr ""
"Si un tiers doit payer pour vous (parents, école, …), vous pouvez leur "
"envoyer le lien pour payer pour vous :"
#: registration/templates/registration/payment_form.html:121
#: registration/templates/registration/payment_form.html:108
msgid "Copied!"
msgstr "Copié !"
#: registration/templates/registration/payment_form.html:128
#: registration/templates/registration/payment_form.html:115
msgid ""
"If this is the case and if an invoice is necessary, please contact the "
"tournament organizers by providing the name of the team, the number of "
@ -2503,7 +2485,7 @@ msgstr ""
"de participant⋅es, le nom de l'établissement payeur, l'adresse mail de "
"l'établissement et/ou l'adresse mail du gestionnaire de l'établissement."
#: registration/templates/registration/payment_form.html:139
#: registration/templates/registration/payment_form.html:126
msgid ""
"You can also pay by bank transfer. To do this, you must put in the reference "
"of the transfer \"TFJMpu\" followed by the last name and the first name of "
@ -2513,11 +2495,11 @@ msgstr ""
"mettre en référence du virement « TFJMpu » suivi du nom et du prénom de "
"l'élève."
#: registration/templates/registration/payment_form.html:145
#: registration/templates/registration/payment_form.html:132
msgid "The bank details are as follows:"
msgstr "Les coordonnées bancaires sont les suivantes :"
#: registration/templates/registration/payment_form.html:156
#: registration/templates/registration/payment_form.html:143
msgid ""
"Once your payment done, please send us a proof of your transfer using the "
"below form. The validation of your payment will then be done manually, "
@ -2527,13 +2509,13 @@ msgstr ""
"votre virement en utilisant le formulaire ci-dessous. La validation de votre "
"paiement se fera alors manuellement, sous quelques jours."
#: registration/templates/registration/payment_form.html:165
#: registration/templates/registration/payment_form.html:180
#: registration/templates/registration/payment_form.html:195
#: registration/templates/registration/payment_form.html:152
#: registration/templates/registration/payment_form.html:167
#: registration/templates/registration/payment_form.html:182
msgid "Submit"
msgstr "Envoyer"
msgstr ""
#: registration/templates/registration/payment_form.html:171
#: registration/templates/registration/payment_form.html:158
msgid ""
"The tournament is free for you if you have a scholarship. However, you must "
"send us a proof of your scholarship. You can do this using the below form."
@ -2542,7 +2524,7 @@ msgstr ""
"devez nous envoyer un justificatif de votre bourse. Vous pouvez le faire en "
"utilisant le formulaire ci-dessous."
#: registration/templates/registration/payment_form.html:186
#: registration/templates/registration/payment_form.html:173
msgid ""
"If you want to use another payment method, please contact the tournament "
"organizers first. Then, if you need to send a proof or your payment, you can "
@ -2700,6 +2682,11 @@ msgstr "oui,non,en attente"
msgid "valid:"
msgstr "valide :"
#: registration/templates/registration/user_detail.html:163
#: registration/views.py:461
msgid "Update payment"
msgstr "Modifier le paiement"
#: registration/templates/registration/user_detail.html:171
msgid "Download scholarship attestation"
msgstr "Télécharger l'attestation de bourse"

View File

@ -112,6 +112,7 @@
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#uploadMotivationLetterModal">{% trans "Replace" %}</button>
{% endif %}
</dd>
</dl>
{% if user.registration.is_volunteer %}
{% if user.registration in self.team.participation.tournament.organizers or user.registration.is_admin %}
@ -122,30 +123,6 @@
</div>
{% endif %}
{% endif %}
{% if team.participation.valid %}
<hr class="my-3">
{% for student in team.students.all %}
{% for payment in student.payments.all %}
<dt class="col-sm-6 text-end">
{% trans "Payment of" %} {{ student }}
{% if payment.grouped %}({% trans "grouped" %}){% endif %}
{% if payment.final %} ({% trans "final" %}){% endif %} :
</dt>
<dd class="col-sm-6">
Valide : {{ payment.valid|yesno }}
{% if payment.valid is False or user.registration.is_volunteer %}
{% if user.registration in payment.registrations.all or user.registration.is_coach or user.registration.is_volunteer %}
<a href="{% url "registration:update_payment" pk=payment.pk %}" class="btn btn-secondary">
<i class="fas fa-money-bill-wave"></i> {% trans "Update payment" %}
</a>
{% endif %}
{% endif %}
</dd>
{% endfor %}
{% endfor %}
{% endif %}
</dl>
</div>
<div class="card-footer text-center">
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#updateTeamModal">{% trans "Update" %}</button>

View File

@ -611,7 +611,7 @@ class Payment(models.Model):
base_site = "https://" + Site.objects.first().domain
checkout_intent = helloasso.create_checkout_intent(
amount=100 * self.amount,
name=f"Participation au TFJM² {year} - {tournament.name} - {self.team.trigram}",
name=f"Participation au TFJM² {year} - {tournament.name}",
back_url=base_site + reverse('registration:update_payment', args=(self.id,)),
error_url=f"{base_site}{reverse('registration:payment_hello_asso_return', args=(self.id,))}?type=error",
return_url=f"{base_site}{reverse('registration:payment_hello_asso_return', args=(self.id,))}?type=return",

View File

@ -45,19 +45,6 @@
</div>
{% endif %}
</p>
<ul>
<li>{% trans "team"|capfirst %} : <a href="{% url "participation:team_detail" pk=payment.team.pk %}">{{ payment.team }}</a></li>
<li>{% trans "tournament"|capfirst %} : <a href="{% url "participation:tournament_detail" pk=payment.tournament.pk %}">{{ payment.tournament }}</a></li>
<li>
{% trans "Concerned students" %} :
<ul>
{% for reg in payment.registrations.all %}
<li><a href="{% url "registration:user_detail" pk=reg.user_id %}">{{ reg }}</a></li>
{% endfor %}
</ul>
</li>
</ul>
</div>
<div class="card">
@ -198,14 +185,6 @@
</div>
</div>
</div>
{% else %}
<form method="post" enctype="multipart/form-data">
<div id="form-content">
{% csrf_token %}
{{ form|crispy }}
</div>
<button class="btn btn-primary" type="submit">{% trans "Update" %}</button>
</form>
{% endif %}
{% endblock content %}

View File

@ -158,7 +158,7 @@
{% else %}
{{ payment.get_type_display }}, {% trans "valid:" %} {{ payment.valid|yesno:yesnodefault }}
{% endif %}
{% if user.registration.is_volunteer or payment.valid is False %}
{% if user.registration.is_admin or payment.valid is False %}
<a href="{% url "registration:update_payment" pk=payment.pk %}" class="btn btn-secondary">
<i class="fas fa-money-bill-wave"></i> {% trans "Update payment" %}
</a>

View File

@ -1,6 +1,6 @@
# Copyright (C) 2020 by Animath
# SPDX-License-Identifier: GPL-3.0-or-later
import json
import os
import subprocess
from tempfile import mkdtemp
@ -482,7 +482,7 @@ class PaymentUpdateView(LoginRequiredMixin, UpdateView):
return super().form_valid(form)
def get_success_url(self):
return reverse_lazy("participation:team_detail", args=(self.object.registrations.first().team.pk,))
return reverse_lazy("registration:user_detail", args=(self.object.registrations.first().user.pk,))
class PaymentUpdateGroupView(LoginRequiredMixin, DetailView):
@ -594,7 +594,7 @@ class PaymentHelloAssoReturnView(DetailView):
or (request.user.registration.is_coach and request.user.registration.team == team))
if right_to_see:
error_response = redirect("registration:update_payment", pk=payment.pk)
error_response = redirect("registration:update_payment", args=(payment.pk,))
else:
error_response = redirect("index")
@ -617,14 +617,11 @@ class PaymentHelloAssoReturnView(DetailView):
checkout_intent = payment.get_checkout_intent()
if 'order' in checkout_intent:
payment.type = "helloasso"
payment.valid = True
payment.additional_information = json.dumps(checkout_intent['order'])
payment.save()
messages.success(request, _("The payment has been successfully validated! "
"Your registration is now complete."))
else:
payment.type = "helloasso"
payment.valid = None
payment.save()
messages.success(request, _("Your payment is done! "
@ -632,10 +629,14 @@ class PaymentHelloAssoReturnView(DetailView):
"and will be automatically done. "
"If it is not the case, please contact us."))
if right_to_see:
return redirect("participation:team_detail", pk=team.pk)
if not request.user.is_anonymous and request.user.registration in payment.registrations.all():
success_response = redirect("registration:user_detail", args=(request.user.pk,))
elif right_to_see:
success_response = redirect("participation:team_detail", args=(team.pk,))
else:
return redirect("index")
success_response = redirect("index")
return success_response
class PhotoAuthorizationView(LoginRequiredMixin, View):