On enlève les u devant les strings

This commit is contained in:
Tom Hubrecht 2021-02-07 23:50:15 +01:00
parent 5bc518eba6
commit b53170feae
10 changed files with 390 additions and 390 deletions

View file

@ -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"})}

View file

@ -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é"))

View file

@ -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é"))

View file

@ -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é"))

View file

@ -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é"))

View file

@ -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

View file

@ -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"),
)

View file

@ -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

View file

@ -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",
)

View file

@ -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):