Repository: zestedesavoir/zds-site

Issue:
Allonger le nombre de caractères limites dans la signature des forums
Salut !

Petite suggestion : allonger le nombre de caractères max pour rédiger sa signature.

En effet quand on veut mettre un lien ou deux, ça prend vite de la place...

Iz it possibeul ?

Merci d'avance, et pour votre boulot sur le site ;)



Discussion:
Il y a eu un débat [sur le site](http://zestedesavoir.com/forums/sujet/273/les-petits-pixels/?&page=21#p17299) à ce propos très récemment, si tu ne l'aurais pas vu, il a un peu dériver, mais bon. 

Sinon, pour te répondre, il faudrait voir avec Alex, je pense. Donc ping @Alex-D.  ^^

Oké merci ;)

J'en profite pour en parler là, vu que ça traite des signatures. Quand nous avons une signature _longue_ et qu'on est auteur du sujet, et que donc que nous avons : « _cette réponse m'a aidé_ », cette dernière phrase, vient s'apposer sur le dessus de la signature et empêche de ce fait de voir le reste.

![capture du 2014-08-30 18 29 16](https://cloud.githubusercontent.com/assets/4312887/4099555/eda8bcf2-3062-11e4-92b9-f821faeb2112.png)

C'est voulu. Le site est fluide, c'est impossible de garantir que la signature sera complètement affichée correctement sur tous les supports.

Du coup, je considère ce ticket comme résolu, car tout ce que vous me dites est voulu, pensé et réfléchi (bien que discutable, mais il faut bien faire des choix à un moment).

Pour moi le problème n'est pas résolu : le sujet d'origine, c'est la longueur du champ technique qui empêche de mettre plusieurs liens si le href des liens est trop long.

La taille d'affichage dont parle @Florianboux  est à moitié un HS - mais je suis d'accord, ce point est résolu.

Exact, j'avais mal interprêté en relisant, je n'avais pas le bon point de vue.

Du coup, c'est un soucis purement back et une solution qui avait été énoncée est de :
- mettre une longueur de champ assez longue, à la fois à l'input et au champ en BDD
- parser la chaîne de MD à HTML, puis faire un striptags et tester si cette longueur est inférieure à celle que l'on souhaite

Pour information, pour résoudre cette issue, il faudrait
- faire sauter la limite des 250 caractères en modifiant [cette ligne](https://github.com/zestedesavoir/zds-site/blob/dev/zds/member/models.py#L56) par ça : 

``` python
sign = models.TextField('Signature', max_length=1000, blank=True)
```
- lancer la génération des fichiers de migrations (en ligne de commande) : 

``` bash
python manage.py schemamigration member --auto
```

Et ça devrait faire une jolie PR !

C'est pas suffisant, il faudra tout de meme limite en longueur la signature "rendu en MD" si on veut pas que des petits malins mettent des signatures qui font des kilometres mais que l'on affiche pas.

> si on veut pas que des petits malins mettent des signatures qui font des kilometres mais que l'on affiche pas.

s'il a un écrans quifait des kilomètres à l'instar de sa signature, ça sera affiché :) 

On ne peut pas juger de la limite au poil près (ça dépend du support), donc si le mec met un message super long, tout dépend de son écran.

Et le mec qui te met l'integrale des miserables dans sa signature ?

> Et le mec qui te met l'integrale des miserables dans sa signature ?

En effet :). J'édite mon message donc.


Resolving patch:
diff --git a/zds/member/migrations/0003_auto_20151019_2333.py b/zds/member/migrations/0003_auto_20151019_2333.py
new file mode 100644
--- /dev/null
+++ b/zds/member/migrations/0003_auto_20151019_2333.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('member', '0002_auto_20150601_1144'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='profile',
+            name='sign',
+            field=models.TextField(max_length=500, verbose_name=b'Signature', blank=True),
+            preserve_default=True,
+        ),
+    ]
diff --git a/zds/member/models.py b/zds/member/models.py
--- a/zds/member/models.py
+++ b/zds/member/models.py
@@ -59,7 +59,7 @@ class Meta:
 
     karma = models.IntegerField('Karma', default=0)
 
-    sign = models.TextField('Signature', max_length=250, blank=True)
+    sign = models.TextField('Signature', max_length=500, blank=True)
 
     show_sign = models.BooleanField('Voir les signatures', default=True)
 


Test patch:
diff --git a/zds/member/tests/tests_forms.py b/zds/member/tests/tests_forms.py
--- a/zds/member/tests/tests_forms.py
+++ b/zds/member/tests/tests_forms.py
@@ -13,6 +13,7 @@
                    u'abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy' \
                    u'abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy' \
                    u'abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy0'
+stringof501chars = ['1' for n in range(501)]
 stringof2001chars = 'http://url.com/'
 for i in range(198):
     stringof2001chars += "0123456789"
@@ -240,7 +241,7 @@ def test_too_long_signature_miniprofile_form(self):
             'biography': '',
             'site': '',
             'avatar_url': '',
-            'sign': stringof251chars
+            'sign': stringof501chars
         }
         form = MiniProfileForm(data=data)
         self.assertFalse(form.is_valid())