From eacd57213653247e0053e13f7a420819e1afdfb5 Mon Sep 17 00:00:00 2001
From: salazard <hamzatouizrat@yahoo.com>
Date: Sat, 10 Sep 2022 00:48:53 +0200
Subject: [PATCH] add date pf birth as field in registration

---
 .../migrations/0018_auto_20220909_1740.py     | 25 +++++++++++++++++++
 profiles/serializers.py                       |  3 +--
 .../0003_registration_dateofbirth.py          | 20 +++++++++++++++
 register/serializers.py                       |  3 ++-
 register/signals.py                           |  1 +
 5 files changed, 49 insertions(+), 3 deletions(-)
 create mode 100644 profiles/migrations/0018_auto_20220909_1740.py
 create mode 100644 register/migrations/0003_registration_dateofbirth.py

diff --git a/profiles/migrations/0018_auto_20220909_1740.py b/profiles/migrations/0018_auto_20220909_1740.py
new file mode 100644
index 0000000..08c6e8d
--- /dev/null
+++ b/profiles/migrations/0018_auto_20220909_1740.py
@@ -0,0 +1,25 @@
+# Generated by Django 2.2 on 2022-09-09 15:40
+
+import datetime
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0017_student_qpv'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='student',
+            name='dateOfBirth',
+            field=models.DateField(default=datetime.date(2000, 1, 1)),
+            preserve_default=False,
+        ),
+        migrations.AlterField(
+            model_name='tutor',
+            name='promotion',
+            field=models.IntegerField(choices=[(2025, '2025'), (2024, '2024'), (2023, '2023'), (2022, '2022'), (2021, '2021')], default=2025),
+        ),
+    ]
diff --git a/profiles/serializers.py b/profiles/serializers.py
index 941fc2c..76a1c54 100644
--- a/profiles/serializers.py
+++ b/profiles/serializers.py
@@ -31,11 +31,10 @@ class StudentSerializer(serializers.HyperlinkedModelSerializer):
         read_only=True)
     registration = StudentRegistrationSerializer()
 
-
     class Meta:  # noqa
         model = Student
         fields = (
-            'user_id', 'user', 'url', 'registration', 'visits', 'gender', 'addressNumber', 'street', 'city', 'personalPhone', 'parentsPhone', 'parentsEmail', 'school', 'grade', 'scholarship', 'fatherActivity', 'motherActivity', 'parentsStatus', 'dependantsNumber', 'specialTeaching', 'nationality', 'zipCode', 'classType', 'year')
+            'user_id', 'user', 'url', 'registration', 'visits', 'gender', 'addressNumber', 'street', 'city', 'personalPhone', 'parentsPhone', 'parentsEmail', 'school', 'grade', 'scholarship', 'fatherActivity', 'motherActivity', 'parentsStatus', 'dependantsNumber', 'specialTeaching', 'nationality', 'zipCode', 'classType', 'year', 'dateOfBirth')
         extra_kwargs = {
             'url': {'view_name': 'api:student-detail'},
         }
diff --git a/register/migrations/0003_registration_dateofbirth.py b/register/migrations/0003_registration_dateofbirth.py
new file mode 100644
index 0000000..7582fb1
--- /dev/null
+++ b/register/migrations/0003_registration_dateofbirth.py
@@ -0,0 +1,20 @@
+# Generated by Django 2.2 on 2022-09-09 15:40
+
+import datetime
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('register', '0002_registration_phone_number'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='registration',
+            name='dateOfBirth',
+            field=models.DateField(default=datetime.date(1997, 10, 19)),
+            preserve_default=False,
+        ),
+    ]
diff --git a/register/serializers.py b/register/serializers.py
index 01cea36..12b6c58 100644
--- a/register/serializers.py
+++ b/register/serializers.py
@@ -24,7 +24,7 @@ class RegistrationSerializer(serializers.ModelSerializer):
         model = Registration
         fields = ('id', 'email', 'password',
                   'first_name', 'last_name', 'phone_number',
-                  'submitted', 'validated',)
+                  'submitted', 'validated', 'dateOfBirth')
 
         extra_kwargs = {
             'submitted': {'read_only': True},
@@ -43,6 +43,7 @@ class RegistrationSerializer(serializers.ModelSerializer):
         - Build/save the nested objects (address, emergency contact)
         - Build/save a user and a student profile
         """
+
         password = validated_data.pop('password')
 
         registration = Registration.objects.create(**validated_data)
diff --git a/register/signals.py b/register/signals.py
index 0572391..18c9ea0 100644
--- a/register/signals.py
+++ b/register/signals.py
@@ -27,5 +27,6 @@ def create_user_and_student(sender, instance: Registration,
 
     Student.objects.create(
         user=user,
+        dateOfBirth=instance.dateOfBirth,
         registration=instance,
     )
-- 
GitLab