From ab98e29ca9c9df2ad9ad6f2675087c0992414c7c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Arthur=20Gu=C3=A9don?=
 <60623551+arthurgdn@users.noreply.github.com>
Date: Wed, 18 Nov 2020 20:06:44 +0100
Subject: [PATCH] merge dev into master (#26)

* Password reset feature (#8)

* Add Django Rest auth module

* Try to make the send reset password email work

* Modified template mail for reset

* Add Django Rest auth module

* Try to make the send reset password email work

* Modified template mail for reset

* test

* Added utf-8 support to exported csv and switched delimiter from , to ; in admin interface

* Disabled emails while in dev

* Added multi selection filter in admin

* Fixed mail settings

* Added year field to Tutor serializer

* Fixed year updated before registration form filled

* commit for automatic deploy

* Testing CI

Co-authored-by: chiahetcho <44137047+chiahetcho@users.noreply.github.com>
Co-authored-by: florimondmanca <florimond.manca@gmail.com>
Co-authored-by: Dylan Sechet <dylan.sechet82@gmail.com>
---
 .../migrations/0009_auto_20200918_1921.py     | 38 +++++++++++++++++++
 .../migrations/0010_merge_20200923_1355.py    | 14 +++++++
 .../migrations/0011_merge_20200923_1507.py    | 14 +++++++
 .../migrations/0013_merge_20200925_1450.py    | 14 +++++++
 .../migrations/0014_auto_20201116_1118.py     | 18 +++++++++
 profiles/models.py                            | 15 ++++----
 profiles/serializers.py                       |  2 +-
 users/fields.py                               |  1 -
 8 files changed, 107 insertions(+), 9 deletions(-)
 create mode 100644 profiles/migrations/0009_auto_20200918_1921.py
 create mode 100644 profiles/migrations/0010_merge_20200923_1355.py
 create mode 100644 profiles/migrations/0011_merge_20200923_1507.py
 create mode 100644 profiles/migrations/0013_merge_20200925_1450.py
 create mode 100644 profiles/migrations/0014_auto_20201116_1118.py

diff --git a/profiles/migrations/0009_auto_20200918_1921.py b/profiles/migrations/0009_auto_20200918_1921.py
new file mode 100644
index 0000000..98243eb
--- /dev/null
+++ b/profiles/migrations/0009_auto_20200918_1921.py
@@ -0,0 +1,38 @@
+# Generated by Django 2.2 on 2020-09-18 17:21
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0008_auto_20200918_1913'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='student',
+            name='nationality',
+            field=models.CharField(blank=True, max_length=50, null=True, verbose_name='nationalité'),
+        ),
+        migrations.AlterField(
+            model_name='student',
+            name='parentsEmail',
+            field=models.EmailField(blank=True, max_length=70, null=True, verbose_name='adresse mail parentale'),
+        ),
+        migrations.AlterField(
+            model_name='student',
+            name='parentsStatus',
+            field=models.CharField(blank=True, max_length=70, null=True, verbose_name='statut des parents'),
+        ),
+        migrations.AlterField(
+            model_name='student',
+            name='scholarship',
+            field=models.CharField(blank=True, max_length=50, null=True, verbose_name='boursier'),
+        ),
+        migrations.AlterField(
+            model_name='student',
+            name='specialTeaching',
+            field=models.CharField(blank=True, max_length=50, null=True, verbose_name='enseignement de spécialité'),
+        ),
+    ]
diff --git a/profiles/migrations/0010_merge_20200923_1355.py b/profiles/migrations/0010_merge_20200923_1355.py
new file mode 100644
index 0000000..f03e4f0
--- /dev/null
+++ b/profiles/migrations/0010_merge_20200923_1355.py
@@ -0,0 +1,14 @@
+# Generated by Django 2.2 on 2020-09-23 11:55
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0009_auto_20200918_1921'),
+        ('profiles', '0009_auto_20200923_1329'),
+    ]
+
+    operations = [
+    ]
diff --git a/profiles/migrations/0011_merge_20200923_1507.py b/profiles/migrations/0011_merge_20200923_1507.py
new file mode 100644
index 0000000..5958798
--- /dev/null
+++ b/profiles/migrations/0011_merge_20200923_1507.py
@@ -0,0 +1,14 @@
+# Generated by Django 2.2 on 2020-09-23 13:07
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0010_merge_20200923_1355'),
+        ('profiles', '0010_auto_20200923_1444'),
+    ]
+
+    operations = [
+    ]
diff --git a/profiles/migrations/0013_merge_20200925_1450.py b/profiles/migrations/0013_merge_20200925_1450.py
new file mode 100644
index 0000000..480647d
--- /dev/null
+++ b/profiles/migrations/0013_merge_20200925_1450.py
@@ -0,0 +1,14 @@
+# Generated by Django 2.2 on 2020-09-25 12:50
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0012_student_year'),
+        ('profiles', '0011_merge_20200923_1507'),
+    ]
+
+    operations = [
+    ]
diff --git a/profiles/migrations/0014_auto_20201116_1118.py b/profiles/migrations/0014_auto_20201116_1118.py
new file mode 100644
index 0000000..7c82e00
--- /dev/null
+++ b/profiles/migrations/0014_auto_20201116_1118.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.2 on 2020-11-16 10:18
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('profiles', '0013_merge_20200925_1450'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='student',
+            name='school',
+            field=models.CharField(blank=True, max_length=70, null=True, verbose_name='établissement'),
+        ),
+    ]
diff --git a/profiles/models.py b/profiles/models.py
index 6f9dd0d..20952a3 100644
--- a/profiles/models.py
+++ b/profiles/models.py
@@ -185,13 +185,14 @@ class Student(ProfileMixin, models.Model):
 
     def save(self, *args, **kwargs):
         """Updates the year field based on the last modified date"""
-        date_now = datetime.now()
-        if date_now.month>=9:
-            self.year = f"{date_now.year}/{date_now.year+1}"
-        else:
-            self.year = f"{date_now.year-1}/{date_now.year}"
-
-        SendDocs(user=self.user).send() # send email with link to registration docs
+        if self.city != None: # Ne mettre à jour que quand les données personnelles sont remplies
+            date_now = datetime.now()
+            if date_now.month>=9:
+                self.year = f"{date_now.year}/{date_now.year+1}"
+            else:
+                self.year = f"{date_now.year-1}/{date_now.year}"
+
+            SendDocs(user=self.user).send() # send email with link to registration docs
 
         return super(Student,self).save(*args, **kwargs)
 
diff --git a/profiles/serializers.py b/profiles/serializers.py
index 778dc21..941fc2c 100644
--- a/profiles/serializers.py
+++ b/profiles/serializers.py
@@ -35,7 +35,7 @@ class StudentSerializer(serializers.HyperlinkedModelSerializer):
     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')
+            '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')
         extra_kwargs = {
             'url': {'view_name': 'api:student-detail'},
         }
diff --git a/users/fields.py b/users/fields.py
index 97e4790..fa3742f 100644
--- a/users/fields.py
+++ b/users/fields.py
@@ -4,7 +4,6 @@ from rest_framework import serializers
 from .serializers import UserSerializer
 from .models import User
 
-
 class UserField(serializers.Field):
     """A field for representing a user.
 
-- 
GitLab