From 9ab4df94e66ef6a4538c1e67e644dc06b6117d91 Mon Sep 17 00:00:00 2001 From: Ehouarn Date: Sat, 19 Jul 2025 16:55:07 +0200 Subject: [PATCH] Minor fixes --- apps/wei/forms/__init__.py | 4 ++-- apps/wei/forms/registration.py | 17 ++--------------- apps/wei/tables.py | 4 ++-- apps/wei/views.py | 15 ++++----------- 4 files changed, 10 insertions(+), 30 deletions(-) diff --git a/apps/wei/forms/__init__.py b/apps/wei/forms/__init__.py index 71fb2c5f..1cb9f283 100644 --- a/apps/wei/forms/__init__.py +++ b/apps/wei/forms/__init__.py @@ -1,11 +1,11 @@ # Copyright (C) 2018-2025 by BDE ENS Paris-Saclay # SPDX-License-Identifier: GPL-3.0-or-later -from .registration import WEIForm, WEIRegistrationForm, WEIRegistration1AForm, WEIRegistration2AForm, WEIMembership1AForm, \ +from .registration import WEIForm, WEIRegistrationForm, WEIMembership1AForm, \ WEIMembershipForm, BusForm, BusTeamForm from .surveys import WEISurvey, WEISurveyInformation, WEISurveyAlgorithm, CurrentSurvey __all__ = [ - 'WEIForm', 'WEIRegistrationForm', 'WEIRegistration1AForm', 'WEIRegistration2AForm', 'WEIMembership1AForm', 'WEIMembershipForm', 'BusForm', 'BusTeamForm', + 'WEIForm', 'WEIRegistrationForm', 'WEIMembership1AForm', 'WEIMembershipForm', 'BusForm', 'BusTeamForm', 'WEISurvey', 'WEISurveyInformation', 'WEISurveyAlgorithm', 'CurrentSurvey', ] diff --git a/apps/wei/forms/registration.py b/apps/wei/forms/registration.py index 35838c2b..4bf0dcd2 100644 --- a/apps/wei/forms/registration.py +++ b/apps/wei/forms/registration.py @@ -44,7 +44,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', 'deposit_check' + 'first_year', 'information_json', 'deposit_check', 'deposit_type' ] widgets = { "user": Autocomplete( @@ -62,21 +62,8 @@ class WEIRegistrationForm(forms.ModelForm): "deposit_check": forms.BooleanField( required=False, ), - } - - -class WEIRegistration2AForm(WEIRegistrationForm): - class Meta(WEIRegistrationForm.Meta): - fields = WEIRegistrationForm.Meta.fields + ['deposit_type'] - widgets = WEIRegistrationForm.Meta.widgets.copy() - widgets.update({ "deposit_type": forms.RadioSelect(), - }) - - -class WEIRegistration1AForm(WEIRegistrationForm): - class Meta(WEIRegistrationForm.Meta): - fields = WEIRegistrationForm.Meta.fields + } class WEIChooseBusForm(forms.Form): diff --git a/apps/wei/tables.py b/apps/wei/tables.py index 3f0c322e..82e02e44 100644 --- a/apps/wei/tables.py +++ b/apps/wei/tables.py @@ -57,7 +57,7 @@ class WEIRegistrationTable(tables.Table): ) validate = tables.LinkColumn( - 'wei:wei_update_registration', + 'wei:validate_registration', args=[A('pk')], verbose_name=_("Validate"), orderable=True, @@ -101,7 +101,7 @@ class WEIRegistrationTable(tables.Table): if not hasperm: return format_html("") - url = reverse_lazy('wei:wei_update_registration', args=(record.pk,)) + '?validate=true' + url = reverse_lazy('wei:wei_update_registration', args=(record.pk,)) text = _('Validate') status = record.validation_status if status == 2: diff --git a/apps/wei/views.py b/apps/wei/views.py index d5151848..d236af8b 100644 --- a/apps/wei/views.py +++ b/apps/wei/views.py @@ -35,7 +35,7 @@ from permission.views import ProtectQuerysetMixin, ProtectedCreateView from .forms.registration import WEIChooseBusForm from .models import WEIClub, WEIRegistration, WEIMembership, Bus, BusTeam, WEIRole -from .forms import WEIForm, WEIRegistrationForm, WEIRegistration1AForm, WEIRegistration2AForm, BusForm, BusTeamForm, WEIMembership1AForm, \ +from .forms import WEIForm, WEIRegistrationForm, BusForm, BusTeamForm, WEIMembership1AForm, \ WEIMembershipForm, CurrentSurvey from .tables import BusRepartitionTable, BusTable, BusTeamTable, WEITable, WEIRegistrationTable, \ WEIRegistration1ATable, WEIMembershipTable @@ -277,7 +277,7 @@ class WEIRegistrationsView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTable def get_queryset(self, **kwargs): qs = super().get_queryset(**kwargs).filter(wei=self.club, membership=None).distinct() - + # Annotate the query to be able to sort registrations on validate status qs = qs.annotate( deposit=Case( When(deposit_type='note', then=F('wei__deposit_amount')), @@ -544,7 +544,7 @@ class WEIRegister1AView(ProtectQuerysetMixin, ProtectedCreateView): Register a new user to the WEI """ model = WEIRegistration - form_class = WEIRegistration1AForm + form_class = WEIRegistrationForm extra_context = {"title": _("Register first year student to the WEI")} def get_sample_object(self): @@ -640,7 +640,7 @@ class WEIRegister2AView(ProtectQuerysetMixin, ProtectedCreateView): Register an old user to the WEI """ model = WEIRegistration - form_class = WEIRegistration2AForm + form_class = WEIRegistrationForm extra_context = {"title": _("Register old student to the WEI")} def get_sample_object(self): @@ -773,14 +773,11 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update if today >= wei.date_start or today < wei.membership_start: return redirect(reverse_lazy('wei:wei_closed', args=(wei.pk,))) # Store the validate parameter in the view's state - self.should_validate = request.GET.get('validate', False) return super().dispatch(request, *args, **kwargs) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["club"] = self.object.wei - # Pass the validate parameter to the template - context["should_validate"] = self.should_validate if self.object.is_validated: membership_form = self.get_membership_form(instance=self.object.membership, @@ -822,7 +819,6 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update if not self.object.first_year and "deposit_type" in form.fields: form.fields["deposit_type"].required = True form.fields["deposit_type"].help_text = _("Choose how you want to pay the deposit") - form.fields["deposit_type"].widget = forms.RadioSelect(choices=form.fields["deposit_type"].choices) return form @@ -896,9 +892,6 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update survey = CurrentSurvey(self.object) if not survey.is_complete(): return reverse_lazy("wei:wei_survey", kwargs={"pk": self.object.pk}) - # On redirige vers la validation uniquement si c'est explicitement demandé (et stocké dans la vue) - if self.should_validate and self.request.user.has_perm("wei.add_weimembership"): - return reverse_lazy("wei:validate_registration", kwargs={"pk": self.object.pk}) return reverse_lazy("wei:wei_detail", kwargs={"pk": self.object.wei.pk})