Repository: zestedesavoir/zds-site

Issue:
Retirer la taille fixe sur les légendes
Aujourd'hui, quand on soumet une image dans une galerie, les légendes ont une taille fixe. Par contre, à l'usage, nous pouvons avoir des légendes sans aucune limite. Chose qui me semble bien plus logique.

Il faudrait donc uniformiser ce comportement en faisant sauter cette limite.



Discussion:
Quand on parle de taille, il s'agit de celle de la police en point ou de la longueur de la chaîne de caractères ?
> longueur de la chaîne de caractères
J'imagine que ça se joue au niveau du champ de texte mais est-ce qu'il y au ne taille prédéfinie dans la base de données ?
https://github.com/zestedesavoir/zds-site/blob/1ec7094118f7c3f0149e1063f0572260373e7f36/zds/gallery/models.py#L110
J'avais vu ça du côté formulaire mais au niveau de la table, il n'y aura aucun soucis ?
bah comme tu vois côté bdd on a mis une max_length de 80
Django s'occupe de la partie DB pour nous grâce à son ORM
Je ne comprends pas ce qui est demandé pour le coup. Le champ de texte est limité à 80 caractères (ce qui correspond à la base de données).
Ce n'est plus d'actualité il me semble
Si c'est le cas, ça fait un ticket de moins et sans rien faire. Naviguons vers 200 !
~~J'ai dis une grosse bêtise, je parlais d'autres choses.~~

Il faudrait remplacer `max_length=80` par `max_length=300`. ;)
En quoi 300 est une légende sans limite ? Ce n'est même pas la limite d'un type de chaîne de caractères.
> En quoi 300 est une légende sans limite ? Ce n'est même pas la limite d'un type de chaîne de caractères.

Il ne faut pas confondre légende et zone de texte, peut-être que 80 c'est court, mais la taille d'un tweet doit être largement suffisant.
On peut aussi mettre un textfield complet sans max length. Ce n'est pas vraiment gênant si la légende est sans limite puis qu'on ne fait pas de recherche sur la légende. Le ticket dit "plus aucune limite" donc autant ne mettre aucune limite @A-312 

donc pour résoudre le ticket

- changer le type de field
- créer une migration grâce à `python manage.py makemigrations`
- faire tourner la commande `python manage.py migrate`
- faire un git add sur le fichier de migration qui a été créé
- s'assurer que la page des galeries n'est pas cassée à cause du nouveau type de field.

Resolving patch:
diff --git a/zds/gallery/forms.py b/zds/gallery/forms.py
--- a/zds/gallery/forms.py
+++ b/zds/gallery/forms.py
@@ -122,7 +122,9 @@ class ImageForm(forms.ModelForm):
 
     class Meta:
         model = Image
-
+        widgets = {
+            'legend': forms.TextInput(),
+        }
         fields = ['title', 'legend']
 
     physical = forms.ImageField(
diff --git a/zds/gallery/migrations/0007_auto_20191122_1154.py b/zds/gallery/migrations/0007_auto_20191122_1154.py
new file mode 100644
--- /dev/null
+++ b/zds/gallery/migrations/0007_auto_20191122_1154.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.1.11 on 2019-11-22 11:54
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('gallery', '0006_usergallery_is_default'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='image',
+            name='legend',
+            field=models.TextField(blank=True, null=True, verbose_name='Légende'),
+        ),
+    ]
diff --git a/zds/gallery/models.py b/zds/gallery/models.py
--- a/zds/gallery/models.py
+++ b/zds/gallery/models.py
@@ -107,7 +107,7 @@ class Meta:
     title = models.CharField(_('Titre'), max_length=80)
     slug = models.SlugField(max_length=80)
     physical = ThumbnailerImageField(upload_to=image_path, max_length=200)
-    legend = models.CharField(_('Légende'), max_length=80, null=True, blank=True)
+    legend = models.TextField(_('Légende'), null=True, blank=True)
     pubdate = models.DateTimeField(_('Date de création'), auto_now_add=True, db_index=True)
     update = models.DateTimeField(_('Date de modification'), null=True, blank=True)
 


Test patch: