]> git.parisson.com Git - teleforma.git/commitdiff
add new filds to register form
authorYoan Le Clanche <yoanl@pilotsystems.net>
Thu, 24 Sep 2026 13:57:59 +0000 (15:57 +0200)
committerYoan Le Clanche <yoanl@pilotsystems.net>
Thu, 24 Sep 2026 13:57:59 +0000 (15:57 +0200)
teleforma/admin.py
teleforma/forms.py
teleforma/migrations/0041_student_training_adaptability_disability.py [new file with mode: 0644]
teleforma/models/crfpa.py
teleforma/templates/registration/registration_form.html
teleforma/templates/registration/registration_pdf.html

index 5ee190a45f64908b4d092278c72a0101afde288d..cd6cd340c59143c1b4277cba4d32a6036036fa4f 100644 (file)
@@ -178,7 +178,8 @@ class StudentAdmin(StudentAdminMixin, admin.ModelAdmin):
     search_fields = ['user__first_name', 'user__last_name', 'user__username', 'receipt_id' ]
     list_filter = ['user__is_active', 'restricted', 'is_subscribed', 'platform_only', PeriodListFilter,
                    TrainingsFilter, 'iej', 'procedure', 'written_speciality', 'oral_speciality',
-                   'oral_1', 'oral_2', 'fascicule', BalanceFilter]
+                   'oral_1', 'oral_2', 'fascicule', 'training_adaptability', 'disability',
+                   BalanceFilter]
     list_display = ['student_name', 'restricted', 'get_trainings', 'platform_only',
                     'total_payments', 'total_fees', 'balance', 'balance_intermediary']
     readonly_fields = ['user', 'balance', 'balance_intermediary']
index 6291975532a6ee0673ce3fd201dc3c778ecb3c8b..132d289ba566ed9b1270fe6b0fe39309016d0bb5 100644 (file)
@@ -91,6 +91,13 @@ class UserForm(ModelForm):
                                   required=False,
                                   widget=forms.Select())
 
+    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())
+
     procedure = ModelChoiceField(label=_('Procedure'),
                                  help_text="Matière de procédure",
                                  queryset=Course.objects.filter(procedure=True))
@@ -125,6 +132,7 @@ class UserForm(ModelForm):
         self.fields['email'].required = True
         self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail',
                             'postal_code', 'city', 'country', 'telephone', 'birthday', 'portrait']
+        self.adaptability_fields = ['training_adaptability', 'disability']
         self.training_fields = ['level', 'iej', 'period', 'platform_only',
                                 'training', 'fascicule', 'procedure', 'written_speciality', 'oral_1']
 
@@ -202,6 +210,8 @@ class UserForm(ModelForm):
                           training=training,
                           payment_schedule=data.get('payment_schedule'),
                           fascicule=fascicule,
+                          training_adaptability=data.get('training_adaptability') == 'True',
+                          disability=data.get('disability') == 'True',
                           subscription_fees=subscription_fees
                           )
         student.save()
diff --git a/teleforma/migrations/0041_student_training_adaptability_disability.py b/teleforma/migrations/0041_student_training_adaptability_disability.py
new file mode 100644 (file)
index 0000000..990b8ab
--- /dev/null
@@ -0,0 +1,21 @@
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('teleforma', '0040_media_duration_media_file_datetime'),
+    ]
+
+    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'),
+        ),
+    ]
index e7f6975b2d78adc4a62e333e85303a8e755fc930..96f80cf8db7fab8e6f1ece584f9c825348d6eef3 100644 (file)
@@ -199,6 +199,10 @@ class Student(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,
index 1be637ebf2aac5840109a244b5edfe4f103b13fd..1692f15c4b8493dbfd4a5156d9f447d11945a848 100644 (file)
         </div>
     </fieldset>
 
+    {% if form.adaptability_fields %}
+    <fieldset style="margin-top: 2em;">
+        <div class="column">
+            {% for fieldname in form.adaptability_fields %}
+            {% with field=form|get_item:fieldname %}
+            <div class="info_champs">
+                <label for="id_{{ field.name }}">
+                    {{ field.label }} <span class="required">*</span>
+                </label>
+                <span class="error">
+                    {{ field.errors }}
+                </span>
+                {{ field }}
+            </div>
+            {% endwith %}
+            {% endfor %}
+        </div>
+    </fieldset>
+    {% endif %}
+
     <h2><img src="{{ STATIC_URL }}teleforma/images/crfpa_formation.svg"
             onerror="this.onerror=null; this.src='{{ STATIC_URL }}teleforma/images/crfpa_formation.png'"
             alt="votre formation" title="votre formation"
index 41361491f89136b92b4db86a3a01f4a74b7a9252..018b2d2563ae5c693f5b06ddd9b5420f0b3b9dba 100644 (file)
                     <td class="bold">{% trans "Birthday" %} : </td>
                     <td>{{ profile.birthday }}</td>
                 </tr>
+                <tr>
+                    <td class="bold">Besoin d'adaptabilité de formation : </td>
+                    <td>{% if student.training_adaptability %}Oui{% else %}Non{% endif %}</td>
+                </tr>
+                <tr>
+                    <td class="bold">Situation de handicap : </td>
+                    <td>{% if student.disability %}Oui{% else %}Non{% endif %}</td>
+                </tr>
 
                 <tr>
                     <td class="bold">{% trans "Studying level" %} : </td>