diff --git a/stages/test_files/EXPORT_GAN.xlsx b/stages/test_files/EXPORT_GAN.xlsx index b227634..8c90ca5 100644 Binary files a/stages/test_files/EXPORT_GAN.xlsx and b/stages/test_files/EXPORT_GAN.xlsx differ diff --git a/stages/tests.py b/stages/tests.py index a86e2c7..1077c18 100644 --- a/stages/tests.py +++ b/stages/tests.py @@ -308,7 +308,7 @@ class ImportTests(TestCase): with open(path, 'rb') as fh: # , override_settings(DEBUG=True): response = self.client.post(reverse('import-students'), {'upload': fh}, follow=True) msg = "\n".join(str(m) for m in response.context['messages']) - self.assertIn("Objets créés : 2", msg) + self.assertIn("Objets créés : 3", msg) student1 = Student.objects.get(last_name='Fellmann') self.assertEqual(student1.corporation.name, "Crèche Les Mousaillons") self.assertEqual(student1.option_ase.name, "Accompagnement des enfants") diff --git a/stages/views.py b/stages/views.py index 59a783c..290aee0 100644 --- a/stages/views.py +++ b/stages/views.py @@ -322,13 +322,17 @@ class StudentImportView(ImportViewBase): # Second line for student, ignore it continue seen_students_ids.add(student_defaults['ext_id']) - if isinstance(student_defaults['birth_date'], str): + if student_defaults['birth_date'] == '': + student_defaults['birth_date'] = None + elif isinstance(student_defaults['birth_date'], str): student_defaults['birth_date'] = datetime.strptime(student_defaults['birth_date'], '%d.%m.%Y').date() if student_defaults['option_ase']: try: student_defaults['option_ase'] = Option.objects.get(name=student_defaults['option_ase']) except Option.DoesNotExist: del student_defaults['option_ase'] + else: + del student_defaults['option_ase'] corporation_defaults = { val: strip(line[key]) for key, val in corporation_mapping.items()