From f72f0573c2967f0bcdebd1082f25d396409b210f Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Wed, 8 Jan 2020 15:27:22 +0100 Subject: [PATCH] Make code compatible with Django 3.0 --- candidats/migrations/0001_initial.py | 4 ++-- candidats/models.py | 4 ++-- candidats/pdf.py | 2 +- candidats/tests.py | 6 +++--- candidats/views.py | 2 +- requirements.txt | 2 +- stages/tests.py | 2 +- stages/views/imports.py | 8 ++++---- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/candidats/migrations/0001_initial.py b/candidats/migrations/0001_initial.py index f5a8798..492f64a 100644 --- a/candidats/migrations/0001_initial.py +++ b/candidats/migrations/0001_initial.py @@ -27,7 +27,7 @@ class Migration(migrations.Migration): ('email', models.EmailField(blank=True, max_length=254, verbose_name='Courriel')), ('avs', models.CharField(blank=True, max_length=15, verbose_name='No AVS')), ('handicap', models.BooleanField(default=False, verbose_name='Handicap/besoins part.')), - ('section', models.CharField(choices=[('ASA', 'Aide en soin et accompagnement AFP'), ('ASE', 'Assist. socio-éducatif-ve CFC'), ('ASSC', 'Assist. en soin et santé communautaire CFC'), ('EDE', "Education de l'enfance, dipl. ES"), ('EDS', 'Education sociale, dipl. ES')], max_length=10, verbose_name='Filière')), + ('section', models.CharField(choices=[('ASA', 'Aide en soin et accompagnement AFP'), ('ASE', 'Assist. socio-éducatif-ve CFC'), ('ASSC', 'Assist. en soin et santé communautaire CFC'), ('EDE', "Education de l’enfance, dipl. ES"), ('EDS', 'Education sociale, dipl. ES')], max_length=10, verbose_name='Filière')), ('option', models.CharField(blank=True, choices=[('GEN', 'Généraliste'), ('ENF', 'Enfance'), ('PAG', 'Personnes âgées'), ('HAN', 'Handicap'), ('PE-5400h', 'Parcours Emploi 5400h.'), ('PE-3600h', 'Parcours Emploi 3600h.'), ('PS', 'Parcours stage')], max_length=20, verbose_name='Option')), ('exemption_ecg', models.BooleanField(default=False)), ('validation_sfpo', models.DateField(blank=True, null=True, verbose_name='Confirmation SFPO')), @@ -35,7 +35,7 @@ class Migration(migrations.Migration): ('date_confirmation_mail', models.DateField(blank=True, null=True, verbose_name='Envoi mail de confirmation')), ('canceled_file', models.BooleanField(default=False, verbose_name='Dossier retiré')), ('has_photo', models.BooleanField(default=False, verbose_name='Photo passeport')), - ('registration_form', models.BooleanField(default=False, verbose_name="Formulaire d'inscription")), + ('registration_form', models.BooleanField(default=False, verbose_name="Formulaire d’inscription")), ('certificate_of_payement', models.BooleanField(default=False, verbose_name='Attest. de paiement')), ('police_record', models.BooleanField(default=False, verbose_name='Casier judic.')), ('cv', models.BooleanField(default=False, verbose_name='CV')), diff --git a/candidats/models.py b/candidats/models.py index d011a04..77a6ded 100644 --- a/candidats/models.py +++ b/candidats/models.py @@ -14,7 +14,7 @@ SECTION_CHOICES = ( ('ASA', 'Aide en soin et accompagnement AFP'), ('ASE', 'Assist. socio-éducatif-ve CFC'), ('ASSC', 'Assist. en soin et santé communautaire CFC'), - ('EDE', "Education de l'enfance, dipl. ES"), + ('EDE', "Education de l’enfance, dipl. ES"), ('EDS', 'Education sociale, dipl. ES'), ) @@ -89,7 +89,7 @@ class Candidate(models.Model): ) # Checking for registration file - registration_form = models.BooleanField("Formulaire d'inscription", default=False) + registration_form = models.BooleanField("Formulaire d’inscription", default=False) certificate_of_payement = models.BooleanField("Attest. de paiement", default=False) police_record = models.BooleanField("Casier judic.", default=False) cv = models.BooleanField("CV", default=False) diff --git a/candidats/pdf.py b/candidats/pdf.py index 71d22f4..1fa4332 100644 --- a/candidats/pdf.py +++ b/candidats/pdf.py @@ -24,7 +24,7 @@ class InscriptionSummaryPDF(EpcBaseDocTemplate): def header(self, canvas, doc): section = "Filière EDE" - title = "Dossier d'inscription" + title = "Dossier d’inscription" canvas.saveState() canvas.drawImage( diff --git a/candidats/tests.py b/candidats/tests.py index db4b71a..d69a714 100644 --- a/candidats/tests.py +++ b/candidats/tests.py @@ -144,7 +144,7 @@ class CandidateTests(TestCase): # Mail content differ depending on the section self.assertEqual(mail.outbox[0].body, """Monsieur Henri Dupond, -Par ce courriel, nous vous confirmons la bonne réception de vos documents de candidature à la formation Education de l'enfance, dipl. ES, option «Enfance» et vous remercions de l’intérêt que vous portez à notre institution. +Par ce courriel, nous vous confirmons la bonne réception de vos documents de candidature à la formation Education de l’enfance, dipl. ES, option «Enfance» et vous remercions de l’intérêt que vous portez à notre institution. Votre dossier sera traité dans les jours à venir et des nouvelles vous seront communiquées par courriel durant la 2ème quinzaine du mois de février. @@ -257,7 +257,7 @@ En cas d’empêchement de dernière minute, nous vous remercions d’annoncer v Si vous rencontrez des difficultés d’apprentissage (dyslexie, dysorthographie, etc.), nous vous rappelons que vous pouvez bénéficier d’un temps supplémentaire d’une heure au maximum pour l’examen d’admission. Si vous n’avez pas déjà joint à votre dossier de candidature un document officiel (rapport d’orthophonie par exemple), vous devez impérativement nous le faire parvenir au moins 5 jours ouvrables avant la date du premier examen. De plus, afin que nous puissions enregistrer définitivement votre inscription, nous vous remercions par avance de nous faire parvenir, dans les meilleurs délais, le ou les documents suivants: - - Formulaire d'inscription, Attest. de paiement, Casier judic., CV, Texte réflexif, Photo passeport, Bull. de notes + - Formulaire d’inscription, Attest. de paiement, Casier judic., CV, Texte réflexif, Photo passeport, Bull. de notes Tous les documents nécessaires à compléter votre dossier se trouvent sur notre site internet à l’adresse https://www.cifom.ch/index.php/ecoles/epc/formations-epc/educateur-de-l-enfance-epc. @@ -281,7 +281,7 @@ tél. 032 886 33 00 self.assertEqual(response.context['form'].initial['message'], expected_message.replace( """ De plus, afin que nous puissions enregistrer définitivement votre inscription, nous vous remercions par avance de nous faire parvenir, dans les meilleurs délais, le ou les documents suivants: - - Formulaire d'inscription, Attest. de paiement, Casier judic., CV, Texte réflexif, Photo passeport, Bull. de notes + - Formulaire d’inscription, Attest. de paiement, Casier judic., CV, Texte réflexif, Photo passeport, Bull. de notes Tous les documents nécessaires à compléter votre dossier se trouvent sur notre site internet à l’adresse https://www.cifom.ch/index.php/ecoles/epc/formations-epc/educateur-de-l-enfance-epc. diff --git a/candidats/views.py b/candidats/views.py index 8e37b84..0fd83b6 100644 --- a/candidats/views.py +++ b/candidats/views.py @@ -30,7 +30,7 @@ class ConfirmationView(CandidateConfirmationView): """ Email confirming the receipt of the registration form """ - success_message = "Une confirmation d'inscription a été envoyée à {person}" + success_message = "Une confirmation d’inscription a été envoyée à {person}" candidate_date_field = 'confirmation_date' title = "Confirmation de réception de dossier" diff --git a/requirements.txt b/requirements.txt index 1b376cd..2f58679 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -Django>=2.2,<=3.0 +Django>=2.2,<3.1 tabimport>=0.4.0 openpyxl==2.4.9 xlrd diff --git a/stages/tests.py b/stages/tests.py index ad89833..e51c194 100644 --- a/stages/tests.py +++ b/stages/tests.py @@ -753,7 +753,7 @@ class ImportTests(TestCase): with open(path, 'rb') as fh: response = self.client.post(reverse('import-hp-contacts'), {'upload': fh}, follow=True) self.check_form_errors(response) - self.assertContains(response, "Impossible de trouver l'étudiant avec le numéro 10") + self.assertContains(response, "Impossible de trouver l’étudiant avec le numéro 10") self.assertContains(response, "NoSIRET est vide à ligne 4. Ligne ignorée") st1.refresh_from_db() self.assertEqual(st1.instructor.last_name, 'Geiser') diff --git a/stages/views/imports.py b/stages/views/imports.py index 87ba473..304ba6e 100644 --- a/stages/views/imports.py +++ b/stages/views/imports.py @@ -223,7 +223,7 @@ class StudentImportView(ImportViewBase): klass.save() except KeyError: err_msg.append( - "L'enseignant {0} n'existe pas dans la base de données".format(full_name) + "L’enseignant {0} n'existe pas dans la base de données".format(full_name) ) seen_klasses.add(klass) @@ -428,7 +428,7 @@ class HPContactsImportView(ImportViewBase): student = Student.objects.get(ext_id=int(line['UID_ETU'])) except Student.DoesNotExist: errors.append( - "Impossible de trouver l'étudiant avec le numéro %s" % int(line['UID_ETU']) + "Impossible de trouver l’étudiant avec le numéro %s" % int(line['UID_ETU']) ) continue if not line['NoSIRET']: @@ -440,7 +440,7 @@ class HPContactsImportView(ImportViewBase): corp = Corporation.objects.get(ext_id=int(line['NoSIRET'])) except Corporation.DoesNotExist: errors.append( - "Impossible de trouver l'institution avec le numéro %s" % int(line['NoSIRET']) + "Impossible de trouver l’institution avec le numéro %s" % int(line['NoSIRET']) ) continue @@ -521,7 +521,7 @@ class ImportReportsView(FormView): def import_reports(self, pdf_path, semester): path = os.path.abspath(pdf_path) - student_regex = '[E|É]lève\s*:\s*([^\n]*)' + student_regex = r'[E|É]lève\s*:\s*([^\n]*)' # Directory automatically deleted when the variable is deleted _temp_dir = tempfile.TemporaryDirectory() temp_dir = _temp_dir.name