Bug #16279
Changement de comportement de get_field_view_value quand trop de champs
0%
Description
Pour un tableau dans le backoffice, on fait :
field_value = filled.get_field_view_value(f, max_length=min(120/len(fields), 30))
Et l'idée derrière doit être de caler un max de colonnes à l'écran, tout en leur donnant des largeurs plutôt similaires (ça date de 2005 pour la forme précise de cette formule…). Mais quand il y a plus de 120 champs ça fait que min(0, 30), ça fait 0, et ça arrive sur :
if max_length: # if max_length is set the target is a backoffice listing/table, # return an html value, appropriately shortened.
Mais ne prend du coup pas cette branche; ce qui donne alors une valeur qui n'est pas assurée d'être une chaine.
On pourra dire qu'avoir ce mélange de comportement dans get_field_view_value n'était pas une bonne idée.
Fix immédiat, taper "if max_length is not None". Ça passe mais le résultat ne sera pas celui attendu, parce qu'ellipsize() avec une chaine < 5 caractères, coupe mal la chaine (le code fait [:max_length-5]).
Plus généralement, je reviendrais bien sur ce comportement pour toujours faire max_length=30 et hop.
Fichiers
Révisions associées
backoffice: use fixed limit to ellipsize columns (#16279)
Historique
Mis à jour par Frédéric Péters il y a presque 7 ans
- Fichier 0002-backoffice-use-fixed-limit-to-ellipsize-columns-1627.patch 0002-backoffice-use-fixed-limit-to-ellipsize-columns-1627.patch ajouté
- Fichier 0001-misc-keep-get_field_view_value-behaviour-when-max_le.patch 0001-misc-keep-get_field_view_value-behaviour-when-max_le.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a presque 7 ans
- Statut changé de En cours à Résolu (à déployer)
commit 9e8873a6556c3944b8ef67c8d4e9af502dfb3e19 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Thu May 11 16:14:04 2017 +0200 backoffice: use fixed limit to ellipsize columns (#16279) commit 8232919d1774ef92b42108f425d7a634c7eb524a Author: Frédéric Péters <fpeters@entrouvert.com> Date: Thu May 11 16:13:09 2017 +0200 misc: keep get_field_view_value behaviour when max_length is 0 (#16279)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: keep get_field_view_value behaviour when max_length is 0 (#16279)