diff --git a/avisstage/forms.py b/avisstage/forms.py index d778e5c..b6b6f13 100644 --- a/avisstage/forms.py +++ b/avisstage/forms.py @@ -39,10 +39,10 @@ class StageForm(forms.ModelForm): attrs={"class": "datepicker", "placeholder": "JJ/MM/AAAA"} ) date_debut = forms.DateField( - label=u"Date de début", input_formats=["%d/%m/%Y"], widget=date_widget + label="Date de début", input_formats=["%d/%m/%Y"], widget=date_widget ) date_fin = forms.DateField( - label=u"Date de fin", input_formats=["%d/%m/%Y"], widget=date_widget + label="Date de fin", input_formats=["%d/%m/%Y"], widget=date_widget ) class Meta: @@ -59,11 +59,11 @@ class StageForm(forms.ModelForm): "encadrants", ] help_texts = { - "thematiques": u"Mettez une virgule pour valider votre thématique si la suggestion ne correspond pas ou si elle n'existe pas encore", - "structure": u"Nom de l'équipe, du laboratoire, de la startup... (si le lieu ne suffit pas)", + "thematiques": "Mettez une virgule pour valider votre thématique si la suggestion ne correspond pas ou si elle n'existe pas encore", + "structure": "Nom de l'équipe, du laboratoire, de la startup... (si le lieu ne suffit pas)", } labels = { - "date_debut": u"Date de début", + "date_debut": "Date de début", } def __init__(self, *args, **kwargs): @@ -101,12 +101,12 @@ class AvisStageForm(HTMLTrimmerForm): ] help_texts = { "chapo": u'"Trop long, pas lu" : une accroche résumant ce que vous avez pensé de ce séjour', - "avis_ambiance": u"Avez-vous passé un bon moment à ce travail ? Étiez-vous assez guidé⋅e ? Aviez-vous un bon contact avec vos encadrant⋅e⋅s ? Y avait-il une bonne ambiance dans l'équipe ?", - "avis_sujet": u"Quelle était votre mission ? Qu'en avez-vous retiré ? Le travail correspondait-il à vos attentes ? Était-ce à votre niveau, trop dur, trop facile ?", - "avis_admin": u"Avez-vous commencé votre travail à la date prévue ? Était-ce compliqué d'obtenir les documents nécessaires (visa, contrats, etc) ? L'administration de l'établissement vous a-t-elle aidé⋅e ? Étiez-vous rémunéré⋅e ?", - "avis_prestage": u"Comment avez-vous trouvé où aller pour cette expérience ? À quel moment avez-vous commencé à chercher ? Avez-vous eu des entretiens pour obtenir votre place ? Avez-vous eu d'autres pistes, pourquoi avez-vous choisi cette option ?", - "les_plus": u"Les principaux points positifs de cette expérience", - "les_moins": u"Ce qui aurait pu être mieux", + "avis_ambiance": "Avez-vous passé un bon moment à ce travail ? Étiez-vous assez guidé⋅e ? Aviez-vous un bon contact avec vos encadrant⋅e⋅s ? Y avait-il une bonne ambiance dans l'équipe ?", + "avis_sujet": "Quelle était votre mission ? Qu'en avez-vous retiré ? Le travail correspondait-il à vos attentes ? Était-ce à votre niveau, trop dur, trop facile ?", + "avis_admin": "Avez-vous commencé votre travail à la date prévue ? Était-ce compliqué d'obtenir les documents nécessaires (visa, contrats, etc) ? L'administration de l'établissement vous a-t-elle aidé⋅e ? Étiez-vous rémunéré⋅e ?", + "avis_prestage": "Comment avez-vous trouvé où aller pour cette expérience ? À quel moment avez-vous commencé à chercher ? Avez-vous eu des entretiens pour obtenir votre place ? Avez-vous eu d'autres pistes, pourquoi avez-vous choisi cette option ?", + "les_plus": "Les principaux points positifs de cette expérience", + "les_moins": "Ce qui aurait pu être mieux", } @@ -124,11 +124,11 @@ class AvisLieuForm(HTMLTrimmerForm): ] help_texts = { "chapo": u'"Trop long, pas lu" : une accroche résumant ce que vous avez pensé de cet endroit', - "avis_lieustage": u"Qu'avez-vous pensé des lieux où vous travailliez ? Les bâtiments étaient-ils modernes ? Était-il agréable d'y travailler ?", - "avis_pratique": u"Avez-vous eu du mal à trouver un logement ? Y-a-t-il des choses que vous avez apprises sur place qu'il vous aurait été utile de savoir avant de partir ?", - "avis_tourisme": u"Y-a-t-il des lieux à visiter dans cette zone ? Avez-vous pratiqué des activités sportives ? Est-il facile de faire des rencontres ?", - "les_plus": u"Les meilleures raisons de partir à cet endroit", - "les_moins": u"Ce qui vous a gêné ou manqué là-bas", + "avis_lieustage": "Qu'avez-vous pensé des lieux où vous travailliez ? Les bâtiments étaient-ils modernes ? Était-il agréable d'y travailler ?", + "avis_pratique": "Avez-vous eu du mal à trouver un logement ? Y-a-t-il des choses que vous avez apprises sur place qu'il vous aurait été utile de savoir avant de partir ?", + "avis_tourisme": "Y-a-t-il des lieux à visiter dans cette zone ? Avez-vous pratiqué des activités sportives ? Est-il facile de faire des rencontres ?", + "les_plus": "Les meilleures raisons de partir à cet endroit", + "les_moins": "Ce qui vous a gêné ou manqué là-bas", } widgets = {"lieu": forms.HiddenInput(attrs={"class": "lieu-hidden"})} diff --git a/avisstage/management/commands/nettoie_lieux.py b/avisstage/management/commands/nettoie_lieux.py index a857503..38cb81c 100644 --- a/avisstage/management/commands/nettoie_lieux.py +++ b/avisstage/management/commands/nettoie_lieux.py @@ -22,7 +22,7 @@ class Command(BaseCommand): if options.get("apply", False): rundb = True else: - print(u"Les modifications ne seront pas appliquées") + print("Les modifications ne seront pas appliquées") min_lieu = options.get("min_lieu", 0) @@ -33,11 +33,11 @@ class Command(BaseCommand): if len(lproches) == 0: continue print( - u"Doublons possibles pour %s (id=%d, %d avis) :" + "Doublons possibles pour %s (id=%d, %d avis) :" % (lieu, lieu.id, lieu.avislieu_set.count()) ) for plieu in lproches: - pprint = u" > %s (id=%d, %d avis)" % ( + pprint = " > %s (id=%d, %d avis)" % ( plieu, plieu.id, plieu.avislieu_set.count(), @@ -47,7 +47,7 @@ class Command(BaseCommand): and plieu.ville == lieu.ville and plieu.type_lieu == lieu.type_lieu ): - print(u"%s %s" % (pprint, self.style.SUCCESS(u"-> Suppression"))) + print("%s %s" % (pprint, self.style.SUCCESS("-> Suppression"))) if rundb: for avis in plieu.avislieu_set.all(): avis.lieu = lieu @@ -55,7 +55,7 @@ class Command(BaseCommand): plieu.delete() else: print( - u"%s %s" - % (pprint, self.style.WARNING(u"-> À supprimer manuellement")) + "%s %s" + % (pprint, self.style.WARNING("-> À supprimer manuellement")) ) - self.stdout.write(self.style.SUCCESS(u"Nettoyage des lieux effectué")) + self.stdout.write(self.style.SUCCESS("Nettoyage des lieux effectué")) diff --git a/avisstage/management/commands/nettoie_stages.py b/avisstage/management/commands/nettoie_stages.py index 72600b9..f6b9f46 100644 --- a/avisstage/management/commands/nettoie_stages.py +++ b/avisstage/management/commands/nettoie_stages.py @@ -32,7 +32,7 @@ class Command(BaseCommand): if options.get("apply", False): rundb = True else: - print(u"Les modifications ne seront pas appliquées") + print("Les modifications ne seront pas appliquées") min_stage = options.get("min_stage", 0) @@ -55,10 +55,10 @@ class Command(BaseCommand): problems += [(avis, alen), lieuset[aid]] lieuset[aid] = (avis, alen) if len(todel) > 0: - print(u"Doublons détectés dans %s" % (stage,)) + print("Doublons détectés dans %s" % (stage,)) for avis, alen in todel: print( - u" > Suppression de l'avis sur %s de %d mots" + " > Suppression de l'avis sur %s de %d mots" % (avis.lieu, alen) ) if rundb: @@ -66,9 +66,9 @@ class Command(BaseCommand): if len(problems) > 0: self.stdout.write( self.style.WARNING( - u"Réparation impossible de %s (id=%d)" % (stage, stage.id) + "Réparation impossible de %s (id=%d)" % (stage, stage.id) ) ) for avis, alen in problems: - print(u" > Avis sur %s de %d mots" % (avis.lieu, alen)) - self.stdout.write(self.style.SUCCESS(u"Nettoyage des stages effectué")) + print(" > Avis sur %s de %d mots" % (avis.lieu, alen)) + self.stdout.write(self.style.SUCCESS("Nettoyage des stages effectué")) diff --git a/avisstage/management/commands/supprime_lieu.py b/avisstage/management/commands/supprime_lieu.py index 02c54aa..0efbafc 100644 --- a/avisstage/management/commands/supprime_lieu.py +++ b/avisstage/management/commands/supprime_lieu.py @@ -23,16 +23,16 @@ class Command(BaseCommand): if options.get("apply", False): rundb = True else: - print(u"Les modifications ne seront pas appliquées") + print("Les modifications ne seront pas appliquées") plieu = Lieu.objects.get(id=options["del_lieu"]) lieu = Lieu.objects.get(id=options["repl_lieu"]) print( - u"Suppression de %s (id=%d, %d avis)" + "Suppression de %s (id=%d, %d avis)" % (plieu, plieu.id, plieu.avislieu_set.count()) ) print( - u"Remplacement par %s (id=%d, %d avis)" + "Remplacement par %s (id=%d, %d avis)" % (lieu, lieu.id, lieu.avislieu_set.count()) ) if rundb: @@ -40,4 +40,4 @@ class Command(BaseCommand): avis.lieu = lieu avis.save() plieu.delete() - self.stdout.write(self.style.SUCCESS(u"Terminé")) + self.stdout.write(self.style.SUCCESS("Terminé")) diff --git a/avisstage/management/commands/termine_scolarite.py b/avisstage/management/commands/termine_scolarite.py index 41f489a..71a15ed 100644 --- a/avisstage/management/commands/termine_scolarite.py +++ b/avisstage/management/commands/termine_scolarite.py @@ -15,4 +15,4 @@ class Command(BaseCommand): def handle(self, *args, **options): old_conn = timezone.now() - timedelta(days=365) Normalien.objects.all().update(last_cas_connect=t) - self.stdout.write(self.style.SUCCESS(u"Terminé")) + self.stdout.write(self.style.SUCCESS("Terminé")) diff --git a/avisstage/models.py b/avisstage/models.py index c0c7838..9502635 100644 --- a/avisstage/models.py +++ b/avisstage/models.py @@ -44,22 +44,22 @@ class Normalien(models.Model): ) # Infos spécifiques - nom = models.CharField(u"Nom complet", max_length=255, blank=True) - promotion = models.CharField(u"Promotion", max_length=40, blank=True) + nom = models.CharField("Nom complet", max_length=255, blank=True) + promotion = models.CharField("Promotion", max_length=40, blank=True) contactez_moi = models.BooleanField( - u"Inviter les visiteurs à me contacter", + "Inviter les visiteurs à me contacter", default=True, help_text="Affiche votre adresse e-mail principale sur votre profil public", ) - bio = models.TextField(u"À propos de moi", blank=True, default="") + bio = models.TextField("À propos de moi", blank=True, default="") last_cas_login = models.DateField(default=_default_cas_login) class Meta: - verbose_name = u"Profil élève" - verbose_name_plural = u"Profils élèves" + verbose_name = "Profil élève" + verbose_name_plural = "Profils élèves" def __str__(self): - return u"%s (%s)" % (self.nom, self.user.username) + return "%s (%s)" % (self.nom, self.user.username) # Liste des stages publiés def stages_publics(self): @@ -135,23 +135,23 @@ post_cas_connect.connect(handle_cas_connection, sender=User) class Lieu(models.Model): # Général - nom = models.CharField(u"Nom de l'institution d'accueil", max_length=250) + nom = models.CharField("Nom de l'institution d'accueil", max_length=250) type_lieu = models.CharField( - u"Type de structure d'accueil", + "Type de structure d'accueil", default="universite", choices=TYPE_LIEU_OPTIONS, max_length=choices_length(TYPE_LIEU_OPTIONS), ) # Infos géographiques - ville = models.CharField(u"Ville", max_length=200) + ville = models.CharField("Ville", max_length=200) pays = models.CharField( - u"Pays", choices=PAYS_OPTIONS, max_length=choices_length(PAYS_OPTIONS) + "Pays", choices=PAYS_OPTIONS, max_length=choices_length(PAYS_OPTIONS) ) # Coordonnées # objects = geomodels.GeoManager() # Requis par GeoDjango - coord = geomodels.PointField(u"Coordonnées", geography=True, srid=4326) + coord = geomodels.PointField("Coordonnées", geography=True, srid=4326) # Type du lieu en plus joli @property @@ -163,7 +163,7 @@ class Lieu(models.Model): return TYPE_LIEU_DICT.get(self.type_lieu, ("lieu", False))[1] def __str__(self): - return u"%s (%s)" % (self.nom, self.ville) + return "%s (%s)" % (self.nom, self.ville) class Meta: verbose_name = "Lieu" @@ -176,7 +176,7 @@ class Lieu(models.Model): class StageMatiere(models.Model): - nom = models.CharField(u"Nom", max_length=30) + nom = models.CharField("Nom", max_length=30) slug = models.SlugField() class Meta: @@ -197,38 +197,38 @@ class Stage(models.Model): auteur = models.ForeignKey( Normalien, related_name="stages", on_delete=models.SET_NULL, null=True ) - public = models.BooleanField(u"Visible publiquement", default=False) - date_creation = models.DateTimeField(u"Créé le", default=timezone.now) - date_maj = models.DateTimeField(u"Mis à jour le", default=timezone.now) - len_avis_stage = models.IntegerField(u"Longueur des avis de stage", default=0) - len_avis_lieux = models.IntegerField(u"Longueur des avis de lieu", default=0) + public = models.BooleanField("Visible publiquement", default=False) + date_creation = models.DateTimeField("Créé le", default=timezone.now) + date_maj = models.DateTimeField("Mis à jour le", default=timezone.now) + len_avis_stage = models.IntegerField("Longueur des avis de stage", default=0) + len_avis_lieux = models.IntegerField("Longueur des avis de lieu", default=0) # Caractéristiques du stage - sujet = models.CharField(u"Sujet", max_length=500) + sujet = models.CharField("Sujet", max_length=500) - date_debut = models.DateField(u"Date de début", null=True) - date_fin = models.DateField(u"Date de fin", null=True) + date_debut = models.DateField("Date de début", null=True) + date_fin = models.DateField("Date de fin", null=True) type_stage = models.CharField( - u"Type", + "Type", default="stage", choices=TYPE_STAGE_OPTIONS, max_length=choices_length(TYPE_STAGE_OPTIONS), ) niveau_scol = models.CharField( - u"Année de scolarité", + "Année de scolarité", default="", choices=NIVEAU_SCOL_OPTIONS, max_length=choices_length(NIVEAU_SCOL_OPTIONS), blank=True, ) - thematiques = TaggableManager(u"Thématiques", blank=True) + thematiques = TaggableManager("Thématiques", blank=True) matieres = models.ManyToManyField( - StageMatiere, verbose_name=u"Matière(s)", related_name="stages" + StageMatiere, verbose_name="Matière(s)", related_name="stages" ) - encadrants = models.CharField(u"Encadrant⋅e⋅s", max_length=500, blank=True) - structure = models.CharField(u"Structure d'accueil", max_length=500, blank=True) + encadrants = models.CharField("Encadrant⋅e⋅s", max_length=500, blank=True) + structure = models.CharField("Structure d'accueil", max_length=500, blank=True) # Avis lieux = models.ManyToManyField( @@ -271,7 +271,7 @@ class Stage(models.Model): return reverse("avisstage:stage", self) def __str__(self): - return u"%s (par %s)" % (self.sujet, self.auteur.user.username) + return "%s (par %s)" % (self.sujet, self.auteur.user.username) def update_stats(self, save=True): def get_len(obj): @@ -307,17 +307,17 @@ class AvisStage(models.Model): Stage, related_name="avis_stage", on_delete=models.CASCADE ) - chapo = models.TextField(u"En quelques mots", blank=True) - avis_ambiance = RichTextField(u"L'ambiance de travail", blank=True) - avis_sujet = RichTextField(u"La mission", blank=True) - avis_admin = RichTextField(u"Formalités et administration", blank=True) - avis_prestage = RichTextField(u"Avant le stage", blank=True, default="") + chapo = models.TextField("En quelques mots", blank=True) + avis_ambiance = RichTextField("L'ambiance de travail", blank=True) + avis_sujet = RichTextField("La mission", blank=True) + avis_admin = RichTextField("Formalités et administration", blank=True) + avis_prestage = RichTextField("Avant le stage", blank=True, default="") - les_plus = models.TextField(u"Les plus de cette expérience", blank=True) - les_moins = models.TextField(u"Les moins de cette expérience", blank=True) + les_plus = models.TextField("Les plus de cette expérience", blank=True) + les_moins = models.TextField("Les moins de cette expérience", blank=True) def __str__(self): - return u"Avis sur {%s} par %s" % ( + return "Avis sur {%s} par %s" % ( self.stage.sujet, self.stage.auteur.user.username, ) @@ -337,20 +337,20 @@ class AvisLieu(models.Model): lieu = models.ForeignKey(Lieu, on_delete=models.CASCADE) order = models.IntegerField("Ordre", default=0) - chapo = models.TextField(u"En quelques mots", blank=True) - avis_lieustage = RichTextField(u"Les lieux de travail", blank=True) - avis_pratique = RichTextField(u"S'installer - conseils pratiques", blank=True) - avis_tourisme = RichTextField(u"Dans les parages", blank=True) + chapo = models.TextField("En quelques mots", blank=True) + avis_lieustage = RichTextField("Les lieux de travail", blank=True) + avis_pratique = RichTextField("S'installer - conseils pratiques", blank=True) + avis_tourisme = RichTextField("Dans les parages", blank=True) - les_plus = models.TextField(u"Les plus du lieu", blank=True) - les_moins = models.TextField(u"Les moins du lieu", blank=True) + les_plus = models.TextField("Les plus du lieu", blank=True) + les_moins = models.TextField("Les moins du lieu", blank=True) class Meta: verbose_name = "Avis sur un lieu de stage" verbose_name_plural = "Avis sur un lieu de stage" def __str__(self): - return u"Avis sur {%s} par %s" % (self.lieu.nom, self.stage.auteur.user_id) + return "Avis sur {%s} par %s" % (self.lieu.nom, self.stage.auteur.user_id) # Liste des champs d'avis, couplés à leur nom (pour l'affichage) @property diff --git a/avisstage/statics.py b/avisstage/statics.py index 6671b5c..ce5a9fd 100644 --- a/avisstage/statics.py +++ b/avisstage/statics.py @@ -1,339 +1,339 @@ # coding: utf-8 DEPARTEMENTS_DEFAUT = ( - ("phy", u"Physique"), - ("maths", u"Maths"), - ("bio", u"Biologie"), - ("chimie", u"Chimie"), - ("geol", u"Géosciences"), - ("dec", u"DEC"), - ("info", u"Informatique"), - ("litt", u"Littéraire"), - ("guests", u"Pensionnaires étrangers"), - ("pei", u"PEI"), + ("phy", "Physique"), + ("maths", "Maths"), + ("bio", "Biologie"), + ("chimie", "Chimie"), + ("geol", "Géosciences"), + ("dec", "DEC"), + ("info", "Informatique"), + ("litt", "Littéraire"), + ("guests", "Pensionnaires étrangers"), + ("pei", "PEI"), ) TYPE_STAGE_OPTIONS = ( ( - u"Recherche :", + "Recherche :", ( - ("recherche", u"Stage académique"), - ("recherche_autre", u"Stage non-académique"), - ("sejour_dri", u"Séjour de recherche DRI"), + ("recherche", "Stage académique"), + ("recherche_autre", "Stage non-académique"), + ("sejour_dri", "Séjour de recherche DRI"), ), ), ( - u"Stage sans visée de recherche :", + "Stage sans visée de recherche :", ( - ("pro", u"Stage en entreprise"), - ("admin", u"Stage en admin./ONG/orga. internationale"), + ("pro", "Stage en entreprise"), + ("admin", "Stage en admin./ONG/orga. internationale"), ), ), ( - u"Enseignement :", + "Enseignement :", ( - ("lectorat", u"Lectorat DRI"), - ("autre_teach", u"Autre expérience d'enseignement"), + ("lectorat", "Lectorat DRI"), + ("autre_teach", "Autre expérience d'enseignement"), ), ), - ("autre", u"Autre"), + ("autre", "Autre"), ) # Dictionnaire des type de stage (et de leur genre, True=féminin) TYPE_STAGE_DICT = { - "recherche": (u"stage de recherche académique", False), - "recherche_autre": (u"stage de recherche non-académique", False), - "sejour_dri": (u"séjour de recherche DRI", False), - "pro": (u"stage en entreprise sans visée de recherche", False), - "admin": (u"stage en administration, ONG ou organisation internationale", False), - "lectorat": (u"lectorat DRI", False), - "autre_teach": (u"expérience de recherche", True), - "autre": (u"expérience", True), + "recherche": ("stage de recherche académique", False), + "recherche_autre": ("stage de recherche non-académique", False), + "sejour_dri": ("séjour de recherche DRI", False), + "pro": ("stage en entreprise sans visée de recherche", False), + "admin": ("stage en administration, ONG ou organisation internationale", False), + "lectorat": ("lectorat DRI", False), + "autre_teach": ("expérience de recherche", True), + "autre": ("expérience", True), } TYPE_LIEU_OPTIONS = ( - ("universite", u"Université"), - ("entreprise", u"Entreprise"), - ("centrerecherche", u"Centre de recherche"), - ("administration", u"Administration"), - ("autre", u"Autre"), + ("universite", "Université"), + ("entreprise", "Entreprise"), + ("centrerecherche", "Centre de recherche"), + ("administration", "Administration"), + ("autre", "Autre"), ) # Place du stage dans le cursus NIVEAU_SCOL_OPTIONS = ( - ("L3", u"Licence 3"), - ("M1", u"Master 1"), - ("M2", u"Master 2"), - ("DOC", u"Pré-doctorat"), - ("CST", u"Césure"), - ("BLA", u"Année blanche"), - ("VAC", u"Vacances scolaires"), - ("MIT", u"Mi-temps en parallèle des études"), - ("", u"Autre"), + ("L3", "Licence 3"), + ("M1", "Master 1"), + ("M2", "Master 2"), + ("DOC", "Pré-doctorat"), + ("CST", "Césure"), + ("BLA", "Année blanche"), + ("VAC", "Vacances scolaires"), + ("MIT", "Mi-temps en parallèle des études"), + ("", "Autre"), ) NIVEAU_SCOL_DICT = { - "L3": u"pendant sa troisième année de Licence", - "M1": u"pendant sa première année de Master", - "M2": u"pendant sa deuxième année de Master", - "DOC": u"pendant son année de pré-doctorat", - "CST": u"pendant une année de césure", - "BLA": u"pendant une année blanche", - "VAC": u"pendant des vacances scolaires", - "MIT": u"à mi-temps en parallèle des études", + "L3": "pendant sa troisième année de Licence", + "M1": "pendant sa première année de Master", + "M2": "pendant sa deuxième année de Master", + "DOC": "pendant son année de pré-doctorat", + "CST": "pendant une année de césure", + "BLA": "pendant une année blanche", + "VAC": "pendant des vacances scolaires", + "MIT": "à mi-temps en parallèle des études", } # Dictionnaire des noms de lieux (et de leur genre, True=féminin) TYPE_LIEU_DICT = { - "universite": (u"université", True), - "entreprise": (u"entreprise", True), - "centrerecherche": (u"centre de recherche", False), - "administration": (u"administration", True), - "autre": (u"lieu", False), + "universite": ("université", True), + "entreprise": ("entreprise", True), + "centrerecherche": ("centre de recherche", False), + "administration": ("administration", True), + "autre": ("lieu", False), } PAYS_OPTIONS = ( - ("AF", u"Afghanistan"), - ("AL", u"Albanie"), - ("AQ", u"Antarctique"), - ("DZ", u"Algérie"), - ("AS", u"Samoa Américaines"), - ("AD", u"Andorre"), - ("AO", u"Angola"), - ("AG", u"Antigua-et-Barbuda"), - ("AZ", u"Azerbaïdjan"), - ("AR", u"Argentine"), - ("AU", u"Australie"), - ("AT", u"Autriche"), - ("BS", u"Bahamas"), - ("BH", u"Bahreïn"), - ("BD", u"Bangladesh"), - ("AM", u"Arménie"), - ("BB", u"Barbade"), - ("BE", u"Belgique"), - ("BM", u"Bermudes"), - ("BT", u"Bhoutan"), - ("BO", u"Bolivie"), - ("BA", u"Bosnie-Herzégovine"), - ("BW", u"Botswana"), - ("BV", u"Île Bouvet"), - ("BR", u"Brésil"), - ("BZ", u"Belize"), - ("IO", u"Territoire Britannique de l'Océan Indien"), - ("SB", u"Îles Salomon"), - ("VG", u"Îles Vierges Britanniques"), - ("BN", u"Brunéi Darussalam"), - ("BG", u"Bulgarie"), - ("MM", u"Myanmar"), - ("BI", u"Burundi"), - ("BY", u"Bélarus"), - ("KH", u"Cambodge"), - ("CM", u"Cameroun"), - ("CA", u"Canada"), - ("CV", u"Cap-vert"), - ("KY", u"Îles Caïmanes"), - ("CF", u"République Centrafricaine"), - ("LK", u"Sri Lanka"), - ("TD", u"Tchad"), - ("CL", u"Chili"), - ("CN", u"Chine"), - ("TW", u"Taïwan"), - ("CX", u"Île Christmas"), - ("CC", u"Îles Cocos (Keeling)"), - ("CO", u"Colombie"), - ("KM", u"Comores"), - ("YT", u"Mayotte"), - ("CG", u"République du Congo"), - ("CD", u"République Démocratique du Congo"), - ("CK", u"Îles Cook"), - ("CR", u"Costa Rica"), - ("HR", u"Croatie"), - ("CU", u"Cuba"), - ("CY", u"Chypre"), - ("CZ", u"République Tchèque"), - ("BJ", u"Bénin"), - ("DK", u"Danemark"), - ("DM", u"Dominique"), - ("DO", u"République Dominicaine"), - ("EC", u"Équateur"), - ("SV", u"El Salvador"), - ("GQ", u"Guinée Équatoriale"), - ("ET", u"Éthiopie"), - ("ER", u"Érythrée"), - ("EE", u"Estonie"), - ("FO", u"Îles Féroé"), - ("FK", u"Îles (malvinas) Falkland"), - ("GS", u"Géorgie du Sud et les Îles Sandwich du Sud"), - ("FJ", u"Fidji"), - ("FI", u"Finlande"), - ("AX", u"Îles Åland"), - ("FR", u"France"), - ("GF", u"Guyane Française"), - ("PF", u"Polynésie Française"), - ("TF", u"Terres Australes Françaises"), - ("DJ", u"Djibouti"), - ("GA", u"Gabon"), - ("GE", u"Géorgie"), - ("GM", u"Gambie"), - ("PS", u"Territoire Palestinien Occupé"), - ("DE", u"Allemagne"), - ("GH", u"Ghana"), - ("GI", u"Gibraltar"), - ("KI", u"Kiribati"), - ("GR", u"Grèce"), - ("GL", u"Groenland"), - ("GD", u"Grenade"), - ("GP", u"Guadeloupe"), - ("GU", u"Guam"), - ("GT", u"Guatemala"), - ("GN", u"Guinée"), - ("GY", u"Guyana"), - ("HT", u"Haïti"), - ("HM", u"Îles Heard et Mcdonald"), - ("VA", u"Saint-Siège (état de la Cité du Vatican)"), - ("HN", u"Honduras"), - ("HK", u"Hong-Kong"), - ("HU", u"Hongrie"), - ("IS", u"Islande"), - ("IN", u"Inde"), - ("ID", u"Indonésie"), - ("IR", u"République Islamique d'Iran"), - ("IQ", u"Iraq"), - ("IE", u"Irlande"), - ("IL", u"Israël"), - ("IT", u"Italie"), - ("CI", u"Côte d'Ivoire"), - ("JM", u"Jamaïque"), - ("JP", u"Japon"), - ("KZ", u"Kazakhstan"), - ("JO", u"Jordanie"), - ("KE", u"Kenya"), - ("KP", u"République Populaire Démocratique de Corée"), - ("KR", u"République de Corée"), - ("KW", u"Koweït"), - ("KG", u"Kirghizistan"), - ("LA", u"République Démocratique Populaire Lao"), - ("LB", u"Liban"), - ("LS", u"Lesotho"), - ("LV", u"Lettonie"), - ("LR", u"Libéria"), - ("LY", u"Jamahiriya Arabe Libyenne"), - ("LI", u"Liechtenstein"), - ("LT", u"Lituanie"), - ("LU", u"Luxembourg"), - ("MO", u"Macao"), - ("MG", u"Madagascar"), - ("MW", u"Malawi"), - ("MY", u"Malaisie"), - ("MV", u"Maldives"), - ("ML", u"Mali"), - ("MT", u"Malte"), - ("MQ", u"Martinique"), - ("MR", u"Mauritanie"), - ("MU", u"Maurice"), - ("MX", u"Mexique"), - ("MC", u"Monaco"), - ("MN", u"Mongolie"), - ("MD", u"République de Moldova"), - ("MS", u"Montserrat"), - ("MA", u"Maroc"), - ("MZ", u"Mozambique"), - ("OM", u"Oman"), - ("NA", u"Namibie"), - ("NR", u"Nauru"), - ("NP", u"Népal"), - ("NL", u"Pays-Bas"), - ("AN", u"Antilles Néerlandaises"), - ("AW", u"Aruba"), - ("NC", u"Nouvelle-Calédonie"), - ("VU", u"Vanuatu"), - ("NZ", u"Nouvelle-Zélande"), - ("NI", u"Nicaragua"), - ("NE", u"Niger"), - ("NG", u"Nigéria"), - ("NU", u"Niué"), - ("NF", u"Île Norfolk"), - ("NO", u"Norvège"), - ("MP", u"Îles Mariannes du Nord"), - ("UM", u"Îles Mineures Éloignées des États-Unis"), - ("FM", u"États Fédérés de Micronésie"), - ("MH", u"Îles Marshall"), - ("PW", u"Palaos"), - ("PK", u"Pakistan"), - ("PA", u"Panama"), - ("PG", u"Papouasie-Nouvelle-Guinée"), - ("PY", u"Paraguay"), - ("PE", u"Pérou"), - ("PH", u"Philippines"), - ("PN", u"Pitcairn"), - ("PL", u"Pologne"), - ("PT", u"Portugal"), - ("GW", u"Guinée-Bissau"), - ("TL", u"Timor-Leste"), - ("PR", u"Porto Rico"), - ("QA", u"Qatar"), - ("RE", u"Réunion"), - ("RO", u"Roumanie"), - ("RU", u"Fédération de Russie"), - ("RW", u"Rwanda"), - ("SH", u"Sainte-Hélène"), - ("KN", u"Saint-Kitts-et-Nevis"), - ("AI", u"Anguilla"), - ("LC", u"Sainte-Lucie"), - ("PM", u"Saint-Pierre-et-Miquelon"), - ("VC", u"Saint-Vincent-et-les Grenadines"), - ("SM", u"Saint-Marin"), - ("ST", u"Sao Tomé-et-Principe"), - ("SA", u"Arabie Saoudite"), - ("SN", u"Sénégal"), - ("SC", u"Seychelles"), - ("SL", u"Sierra Leone"), - ("SG", u"Singapour"), - ("SK", u"Slovaquie"), - ("VN", u"Viet Nam"), - ("SI", u"Slovénie"), - ("SO", u"Somalie"), - ("ZA", u"Afrique du Sud"), - ("ZW", u"Zimbabwe"), - ("ES", u"Espagne"), - ("EH", u"Sahara Occidental"), - ("SD", u"Soudan"), - ("SR", u"Suriname"), - ("SJ", u"Svalbard etÎle Jan Mayen"), - ("SZ", u"Swaziland"), - ("SE", u"Suède"), - ("CH", u"Suisse"), - ("SY", u"République Arabe Syrienne"), - ("TJ", u"Tadjikistan"), - ("TH", u"Thaïlande"), - ("TG", u"Togo"), - ("TK", u"Tokelau"), - ("TO", u"Tonga"), - ("TT", u"Trinité-et-Tobago"), - ("AE", u"Émirats Arabes Unis"), - ("TN", u"Tunisie"), - ("TR", u"Turquie"), - ("TM", u"Turkménistan"), - ("TC", u"Îles Turks et Caïques"), - ("TV", u"Tuvalu"), - ("UG", u"Ouganda"), - ("UA", u"Ukraine"), - ("MK", u"L'ex-République Yougoslave de Macédoine"), - ("EG", u"Égypte"), - ("GB", u"Royaume-Uni"), - ("IM", u"Île de Man"), - ("TZ", u"République-Unie de Tanzanie"), - ("US", u"États-Unis"), - ("VI", u"Îles Vierges des États-Unis"), - ("BF", u"Burkina Faso"), - ("UY", u"Uruguay"), - ("UZ", u"Ouzbékistan"), - ("VE", u"Venezuela"), - ("WF", u"Wallis et Futuna"), - ("WS", u"Samoa"), - ("YE", u"Yémen"), - ("CS", u"Serbie-et-Monténégro"), - ("ZM", u"Zambie"), + ("AF", "Afghanistan"), + ("AL", "Albanie"), + ("AQ", "Antarctique"), + ("DZ", "Algérie"), + ("AS", "Samoa Américaines"), + ("AD", "Andorre"), + ("AO", "Angola"), + ("AG", "Antigua-et-Barbuda"), + ("AZ", "Azerbaïdjan"), + ("AR", "Argentine"), + ("AU", "Australie"), + ("AT", "Autriche"), + ("BS", "Bahamas"), + ("BH", "Bahreïn"), + ("BD", "Bangladesh"), + ("AM", "Arménie"), + ("BB", "Barbade"), + ("BE", "Belgique"), + ("BM", "Bermudes"), + ("BT", "Bhoutan"), + ("BO", "Bolivie"), + ("BA", "Bosnie-Herzégovine"), + ("BW", "Botswana"), + ("BV", "Île Bouvet"), + ("BR", "Brésil"), + ("BZ", "Belize"), + ("IO", "Territoire Britannique de l'Océan Indien"), + ("SB", "Îles Salomon"), + ("VG", "Îles Vierges Britanniques"), + ("BN", "Brunéi Darussalam"), + ("BG", "Bulgarie"), + ("MM", "Myanmar"), + ("BI", "Burundi"), + ("BY", "Bélarus"), + ("KH", "Cambodge"), + ("CM", "Cameroun"), + ("CA", "Canada"), + ("CV", "Cap-vert"), + ("KY", "Îles Caïmanes"), + ("CF", "République Centrafricaine"), + ("LK", "Sri Lanka"), + ("TD", "Tchad"), + ("CL", "Chili"), + ("CN", "Chine"), + ("TW", "Taïwan"), + ("CX", "Île Christmas"), + ("CC", "Îles Cocos (Keeling)"), + ("CO", "Colombie"), + ("KM", "Comores"), + ("YT", "Mayotte"), + ("CG", "République du Congo"), + ("CD", "République Démocratique du Congo"), + ("CK", "Îles Cook"), + ("CR", "Costa Rica"), + ("HR", "Croatie"), + ("CU", "Cuba"), + ("CY", "Chypre"), + ("CZ", "République Tchèque"), + ("BJ", "Bénin"), + ("DK", "Danemark"), + ("DM", "Dominique"), + ("DO", "République Dominicaine"), + ("EC", "Équateur"), + ("SV", "El Salvador"), + ("GQ", "Guinée Équatoriale"), + ("ET", "Éthiopie"), + ("ER", "Érythrée"), + ("EE", "Estonie"), + ("FO", "Îles Féroé"), + ("FK", "Îles (malvinas) Falkland"), + ("GS", "Géorgie du Sud et les Îles Sandwich du Sud"), + ("FJ", "Fidji"), + ("FI", "Finlande"), + ("AX", "Îles Åland"), + ("FR", "France"), + ("GF", "Guyane Française"), + ("PF", "Polynésie Française"), + ("TF", "Terres Australes Françaises"), + ("DJ", "Djibouti"), + ("GA", "Gabon"), + ("GE", "Géorgie"), + ("GM", "Gambie"), + ("PS", "Territoire Palestinien Occupé"), + ("DE", "Allemagne"), + ("GH", "Ghana"), + ("GI", "Gibraltar"), + ("KI", "Kiribati"), + ("GR", "Grèce"), + ("GL", "Groenland"), + ("GD", "Grenade"), + ("GP", "Guadeloupe"), + ("GU", "Guam"), + ("GT", "Guatemala"), + ("GN", "Guinée"), + ("GY", "Guyana"), + ("HT", "Haïti"), + ("HM", "Îles Heard et Mcdonald"), + ("VA", "Saint-Siège (état de la Cité du Vatican)"), + ("HN", "Honduras"), + ("HK", "Hong-Kong"), + ("HU", "Hongrie"), + ("IS", "Islande"), + ("IN", "Inde"), + ("ID", "Indonésie"), + ("IR", "République Islamique d'Iran"), + ("IQ", "Iraq"), + ("IE", "Irlande"), + ("IL", "Israël"), + ("IT", "Italie"), + ("CI", "Côte d'Ivoire"), + ("JM", "Jamaïque"), + ("JP", "Japon"), + ("KZ", "Kazakhstan"), + ("JO", "Jordanie"), + ("KE", "Kenya"), + ("KP", "République Populaire Démocratique de Corée"), + ("KR", "République de Corée"), + ("KW", "Koweït"), + ("KG", "Kirghizistan"), + ("LA", "République Démocratique Populaire Lao"), + ("LB", "Liban"), + ("LS", "Lesotho"), + ("LV", "Lettonie"), + ("LR", "Libéria"), + ("LY", "Jamahiriya Arabe Libyenne"), + ("LI", "Liechtenstein"), + ("LT", "Lituanie"), + ("LU", "Luxembourg"), + ("MO", "Macao"), + ("MG", "Madagascar"), + ("MW", "Malawi"), + ("MY", "Malaisie"), + ("MV", "Maldives"), + ("ML", "Mali"), + ("MT", "Malte"), + ("MQ", "Martinique"), + ("MR", "Mauritanie"), + ("MU", "Maurice"), + ("MX", "Mexique"), + ("MC", "Monaco"), + ("MN", "Mongolie"), + ("MD", "République de Moldova"), + ("MS", "Montserrat"), + ("MA", "Maroc"), + ("MZ", "Mozambique"), + ("OM", "Oman"), + ("NA", "Namibie"), + ("NR", "Nauru"), + ("NP", "Népal"), + ("NL", "Pays-Bas"), + ("AN", "Antilles Néerlandaises"), + ("AW", "Aruba"), + ("NC", "Nouvelle-Calédonie"), + ("VU", "Vanuatu"), + ("NZ", "Nouvelle-Zélande"), + ("NI", "Nicaragua"), + ("NE", "Niger"), + ("NG", "Nigéria"), + ("NU", "Niué"), + ("NF", "Île Norfolk"), + ("NO", "Norvège"), + ("MP", "Îles Mariannes du Nord"), + ("UM", "Îles Mineures Éloignées des États-Unis"), + ("FM", "États Fédérés de Micronésie"), + ("MH", "Îles Marshall"), + ("PW", "Palaos"), + ("PK", "Pakistan"), + ("PA", "Panama"), + ("PG", "Papouasie-Nouvelle-Guinée"), + ("PY", "Paraguay"), + ("PE", "Pérou"), + ("PH", "Philippines"), + ("PN", "Pitcairn"), + ("PL", "Pologne"), + ("PT", "Portugal"), + ("GW", "Guinée-Bissau"), + ("TL", "Timor-Leste"), + ("PR", "Porto Rico"), + ("QA", "Qatar"), + ("RE", "Réunion"), + ("RO", "Roumanie"), + ("RU", "Fédération de Russie"), + ("RW", "Rwanda"), + ("SH", "Sainte-Hélène"), + ("KN", "Saint-Kitts-et-Nevis"), + ("AI", "Anguilla"), + ("LC", "Sainte-Lucie"), + ("PM", "Saint-Pierre-et-Miquelon"), + ("VC", "Saint-Vincent-et-les Grenadines"), + ("SM", "Saint-Marin"), + ("ST", "Sao Tomé-et-Principe"), + ("SA", "Arabie Saoudite"), + ("SN", "Sénégal"), + ("SC", "Seychelles"), + ("SL", "Sierra Leone"), + ("SG", "Singapour"), + ("SK", "Slovaquie"), + ("VN", "Viet Nam"), + ("SI", "Slovénie"), + ("SO", "Somalie"), + ("ZA", "Afrique du Sud"), + ("ZW", "Zimbabwe"), + ("ES", "Espagne"), + ("EH", "Sahara Occidental"), + ("SD", "Soudan"), + ("SR", "Suriname"), + ("SJ", "Svalbard etÎle Jan Mayen"), + ("SZ", "Swaziland"), + ("SE", "Suède"), + ("CH", "Suisse"), + ("SY", "République Arabe Syrienne"), + ("TJ", "Tadjikistan"), + ("TH", "Thaïlande"), + ("TG", "Togo"), + ("TK", "Tokelau"), + ("TO", "Tonga"), + ("TT", "Trinité-et-Tobago"), + ("AE", "Émirats Arabes Unis"), + ("TN", "Tunisie"), + ("TR", "Turquie"), + ("TM", "Turkménistan"), + ("TC", "Îles Turks et Caïques"), + ("TV", "Tuvalu"), + ("UG", "Ouganda"), + ("UA", "Ukraine"), + ("MK", "L'ex-République Yougoslave de Macédoine"), + ("EG", "Égypte"), + ("GB", "Royaume-Uni"), + ("IM", "Île de Man"), + ("TZ", "République-Unie de Tanzanie"), + ("US", "États-Unis"), + ("VI", "Îles Vierges des États-Unis"), + ("BF", "Burkina Faso"), + ("UY", "Uruguay"), + ("UZ", "Ouzbékistan"), + ("VE", "Venezuela"), + ("WF", "Wallis et Futuna"), + ("WS", "Samoa"), + ("YE", "Yémen"), + ("CS", "Serbie-et-Monténégro"), + ("ZM", "Zambie"), ) diff --git a/avisstage/templatetags/avisstage_tags.py b/avisstage/templatetags/avisstage_tags.py index eb31cc5..3b966f2 100644 --- a/avisstage/templatetags/avisstage_tags.py +++ b/avisstage/templatetags/avisstage_tags.py @@ -22,9 +22,9 @@ def feedback_widget(): @register.filter def typonazisme(value): - value = re.sub(r"(\w)\s*([?!:])", u"\\1 \\2", value) - value = re.sub(r"(\w)\s*([,.])", u"\\1\\2", value) - value = re.sub(r"([?!:,.])(\w)", u"\\1 \\2", value) + value = re.sub(r"(\w)\s*([?!:])", "\\1 \\2", value) + value = re.sub(r"(\w)\s*([,.])", "\\1\\2", value) + value = re.sub(r"([?!:,.])(\w)", "\\1 \\2", value) return value diff --git a/avisstage/views_search.py b/avisstage/views_search.py index f88b411..94cbcdf 100644 --- a/avisstage/views_search.py +++ b/avisstage/views_search.py @@ -27,33 +27,33 @@ logger = logging.getLogger("recherche") # Recherche class SearchForm(forms.Form): generique = forms.CharField(required=False) - sujet = forms.CharField(label=u"À propos de", required=False) + sujet = forms.CharField(label="À propos de", required=False) contexte = forms.CharField( - label=u"Contexte (lieu, encadrant⋅e⋅s, structure)", required=False + label="Contexte (lieu, encadrant⋅e⋅s, structure)", required=False ) - apres_annee = forms.IntegerField(label=u"Après cette année", required=False) - avant_annee = forms.IntegerField(label=u"Avant cette année", required=False) + apres_annee = forms.IntegerField(label="Après cette année", required=False) + avant_annee = forms.IntegerField(label="Avant cette année", required=False) type_stage = forms.ChoiceField( label="Type de stage", - choices=([("", u"")] + list(TYPE_STAGE_OPTIONS)), + choices=([("", "")] + list(TYPE_STAGE_OPTIONS)), required=False, ) niveau_scol = forms.ChoiceField( label="Année d'étude", - choices=([("", u"")] + list(NIVEAU_SCOL_OPTIONS)), + choices=([("", "")] + list(NIVEAU_SCOL_OPTIONS)), required=False, ) type_lieu = forms.ChoiceField( - label=u"Type de lieu d'accueil", - choices=([("", u"")] + list(TYPE_LIEU_OPTIONS)), + label="Type de lieu d'accueil", + choices=([("", "")] + list(TYPE_LIEU_OPTIONS)), required=False, ) tri = forms.ChoiceField( - label=u"Tri par", - choices=[("pertinence", u"Pertinence"), ("-date_maj", u"Dernière mise à jour")], + label="Tri par", + choices=[("pertinence", "Pertinence"), ("-date_maj", "Dernière mise à jour")], required=False, initial="pertinence", ) diff --git a/avisstage/widgets.py b/avisstage/widgets.py index e3487d6..3b332e9 100644 --- a/avisstage/widgets.py +++ b/avisstage/widgets.py @@ -23,8 +23,8 @@ class LatLonField(forms.MultiValueField): srid = 4326 default_error_messages = { - "invalid_latitude": (u"Entrez une latitude valide."), - "invalid_longitude": (u"Entrez une longitude valide."), + "invalid_latitude": ("Entrez une latitude valide."), + "invalid_longitude": ("Entrez une longitude valide."), } def __init__(self, *args, **kwargs):