Projet

Général

Profil

Bug #16279

Changement de comportement de get_field_view_value quand trop de champs

Ajouté par Frédéric Péters il y a presque 7 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Haut
Assigné à:
-
Version cible:
-
Début:
11 mai 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Révision 8232919d (diff)
Ajouté par Frédéric Péters il y a presque 7 ans

misc: keep get_field_view_value behaviour when max_length is 0 (#16279)

Révision 9e8873a6 (diff)
Ajouté par Frédéric Péters il y a presque 7 ans

backoffice: use fixed limit to ellipsize columns (#16279)

Historique

#3

Mis à jour par Thomas Noël il y a presque 7 ans

"quand il y a plus de 120 champs" ...

Ack

#4

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)
#5

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

Formats disponibles : Atom PDF