mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-26 18:37:12 +00:00
Delete registrations
This commit is contained in:
parent
1c7d4fbbec
commit
73878d03ab
@ -60,7 +60,7 @@ class WEIRegistrationTable(tables.Table):
|
||||
)
|
||||
|
||||
delete = tables.LinkColumn(
|
||||
'wei:wei_detail',
|
||||
'wei:wei_delete_registration',
|
||||
args=[A('pk')],
|
||||
verbose_name=_("delete"),
|
||||
text=_("Delete"),
|
||||
|
@ -5,8 +5,8 @@ from django.urls import path
|
||||
|
||||
from .views import CurrentWEIDetailView, WEIListView, WEICreateView, WEIDetailView, WEIUpdateView,\
|
||||
BusCreateView, BusManageView, BusUpdateView, BusTeamCreateView, BusTeamManageView, BusTeamUpdateView,\
|
||||
WEIRegister1AView, WEIRegister2AView, WEIUpdateRegistrationView, WEIValidateRegistrationView,\
|
||||
WEISurveyView, WEISurveyEndView, WEIClosedView
|
||||
WEIRegister1AView, WEIRegister2AView, WEIUpdateRegistrationView, WEIDeleteRegistrationView,\
|
||||
WEIValidateRegistrationView, WEISurveyView, WEISurveyEndView, WEIClosedView
|
||||
|
||||
|
||||
app_name = 'wei'
|
||||
@ -27,6 +27,7 @@ urlpatterns = [
|
||||
path('register/<int:wei_pk>/1A/myself/', WEIRegister1AView.as_view(), name="wei_register_1A_myself"),
|
||||
path('register/<int:wei_pk>/2A+/myself/', WEIRegister2AView.as_view(), name="wei_register_2A_myself"),
|
||||
path('edit-registration/<int:pk>/', WEIUpdateRegistrationView.as_view(), name="wei_update_registration"),
|
||||
path('delete-registration/<int:pk>/', WEIDeleteRegistrationView.as_view(), name="wei_delete_registration"),
|
||||
path('validate/<int:pk>/', WEIValidateRegistrationView.as_view(), name="validate_registration"),
|
||||
path('survey/<int:pk>/', WEISurveyView.as_view(), name="wei_survey"),
|
||||
path('survey/<int:pk>/end/', WEISurveyEndView.as_view(), name="wei_survey_end"),
|
||||
|
@ -11,7 +11,7 @@ from django.shortcuts import redirect
|
||||
from django.urls import reverse_lazy
|
||||
from django.views.generic import DetailView, UpdateView, CreateView, RedirectView, TemplateView
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.views.generic.edit import BaseFormView
|
||||
from django.views.generic.edit import BaseFormView, DeleteView
|
||||
from django_tables2 import SingleTableView
|
||||
from member.models import Membership, Club
|
||||
from note.models import Transaction, NoteClub
|
||||
@ -350,6 +350,19 @@ class WEIRegister1AView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
|
||||
def form_valid(self, form):
|
||||
form.instance.wei = WEIClub.objects.get(pk=self.kwargs["wei_pk"])
|
||||
form.instance.first_year = True
|
||||
|
||||
if not form.instance.pk:
|
||||
# Check if the user is not already registered to the WEI
|
||||
if WEIRegistration.objects.filter(wei=form.instance.wei, user=form.instance.user).exists():
|
||||
form.add_error('user', _("This user is already registered to this WEI."))
|
||||
return self.form_invalid(form)
|
||||
|
||||
# Check if the user can be in her/his first year (yeah, no cheat)
|
||||
if WEIRegistration.objects.filter(user=form.instance.user).exists():
|
||||
form.add_error('user', _("This user can't be in her/his first year since he/she has already"
|
||||
" participed to a WEI."))
|
||||
return self.form_invalid(form)
|
||||
|
||||
return super().form_valid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
@ -406,9 +419,15 @@ class WEIRegister2AView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
|
||||
form.instance.wei = WEIClub.objects.get(pk=self.kwargs["wei_pk"])
|
||||
form.instance.first_year = False
|
||||
|
||||
if not form.instance.pk:
|
||||
# Check if the user is not already registered to the WEI
|
||||
if WEIRegistration.objects.filter(wei=form.instance.wei, user=form.instance.user).exists():
|
||||
form.add_error('user', _("This user is already registered to this WEI."))
|
||||
return self.form_invalid(form)
|
||||
|
||||
choose_bus_form = WEIChooseBusForm(self.request.POST)
|
||||
if not choose_bus_form.is_valid():
|
||||
return self.form_invalid(choose_bus_form)
|
||||
return self.form_invalid(form)
|
||||
|
||||
information = form.instance.information
|
||||
information["preferred_bus_pk"] = [bus.pk for bus in choose_bus_form.cleaned_data["bus"]]
|
||||
@ -422,11 +441,6 @@ class WEIRegister2AView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
|
||||
|
||||
return super().form_valid(form)
|
||||
|
||||
def form_invalid(self, form):
|
||||
print(form.data)
|
||||
print(form.cleaned_data)
|
||||
return super().form_invalid(form)
|
||||
|
||||
def get_success_url(self):
|
||||
self.object.refresh_from_db()
|
||||
return reverse_lazy("wei:wei_survey", kwargs={"pk": self.object.pk})
|
||||
@ -490,14 +504,14 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update
|
||||
if form.instance.is_validated:
|
||||
membership_form = WEIMembershipForm(self.request.POST)
|
||||
if not membership_form.is_valid():
|
||||
return self.form_invalid(membership_form)
|
||||
return self.form_invalid(form)
|
||||
membership_form.save()
|
||||
# If it is not validated and if this is an old member, then we update the choices
|
||||
elif not form.instance.first_year and PermissionBackend.check_perm(
|
||||
self.request.user, "wei.change_weiregistration_information_json", self.object):
|
||||
choose_bus_form = WEIChooseBusForm(self.request.POST)
|
||||
if not choose_bus_form.is_valid():
|
||||
return self.form_invalid(choose_bus_form)
|
||||
return self.form_invalid(form)
|
||||
information = form.instance.information
|
||||
information["preferred_bus_pk"] = [bus.pk for bus in choose_bus_form.cleaned_data["bus"]]
|
||||
information["preferred_bus_name"] = [bus.name for bus in choose_bus_form.cleaned_data["bus"]]
|
||||
@ -519,6 +533,26 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update
|
||||
return reverse_lazy("wei:wei_detail", kwargs={"pk": self.object.wei.pk})
|
||||
|
||||
|
||||
class WEIDeleteRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, DeleteView):
|
||||
model = WEIRegistration
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
wei = self.get_object().wei
|
||||
today = date.today()
|
||||
# We can't delete a registration of a past WEI
|
||||
if today > wei.membership_end:
|
||||
return redirect(reverse_lazy('wei:wei_closed', args=(wei.pk,)))
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context["club"] = self.object.wei
|
||||
return context
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse_lazy('wei:wei_detail', args=(self.object.wei.pk,))
|
||||
|
||||
|
||||
class WEIValidateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
|
||||
"""
|
||||
Validate WEI Registration
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-04-20 22:34+0200\n"
|
||||
"POT-Creation-Date: 2020-04-21 01:01+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -439,7 +439,7 @@ msgstr ""
|
||||
msgid "fee"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/models.py:267 apps/member/views.py:500 apps/wei/views.py:592
|
||||
#: apps/member/models.py:267 apps/member/views.py:500 apps/wei/views.py:645
|
||||
msgid "User is not a member of the parent club"
|
||||
msgstr ""
|
||||
|
||||
@ -470,7 +470,7 @@ msgstr ""
|
||||
|
||||
#: apps/member/views.py:65 templates/member/profile_info.html:45
|
||||
#: templates/registration/future_profile_detail.html:55
|
||||
#: templates/wei/weimembership_form.html:105
|
||||
#: templates/wei/weimembership_form.html:116
|
||||
msgid "Update Profile"
|
||||
msgstr ""
|
||||
|
||||
@ -482,7 +482,7 @@ msgstr ""
|
||||
msgid "Search user"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/views.py:495 apps/wei/views.py:583
|
||||
#: apps/member/views.py:495 apps/wei/views.py:636
|
||||
msgid ""
|
||||
"This user don't have enough money to join this club, and can't have a "
|
||||
"negative balance."
|
||||
@ -727,6 +727,7 @@ msgid "No reason specified"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/tables.py:122 apps/note/tables.py:151 apps/wei/tables.py:66
|
||||
#: templates/wei/weiregistration_confirm_delete.html:32
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
@ -1003,23 +1004,37 @@ msgstr ""
|
||||
msgid "WEI"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:47
|
||||
#: apps/wei/forms/registration.py:47 apps/wei/models.py:108
|
||||
#: apps/wei/models.py:269
|
||||
msgid "bus"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:48
|
||||
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."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:54
|
||||
msgid "Team"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:56
|
||||
msgid ""
|
||||
"Leave this field empty if you won't be in a team (staff, bus chief, free "
|
||||
"electron)"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:59
|
||||
#: apps/wei/forms/registration.py:61 apps/wei/forms/registration.py:67
|
||||
#: apps/wei/models.py:142
|
||||
msgid "WEI Roles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:62
|
||||
msgid "Select the roles that you are interested in."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/forms/registration.py:65 apps/wei/forms/registration.py:75
|
||||
#: apps/wei/forms/registration.py:72
|
||||
msgid "This team doesn't belong to the given bus."
|
||||
msgstr ""
|
||||
|
||||
@ -1055,10 +1070,6 @@ msgstr ""
|
||||
msgid "Buses"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/models.py:108 apps/wei/models.py:269
|
||||
msgid "bus"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/models.py:116
|
||||
msgid "color"
|
||||
msgstr ""
|
||||
@ -1079,10 +1090,6 @@ msgstr ""
|
||||
msgid "WEI Role"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/models.py:142
|
||||
msgid "WEI Roles"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/models.py:166
|
||||
msgid "Credit from Société générale"
|
||||
msgstr ""
|
||||
@ -1196,19 +1203,29 @@ msgstr ""
|
||||
msgid "Register 1A"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/views.py:377 templates/wei/weiclub_info.html:63
|
||||
#: apps/wei/views.py:357 apps/wei/views.py:425
|
||||
msgid "This user is already registered to this WEI."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/views.py:362
|
||||
msgid ""
|
||||
"This user can't be in her/his first year since he/she has already participed "
|
||||
"to a WEI."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/views.py:390 templates/wei/weiclub_info.html:63
|
||||
msgid "Register 2A+"
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/views.py:394
|
||||
#: apps/wei/views.py:408 apps/wei/views.py:491
|
||||
msgid "You already opened an account in the Société générale."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/views.py:587
|
||||
#: apps/wei/views.py:640
|
||||
msgid "This user didn't give her/his caution check."
|
||||
msgstr ""
|
||||
|
||||
#: apps/wei/views.py:655 apps/wei/views.py:675 apps/wei/views.py:685
|
||||
#: apps/wei/views.py:708 apps/wei/views.py:728 apps/wei/views.py:738
|
||||
#: templates/wei/survey.html:12 templates/wei/survey_closed.html:12
|
||||
#: templates/wei/survey_end.html:12
|
||||
msgid "Survey WEI"
|
||||
@ -1581,6 +1598,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/future_profile_detail.html:56
|
||||
#: templates/wei/weiregistration_confirm_delete.html:12
|
||||
msgid "Delete registration"
|
||||
msgstr ""
|
||||
|
||||
@ -1589,8 +1607,8 @@ msgid "Validate account"
|
||||
msgstr ""
|
||||
|
||||
#: templates/registration/future_profile_detail.html:71
|
||||
#: templates/wei/weimembership_form.html:115
|
||||
#: templates/wei/weimembership_form.html:173
|
||||
#: templates/wei/weimembership_form.html:126
|
||||
#: templates/wei/weimembership_form.html:184
|
||||
msgid "Validate registration"
|
||||
msgstr ""
|
||||
|
||||
@ -1822,7 +1840,7 @@ msgstr ""
|
||||
msgid "The inscription for this WEI are now closed."
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/survey_closed.html:22
|
||||
#: templates/wei/survey_closed.html:20
|
||||
msgid "Return to WEI detail"
|
||||
msgstr ""
|
||||
|
||||
@ -1902,31 +1920,44 @@ msgstr ""
|
||||
msgid "caution check given"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:103
|
||||
msgid "preferred bus"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:106
|
||||
msgid "preferred team"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:109
|
||||
msgid "preferred roles"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:117
|
||||
#: templates/wei/weiregistration_confirm_delete.html:31
|
||||
msgid "Update registration"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:119
|
||||
#: templates/wei/weimembership_form.html:130
|
||||
msgid "The registration is already validated and can't be unvalidated."
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:120
|
||||
#: templates/wei/weimembership_form.html:131
|
||||
msgid "The user joined the bus"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:121
|
||||
#: templates/wei/weimembership_form.html:132
|
||||
msgid "in the team"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:122
|
||||
#: templates/wei/weimembership_form.html:133
|
||||
msgid "in no team (staff)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:122
|
||||
#: templates/wei/weimembership_form.html:133
|
||||
msgid "with the following roles:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:127
|
||||
#: templates/wei/weimembership_form.html:138
|
||||
msgid ""
|
||||
"\n"
|
||||
" The WEI will be paid by Société générale. The "
|
||||
@ -1938,7 +1969,7 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:137
|
||||
#: templates/wei/weimembership_form.html:148
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@ -1947,15 +1978,15 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:144
|
||||
#: templates/wei/weimembership_form.html:155
|
||||
msgid "The note has enough money, the registration is possible."
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:151
|
||||
#: templates/wei/weimembership_form.html:162
|
||||
msgid "The user didn't give her/his caution check."
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:159
|
||||
#: templates/wei/weimembership_form.html:170
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@ -1968,3 +1999,14 @@ msgid ""
|
||||
" the registration of the WEI.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weiregistration_confirm_delete.html:17
|
||||
msgid "This registration is already validated and can't be deleted."
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weiregistration_confirm_delete.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you want to delete the registration of %(user)s for the WEI "
|
||||
"%(wei_name)s? This action can't be undoed."
|
||||
msgstr ""
|
||||
|
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-04-20 22:34+0200\n"
|
||||
"POT-Creation-Date: 2020-04-21 01:01+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -439,7 +439,7 @@ msgstr "l'adhésion finit le"
|
||||
msgid "fee"
|
||||
msgstr "cotisation"
|
||||
|
||||
#: apps/member/models.py:267 apps/member/views.py:500 apps/wei/views.py:592
|
||||
#: apps/member/models.py:267 apps/member/views.py:500 apps/wei/views.py:645
|
||||
msgid "User is not a member of the parent club"
|
||||
msgstr "L'utilisateur n'est pas membre du club parent"
|
||||
|
||||
@ -470,7 +470,7 @@ msgstr "Cette adresse doit être valide."
|
||||
|
||||
#: apps/member/views.py:65 templates/member/profile_info.html:45
|
||||
#: templates/registration/future_profile_detail.html:55
|
||||
#: templates/wei/weimembership_form.html:105
|
||||
#: templates/wei/weimembership_form.html:116
|
||||
msgid "Update Profile"
|
||||
msgstr "Modifier le profil"
|
||||
|
||||
@ -482,7 +482,7 @@ msgstr "Un alias avec un nom similaire existe déjà."
|
||||
msgid "Search user"
|
||||
msgstr "Chercher un utilisateur"
|
||||
|
||||
#: apps/member/views.py:495 apps/wei/views.py:583
|
||||
#: apps/member/views.py:495 apps/wei/views.py:636
|
||||
msgid ""
|
||||
"This user don't have enough money to join this club, and can't have a "
|
||||
"negative balance."
|
||||
@ -730,6 +730,7 @@ msgid "No reason specified"
|
||||
msgstr "Pas de motif spécifié"
|
||||
|
||||
#: apps/note/tables.py:122 apps/note/tables.py:151 apps/wei/tables.py:66
|
||||
#: templates/wei/weiregistration_confirm_delete.html:32
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
@ -1011,27 +1012,42 @@ msgstr "supprimer"
|
||||
msgid "WEI"
|
||||
msgstr "WEI"
|
||||
|
||||
#: apps/wei/forms/registration.py:47
|
||||
#: apps/wei/forms/registration.py:47 apps/wei/models.py:108
|
||||
#: apps/wei/models.py:269
|
||||
msgid "bus"
|
||||
msgstr "Bus"
|
||||
|
||||
#: apps/wei/forms/registration.py:48
|
||||
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."
|
||||
msgstr ""
|
||||
"Ce choix n'est pas définitif. Les organisateurs du WEI sont libres de vous "
|
||||
"attribuer un bus et une équipe, en particulier si vous êtes un électron libre."
|
||||
"attribuer un bus et une équipe, en particulier si vous êtes un électron "
|
||||
"libre."
|
||||
|
||||
#: apps/wei/forms/registration.py:54
|
||||
msgid "Team"
|
||||
msgstr "Équipe"
|
||||
|
||||
#: apps/wei/forms/registration.py:56
|
||||
msgid ""
|
||||
"Leave this field empty if you won't be in a team (staff, bus chief, free "
|
||||
"electron)"
|
||||
msgstr ""
|
||||
"Laissez ce champ vide si vous ne serez pas dans une équipe (staff, chef "
|
||||
"de bus ou électron libre)"
|
||||
"Laissez ce champ vide si vous ne serez pas dans une équipe (staff, chef de "
|
||||
"bus ou électron libre)"
|
||||
|
||||
#: apps/wei/forms/registration.py:59
|
||||
#: apps/wei/forms/registration.py:61 apps/wei/forms/registration.py:67
|
||||
#: apps/wei/models.py:142
|
||||
msgid "WEI Roles"
|
||||
msgstr "Rôles au WEI"
|
||||
|
||||
#: apps/wei/forms/registration.py:62
|
||||
msgid "Select the roles that you are interested in."
|
||||
msgstr "Sélectionnez les rôles qui vous intéressent."
|
||||
|
||||
#: apps/wei/forms/registration.py:65 apps/wei/forms/registration.py:75
|
||||
#: apps/wei/forms/registration.py:72
|
||||
msgid "This team doesn't belong to the given bus."
|
||||
msgstr "Cette équipe n'appartient pas à ce bus."
|
||||
|
||||
@ -1057,7 +1073,8 @@ msgstr "informations sur le questionnaire"
|
||||
|
||||
#: apps/wei/models.py:73
|
||||
msgid "Information about the survey for new members, encoded in JSON"
|
||||
msgstr "Informations sur le sondage pour les nouveaux membres, encodées en JSON"
|
||||
msgstr ""
|
||||
"Informations sur le sondage pour les nouveaux membres, encodées en JSON"
|
||||
|
||||
#: apps/wei/models.py:95
|
||||
msgid "Bus"
|
||||
@ -1067,10 +1084,6 @@ msgstr "Bus"
|
||||
msgid "Buses"
|
||||
msgstr "Bus"
|
||||
|
||||
#: apps/wei/models.py:108 apps/wei/models.py:269
|
||||
msgid "bus"
|
||||
msgstr "Bus"
|
||||
|
||||
#: apps/wei/models.py:116
|
||||
msgid "color"
|
||||
msgstr "couleur"
|
||||
@ -1092,10 +1105,6 @@ msgstr "Équipes de bus"
|
||||
msgid "WEI Role"
|
||||
msgstr "Rôle au WEI"
|
||||
|
||||
#: apps/wei/models.py:142
|
||||
msgid "WEI Roles"
|
||||
msgstr "Rôles au WEI"
|
||||
|
||||
#: apps/wei/models.py:166
|
||||
msgid "Credit from Société générale"
|
||||
msgstr "Crédit de la Société générale"
|
||||
@ -1192,10 +1201,6 @@ msgstr "Participants au WEI"
|
||||
msgid "team"
|
||||
msgstr "équipe"
|
||||
|
||||
#: apps/wei/models.py:279
|
||||
msgid "Team"
|
||||
msgstr "Équipe"
|
||||
|
||||
#: apps/wei/models.py:289
|
||||
msgid "WEI registration"
|
||||
msgstr "inscription au WEI"
|
||||
@ -1221,19 +1226,31 @@ msgstr "Équipes"
|
||||
msgid "Register 1A"
|
||||
msgstr "Inscrire un 1A"
|
||||
|
||||
#: apps/wei/views.py:377 templates/wei/weiclub_info.html:63
|
||||
#: apps/wei/views.py:357 apps/wei/views.py:425
|
||||
msgid "This user is already registered to this WEI."
|
||||
msgstr "Cette personne est déjà inscrite au WEI."
|
||||
|
||||
#: apps/wei/views.py:362
|
||||
msgid ""
|
||||
"This user can't be in her/his first year since he/she has already participed "
|
||||
"to a WEI."
|
||||
msgstr ""
|
||||
"Cet utilisateur ne peut pas être en première année puisqu'iel a déjà "
|
||||
"participé à un WEI."
|
||||
|
||||
#: apps/wei/views.py:390 templates/wei/weiclub_info.html:63
|
||||
msgid "Register 2A+"
|
||||
msgstr "Inscrire un 2A+"
|
||||
|
||||
#: apps/wei/views.py:394
|
||||
#: apps/wei/views.py:408 apps/wei/views.py:491
|
||||
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:587
|
||||
#: apps/wei/views.py:640
|
||||
msgid "This user didn't give her/his caution check."
|
||||
msgstr "Cet utilisateur n'a pas donné son chèque de caution."
|
||||
|
||||
#: apps/wei/views.py:655 apps/wei/views.py:675 apps/wei/views.py:685
|
||||
#: apps/wei/views.py:708 apps/wei/views.py:728 apps/wei/views.py:738
|
||||
#: templates/wei/survey.html:12 templates/wei/survey_closed.html:12
|
||||
#: templates/wei/survey_end.html:12
|
||||
msgid "Survey WEI"
|
||||
@ -1614,6 +1631,7 @@ msgstr ""
|
||||
"pour activer votre compte."
|
||||
|
||||
#: templates/registration/future_profile_detail.html:56
|
||||
#: templates/wei/weiregistration_confirm_delete.html:12
|
||||
msgid "Delete registration"
|
||||
msgstr "Supprimer l'inscription"
|
||||
|
||||
@ -1622,8 +1640,8 @@ msgid "Validate account"
|
||||
msgstr "Valider le compte"
|
||||
|
||||
#: templates/registration/future_profile_detail.html:71
|
||||
#: templates/wei/weimembership_form.html:115
|
||||
#: templates/wei/weimembership_form.html:173
|
||||
#: templates/wei/weimembership_form.html:126
|
||||
#: templates/wei/weimembership_form.html:184
|
||||
msgid "Validate registration"
|
||||
msgstr "Valider l'inscription"
|
||||
|
||||
@ -1872,13 +1890,14 @@ msgstr "Suivant"
|
||||
msgid "The inscription for this WEI are now closed."
|
||||
msgstr "Les inscriptions pour le WEI sont fermées."
|
||||
|
||||
#: templates/wei/survey_closed.html:22
|
||||
#: templates/wei/survey_closed.html:20
|
||||
msgid "Return to WEI detail"
|
||||
msgstr "Retour aux détails du WEI"
|
||||
|
||||
#: templates/wei/survey_end.html:16
|
||||
msgid "The survey is now ended. Your answers have been saved."
|
||||
msgstr "Le sondage est désormais terminé, vos réponses ont bien été enregistrées."
|
||||
msgstr ""
|
||||
"Le sondage est désormais terminé, vos réponses ont bien été enregistrées."
|
||||
|
||||
#: templates/wei/weiclub_info.html:31
|
||||
msgid "WEI fee / including BDE and Kfet fee (paid students)"
|
||||
@ -1952,31 +1971,44 @@ msgstr "L'algorithme n'a pas été exécuté."
|
||||
msgid "caution check given"
|
||||
msgstr "chèque de caution donné"
|
||||
|
||||
#: templates/wei/weimembership_form.html:103
|
||||
msgid "preferred bus"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:106
|
||||
msgid "preferred team"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:109
|
||||
msgid "preferred roles"
|
||||
msgstr ""
|
||||
|
||||
#: templates/wei/weimembership_form.html:117
|
||||
#: templates/wei/weiregistration_confirm_delete.html:31
|
||||
msgid "Update registration"
|
||||
msgstr "Mettre à jour l'inscription"
|
||||
|
||||
#: templates/wei/weimembership_form.html:119
|
||||
#: templates/wei/weimembership_form.html:130
|
||||
msgid "The registration is already validated and can't be unvalidated."
|
||||
msgstr "L'inscription a déjà été validée et ne peut pas être dévalidée."
|
||||
|
||||
#: templates/wei/weimembership_form.html:120
|
||||
#: templates/wei/weimembership_form.html:131
|
||||
msgid "The user joined the bus"
|
||||
msgstr "L'utilisateur a rejoint le bus"
|
||||
|
||||
#: templates/wei/weimembership_form.html:121
|
||||
#: templates/wei/weimembership_form.html:132
|
||||
msgid "in the team"
|
||||
msgstr "dans l'équipe"
|
||||
|
||||
#: templates/wei/weimembership_form.html:122
|
||||
#: templates/wei/weimembership_form.html:133
|
||||
msgid "in no team (staff)"
|
||||
msgstr "dans aucune équipe (staff)"
|
||||
|
||||
#: templates/wei/weimembership_form.html:122
|
||||
#: templates/wei/weimembership_form.html:133
|
||||
msgid "with the following roles:"
|
||||
msgstr "avec les rôles suivants :"
|
||||
|
||||
#: templates/wei/weimembership_form.html:127
|
||||
#: templates/wei/weimembership_form.html:138
|
||||
msgid ""
|
||||
"\n"
|
||||
" The WEI will be paid by Société générale. The "
|
||||
@ -1988,35 +2020,36 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Le WEI va être payé par la Société générale. "
|
||||
"L'adhésion sera créée même si la banque n'a pas encore payé le BDE.\n"
|
||||
"La transaction d'adhésion sera créée mais invalide. "
|
||||
"Vous devrez la valider une fois que la banque\n"
|
||||
"aura validé la création du compte, ou bien changer "
|
||||
"de moyen de paiement.\n"
|
||||
"Le WEI va être payé par la Société générale. L'adhésion sera créée même si "
|
||||
"la banque n'a pas encore payé le BDE.\n"
|
||||
"La transaction d'adhésion sera créée mais invalide. Vous devrez la valider "
|
||||
"une fois que la banque\n"
|
||||
"aura validé la création du compte, ou bien changer de moyen de paiement.\n"
|
||||
" "
|
||||
|
||||
#: templates/wei/weimembership_form.html:137
|
||||
#: templates/wei/weimembership_form.html:148
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"The note don't have enough money "
|
||||
" The note don't have enough money "
|
||||
"(%(balance)s, %(pretty_fee)s required). The registration may fail.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"La note n'a pas assez d'argent (%(balance)s, "
|
||||
"%(pretty_fee)s requis). L'inscription va échouer.\n"
|
||||
"La note n'a pas assez d'argent (%(balance)s, %(pretty_fee)s requis). "
|
||||
"L'inscription va échouer.\n"
|
||||
" "
|
||||
|
||||
#: templates/wei/weimembership_form.html:144
|
||||
#: templates/wei/weimembership_form.html:155
|
||||
msgid "The note has enough money, the registration is possible."
|
||||
msgstr "La note a assez d'argent, l'inscription est possible."
|
||||
|
||||
#: templates/wei/weimembership_form.html:151
|
||||
#: templates/wei/weimembership_form.html:162
|
||||
msgid "The user didn't give her/his caution check."
|
||||
msgstr "L'utilisateur n'a pas donné son chèque de caution."
|
||||
|
||||
#: templates/wei/weimembership_form.html:159
|
||||
#: templates/wei/weimembership_form.html:170
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" This user is not a member of the Kfet club. "
|
||||
@ -2029,9 +2062,22 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Cet utilisateur n'est pas membre du club Kfet. Merci "
|
||||
"de le faire adhérer\n"
|
||||
"<a href=\"%(future_user_detail)s\">ici s'il est en première année</a>\n"
|
||||
"ou <a href=\"%(club_detail)s\">ici s'il est un ancien membre</a> avant de valider\n"
|
||||
"Cet utilisateur n'est pas membre du club Kfet. Merci de le faire adhérer\n"
|
||||
"<a href=\"%(future_user_detail)s\">ici s'iel est en première année</a>\n"
|
||||
"ou <a href=\"%(club_detail)s\">ici s'iel est un ancien membre</a> avant de "
|
||||
"valider\n"
|
||||
"l'inscription au WEI.\n"
|
||||
" "
|
||||
|
||||
#: templates/wei/weiregistration_confirm_delete.html:17
|
||||
msgid "This registration is already validated and can't be deleted."
|
||||
msgstr "L'inscription a déjà été validée et ne peut pas être supprimée."
|
||||
|
||||
#: templates/wei/weiregistration_confirm_delete.html:24
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you want to delete the registration of %(user)s for the WEI "
|
||||
"%(wei_name)s? This action can't be undoed."
|
||||
msgstr ""
|
||||
"Êtes-vous sûr de vouloir supprimer l'inscription de %(user)s pour le WEI "
|
||||
"%(wei_name)s ? Cette action ne pourra pas être annulée."
|
||||
|
@ -111,9 +111,11 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<a class="nav-link" href="{% url 'treasury:invoice_list' %}"><i class="fa fa-money"></i> {% trans 'Treasury' %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="{% url 'wei:current_wei_detail' %}"><i class="fa fa-bus"></i> {% trans 'WEI' %}</a>
|
||||
</li>
|
||||
{% if "wei.weiclub"|not_empty_model_change_list %}
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="{% url 'wei:current_wei_detail' %}"><i class="fa fa-bus"></i> {% trans 'WEI' %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<ul class="navbar-nav ml-auto">
|
||||
{% if user.is_authenticated %}
|
||||
|
@ -13,7 +13,7 @@
|
||||
<div class="card-header text-center">
|
||||
<h4>{% trans "Review registration" %}</h4>
|
||||
</div>
|
||||
<div class="card-body" id="profile_infos">
|
||||
<div class="card-body">
|
||||
<dl class="row">
|
||||
<dt class="col-xl-6">{% trans 'name'|capfirst %}, {% trans 'first name' %}</dt>
|
||||
<dd class="col-xl-6">{{ registration.user.last_name }} {{ registration.user.first_name }}</dd>
|
||||
|
37
templates/wei/weiregistration_confirm_delete.html
Normal file
37
templates/wei/weiregistration_confirm_delete.html
Normal file
@ -0,0 +1,37 @@
|
||||
{% extends "member/noteowner_detail.html" %}
|
||||
{% load i18n %}
|
||||
{% load crispy_forms_tags %}
|
||||
|
||||
{% block profile_info %}
|
||||
{% include "wei/weiclub_info.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block profile_content %}
|
||||
<div class="card bg-light shadow">
|
||||
<div class="card-header text-center">
|
||||
<h4>{% trans "Delete registration" %}</h4>
|
||||
</div>
|
||||
{% if object.is_validated %}
|
||||
<div class="card-body">
|
||||
<div class="alert alert-danger">
|
||||
{% blocktrans %}This registration is already validated and can't be deleted.{% endblocktrans %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="card-body">
|
||||
<div class="alert alert-warning">
|
||||
{% with user=object.user wei_name=object.wei.name %}
|
||||
{% blocktrans %}Are you sure you want to delete the registration of {{ user }} for the WEI {{ wei_name }}? This action can't be undoed.{% endblocktrans %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer text-center">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<a class="btn btn-warning" href="{% url 'wei:wei_update_registration' object.pk %}">{% trans "Update registration" %}</a>
|
||||
<button class="btn btn-danger" type="submit">{% trans "Delete" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
@ -7,10 +7,10 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block profile_content %}
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form|crispy }}
|
||||
{{ membership_form|crispy }}
|
||||
<button class="btn btn-primary" type="submit">{% trans "Submit" %}</button>
|
||||
</form>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{ form|crispy }}
|
||||
{{ membership_form|crispy }}
|
||||
<button class="btn btn-primary" type="submit">{% trans "Submit" %}</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user