diff --git a/README.md b/README.md index cae26e8..d2fa064 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,12 @@ puis, **pour les mac M1** exécuter les commandes : sudo ln -s /opt/homebrew/opt/pango/lib/libpangoft2-1.0.dylib /usr/local/lib/pangoft2-1.0 ``` +### Tests + + + + + ### Pylint Dans le répertoire racine, tapez la commande suivante : diff --git a/jarvis/people/admin.py b/jarvis/people/admin.py index 9b58403..5c8181f 100644 --- a/jarvis/people/admin.py +++ b/jarvis/people/admin.py @@ -11,7 +11,7 @@ class GymnastAdmin(admin.ModelAdmin): def first_name(self, obj): return obj.user.first_name - @admin.display(ordering='user__email', description='Email') + @admin.display(ordering="user__email", description="Email") def email(self, obj): if obj.user: return obj.user.email @@ -23,7 +23,9 @@ class GymnastAdmin(admin.ModelAdmin): fields = ( "last_name", + "cleaned_last_name", "first_name", + "cleaned_first_name", "user", "birthdate", "gender", @@ -35,6 +37,8 @@ class GymnastAdmin(admin.ModelAdmin): "informations", ) + readonly_fields = ["cleaned_last_name", "cleaned_first_name"] + list_display = ("last_name", "first_name", "age", "email", "is_active") list_filter = ("gender", "user__is_active") search_fields = ("last_name", "first_name") diff --git a/jarvis/people/models.py b/jarvis/people/models.py index 5f8fe53..d151089 100644 --- a/jarvis/people/models.py +++ b/jarvis/people/models.py @@ -14,6 +14,7 @@ from jarvis.objective.tools import ( compute_completude, compute_statistics_by_type, ) +from jarvis.tools.clean_name import clean_name User = get_user_model() @@ -35,9 +36,9 @@ class Gymnast(Markdownizable): User, on_delete=models.SET_NULL, related_name="gymnast", blank=True, null=True ) last_name = models.CharField(max_length=40, null=False, blank=False) - # cleaned_last_name = models.CharField(max_length=40, null=False, blank=False) + cleaned_last_name = models.CharField(max_length=40, null=False, blank=False) first_name = models.CharField(max_length=25, null=False, blank=False) - # cleaned_first_name = models.CharField(max_length=25, null=False, blank=False) + cleaned_first_name = models.CharField(max_length=25, null=False, blank=False) birthdate = models.DateField(verbose_name="Birth date") gender = models.PositiveSmallIntegerField( choices=GENDER_CHOICES, verbose_name="Sexe" @@ -55,6 +56,12 @@ class Gymnast(Markdownizable): ) created_at = models.DateTimeField(auto_now_add=True) + def save(self, *args, **kwargs): + """Sauve les informations de la personne et initialise les champs nettoyés.""" + self.cleaned_last_name = clean_name(self.last_name) + self.cleaned_first_name = clean_name(self.first_name) + super().save(*args, **kwargs) + def __str__(self): return f"{self.first_name} {self.last_name}"