From: Yoan Le Clanche Date: Thu, 24 Sep 2026 13:58:11 +0000 (+0200) Subject: add new fields to register form X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=10759e73a3824e504dba240199e7c5adc0c00958;p=teleforma.git add new fields to register form --- diff --git a/teleforma/admin.py b/teleforma/admin.py index 241e9524..4c0d6370 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -187,7 +187,7 @@ else: inlines = [PaymentInline, OptionalFeeInline, DiscountInline, PaybackInline] search_fields = ['user__first_name', 'user__last_name', 'user__username', 'receipt_id'] list_filter = ['user__is_active', 'restricted', 'is_subscribed', 'platform_only', PeriodListFilter, - 'fascicule', BalanceFilter ] + 'fascicule', 'training_adaptability', 'disability', BalanceFilter ] list_display = ['student_name', 'restricted', 'get_trainings', 'platform_only', 'total_payments', 'total_fees', 'balance', 'balance_intermediary'] readonly_fields = [ 'balance', 'balance_intermediary' ] diff --git a/teleforma/forms.py b/teleforma/forms.py index c411e778..80ff11d4 100644 --- a/teleforma/forms.py +++ b/teleforma/forms.py @@ -241,6 +241,13 @@ else: courses = ModelChoiceField(label='Matières', queryset=Course.objects.filter(id__in=settings.TELEFORMA_REGISTER_COURSE_CHOICE)) + training_adaptability = forms.ChoiceField(choices=TRUE_FALSE_CHOICES, + label="Avez-vous besoin d'adaptabilité de formation ?", + widget=forms.Select()) + disability = forms.ChoiceField(choices=TRUE_FALSE_CHOICES, + label='Êtes-vous en situation de handicap ?', + widget=forms.Select()) + promo_code = CharField(label=_('Code promo'), max_length=100, required=False) @@ -263,6 +270,7 @@ else: self.fields['last_name'].required = True self.fields['email'].required = True self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail', 'postal_code', 'city', 'country', 'telephone', 'lawyer_country', 'different_billing_address', 'billing_address', 'billing_address_detail', 'billing_postal_code', 'billing_city', 'billing_country'] + self.adaptability_fields = ['training_adaptability', 'disability'] self.training_fields = ['platform_only', 'period', 'training', 'courses'] def clean(self): @@ -319,6 +327,8 @@ else: platform_only=platform_only, promo_code=data.get('promo_code'), payment_schedule=data.get('payment_schedule'), + training_adaptability=data.get('training_adaptability') == 'True', + disability=data.get('disability') == 'True', subscription_fees=subscription_fees ) student.save() diff --git a/teleforma/migrations/0015_student_training_adaptability_disability.py b/teleforma/migrations/0015_student_training_adaptability_disability.py new file mode 100644 index 00000000..aed2858e --- /dev/null +++ b/teleforma/migrations/0015_student_training_adaptability_disability.py @@ -0,0 +1,21 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('teleforma', '0014_add_lawyer_country_and_billing_address'), + ] + + operations = [ + migrations.AddField( + model_name='student', + name='training_adaptability', + field=models.BooleanField(blank=True, default=False, verbose_name="besoin d'adaptabilité de formation"), + ), + migrations.AddField( + model_name='student', + name='disability', + field=models.BooleanField(blank=True, default=False, verbose_name='situation de handicap'), + ), + ] diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 29831f48..f80ced3b 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -1085,6 +1085,10 @@ class StudentMixin(models.Model): fascicule = models.BooleanField(_('envoi des fascicules'), blank=True, default=False) + training_adaptability = models.BooleanField("besoin d'adaptabilité de formation", + blank=True, default=False) + disability = models.BooleanField('situation de handicap', blank=True, + default=False) payment_type = models.CharField(_('type de paiement'), choices=payment_choices, max_length=64, blank=True, null=True, diff --git a/teleforma/templates/registration/registration_form.html b/teleforma/templates/registration/registration_form.html index c1eaeedf..f96a39dd 100644 --- a/teleforma/templates/registration/registration_form.html +++ b/teleforma/templates/registration/registration_form.html @@ -65,6 +65,26 @@ + {% if form.adaptability_fields %} +
+
+ {% for fieldname in form.adaptability_fields %} + {% with field=form|get_item:fieldname %} +
+ + + {{ field.errors }} + + {{ field }} +
+ {% endwith %} + {% endfor %} +
+
+ {% endif %} +

votre formation{% trans "Birthday" %} : {{ profile.birthday }} + + Besoin d'adaptabilité de formation : + {% if student.training_adaptability %}Oui{% else %}Non{% endif %} + + + Situation de handicap : + {% if student.disability %}Oui{% else %}Non{% endif %} + {% trans "Studying level" %} :