Bug #21486
Afficher le titre, la description et la date d'expiration de chaque document dans le tableau principal de listing des documents
0%
Description
En l'état, l'utilisateur ne voit ces trois informations que lorsqu'il clique sur l'icône d'édition des informations du document.
Il faudrait que ces trois informations soient visibles, en lecture seule, directement à l'affichage du tableau.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Paul Marillonnet il y a plus de 6 ans
Petite galère, encore une fois avec gadjo.css. Dès que c'est résolu, je m'y colle.
Mis à jour par Paul Marillonnet il y a plus de 6 ans
- Fichier 0001-WIP-add-additional-read-only-information-in-main-tab.patch 0001-WIP-add-additional-read-only-information-in-main-tab.patch ajouté
- Patch proposed changé de Non à Oui
Dans l'idée je vois quelque chose d'assez bref, peut-être simplement comme ça.
Mis à jour par Frédéric Péters il y a plus de 6 ans
- Fichier Screenshot-2018-1-29 Strasbourg eu - TEST - Porte-documents.png Screenshot-2018-1-29 Strasbourg eu - TEST - Porte-documents.png ajouté
Petite galère, encore une fois avec gadjo.css. Dès que c'est résolu, je m'y colle.
Attention il faut vraiment travailler dans une intégration graphique Publik. Celle-ci n'utilisera pas gadjo.css mais publik-base-theme, ce qui amènera notamment une largeur limite (là où gadjo laisse au contenu toute la largeur de l'écran). Exemple en pièce jointe, Strasbourg, avec la barre latérale qui prend aussi de l'espace, ça laisse 900 px pour le tableau Fargo. Autre situation l'utilisation en popup pour choisir un fichier, là aussi la taille est réduite.
Dans ces configurations, il deviendra normalement clair qu'on ne peut pas charger le tableau de colonnes supplémentaires, qu'il faut imaginer d'autres choses : on pourrait imaginer le titre remplacer le nom de fichier, on pourrait imaginer la ligne splittée en deux sur sa hauteur pour les premières colonnes, avec la description dans la deuxième ligne et couvrant plusieurs colonnes, la limite de validité reprise dans le texte, etc.
--------------------------------------------------------------------- | Attestation fiscale | 2 Mo | 23 jan. 2018 11:22 | ** | | | Lorem ipsum dolor sit amet, in qui odio fabulas | *** | (x) | | sententiae ut curi duo. (valable jusqu'au 10 juin 2018) | *** | | --------------------------------------------------------------------- | ...
Sans doute totalement galère à faire avec django-tables2.
Mis à jour par Paul Marillonnet il y a plus de 6 ans
Edit: fausse manip', je corrige directement ici.
Hmm oui OK je comprends.
Dans l'esprit je verrais bien aussi une icône pour élargir verticalement chaque ligne et afficher plusieurs informations.
Peut-être une icône "flèche vers le bas", présentée d'abord comme :
--------------------------------------------------------------------- | Permis de conduire | 3 Mo | 21 jan. 2018 14:34 | v | (x) | --------------------------------------------------------------------- | Attestation fiscale | 2 Mo | 23 jan. 2018 11:22 | v | (x) | --------------------------------------------------------------------- | Certif. chasse aux œufs | 17 Mo | 28 jan. 2018 07:57 | v | (x) | ---------------------------------------------------------------------
Qui deviendrait, une fois la flèche vers le bas cliquée :
--------------------------------------------------------------------- | Permis de conduire | 3 Mo | 21 jan. 2018 14:34 | v | (x) | --------------------------------------------------------------------- | Attestation fiscale | 2 Mo | 23 jan. 2018 11:22 | ^ | (x) | | Lorem ipsum dolor sit amet, in qui odio fabulas | | | | sententiae ut curi duo. (valable jusqu'au 10 juin 2018) | | | --------------------------------------------------------------------- | Certif. chasse aux œufs | 17 Mo | 28 jan. 2018 07:57 | v | (x) | ---------------------------------------------------------------------
Et oui je sais pas encore si django-tables2 pourrait m'aider, ne rien changer au problème, ou carrément me mettre des bâtons dans les roues.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Je ne vois pas trop de problème à faire ce que demande Fred avec le template django-tables2, voir :
http://git.entrouvert.org/fargo.git/tree/fargo/templates/fargo/table.html?id=bdc7945217e590b5195d291a78785036c74c41ca#n24
Faut juste générer deux tr si nécessaire et jouer correctement avec colspan, rowspan, on utilise déjà des classes pour la coloration des lignes pairs/impairs donc multiplier les tr n'aura pas d'impact de ce coté. rowspan=2 pour pour le td.action-column et ensuite un nouveau tr avec un td.description et un colspan=3.
Pour tes propositions Paul j'irai plutôt au plus court ici, la proposition de Fred me semble suffisante.
Mis à jour par Paul Marillonnet il y a environ 6 ans
Pour le découpage de la table, peut-être quelque chose comme ça ?
diff --git a/fargo/templates/fargo/table.html b/fargo/templates/fargo/table.html index a2d002c..44f2030 100644 --- a/fargo/templates/fargo/table.html +++ b/fargo/templates/fargo/table.html @@ -28,9 +28,9 @@ <td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td> {% endfor %} {% with url=row.record.get_thumbnail_url %} - <td class="thumbnail">{% if url %}<img src="{{ url }}"/>{% endif %}</td> + <td class="thumbnail" rowspan=2>{% if url %}<img src="{{ url }}"/>{% endif %}</td> {% endwith %} - <td class="action-column"> + <td class="action-column" rowspan=2> {% block action-column %} {% if include_edit_link %} <a class="icon-edit" rel="popup" href="{% url 'edit' pk=row.record.pk %}"></a> @@ -44,6 +44,9 @@ {% endblock %} </td> </tr> + <tr> + <td class="description" colspan=3> Maecenas consectetur eget mauris id venenatis. In scelerisque rhoncus ipsum. Phasellus blandit sapien eu diam luctus, dignissim convallis est ultricies.</td> + </tr> {% endblock table.tbody.row %} {% block pagination.cardinality %}
Mis à jour par Paul Marillonnet il y a environ 6 ans
- Fichier 0001-WIP-add-additional-read-only-information-in-main-tab.patch 0001-WIP-add-additional-read-only-information-in-main-tab.patch ajouté
Pour la logique d'affichage des données, après lecture de vos conseils Fred et Benj, je ferai quelque chose comme ça.
Pour l'affichage en lui-même, en particulier pour l'intégration graphique Publik, je doute fort que ça fasse l'affaire.
Je ne sais pas s'il faut imposer une limite de largeur pour la cellule contenant la description.
Quelques trucs encore à régler :
- ce que l'on affiche si le titre du document n'est pas défini.
- pareil pour la date limite de validité.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Paul Marillonnet a écrit :
Pour la logique d'affichage des données, après lecture de vos conseils Fred et Benj, je ferai quelque chose comme ça.
Pour l'affichage en lui-même, en particulier pour l'intégration graphique Publik, je doute fort que ça fasse l'affaire.
Je ne sais pas s'il faut imposer une limite de largeur pour la cellule contenant la description.Quelques trucs encore à régler :
- ce que l'on affiche si le titre du document n'est pas défini.
rien ? le nom du fichier ?
- pareil pour la date limite de validité.
rien.
Mis à jour par Paul Marillonnet il y a environ 6 ans
- Fichier 0001-WIP-add-additional-read-only-information-in-main-tab.patch 0001-WIP-add-additional-read-only-information-in-main-tab.patch ajouté
Donc je proposerais bien ça.
Mis à jour par Frédéric Péters il y a environ 6 ans
title = tables.Column(verbose_name=_('title').title())
Je sais que c'est ainsi ailleurs mais si on veut une majuscule on met une majsucule, on ne met pas .title() derrière. Le contenu de la colonne titre, en l'absence de titre, ça doit être le nom de fichier.
{% if row.record.description }{{row.record.description}}{ else }{ trans "No description available." }{ endif %}
En absence de description, faut sauter toute la ligne. Et ne pas reprendre le nom de fichier on s'en balance.
Mis à jour par Paul Marillonnet il y a environ 6 ans
- Fichier 0001-WIP-add-additional-read-only-information-in-main-tab.patch 0001-WIP-add-additional-read-only-information-in-main-tab.patch ajouté
Quelque chose comme ça ?
Mis à jour par Frédéric Péters il y a environ 6 ans
Quelque chose comme ça ?
Oui.
Modulo ne pas reprendre les classes sur les lignes de description, pour ne pas avoir deux fois la mini-icône de type de fichier, et ne pas reprendre la ligne description du tout, genre :
--- a/fargo/templates/fargo/table.html +++ b/fargo/templates/fargo/table.html @@ -48,14 +48,14 @@ {% endblock %} </td> </tr> - <tr class="{{ forloop.counter|divisibleby:2|yesno:"even,odd" }} {{row.record.css_classes}}"> - {% if row.record.description %} - <td class="description" colspan=3> + {% if row.record.description %} + <tr class="{{ forloop.counter|divisibleby:2|yesno:"even,odd" }} description-row"> + <td class="description" colspan="3"> {{row.record.description}} {% if row.record.expiration_date %}({% trans "valid until: " %}{{row.record.expiration_date}}){% endif %} </td> - {% endif %} </tr> + {% endif %} {% endblock table.tbody.row %} {% block pagination.cardinality %}
Et plutôt qu'hardcoder le colspan="3" il faudrait que le nombre de lignes soit calculé, pour qu'on puisse avoir un paramètre pour ne pas avoir la colonne taille, genre.
Dans le ticket lié, aussi, l'info fin de validité est reprise en colonne de première ligne. Je vais faire un autre ticket mais au moins ici ne pas reprendre du tout l'info dans la zone de description, du coup.
Mis à jour par Frédéric Péters il y a environ 6 ans
Dans le ticket lié, aussi, l'info fin de validité est reprise en colonne de première ligne. Je vais faire un autre ticket.
Voilà #22470 pour pouvoir paramétrer les colonnes.
Mis à jour par Paul Marillonnet il y a environ 6 ans
- Fichier 0001-add-additional-read-only-information-in-main-table-2.patch 0001-add-additional-read-only-information-in-main-table-2.patch ajouté
Merci pour le diff, j'ai inclus tes propositions de modification.
Voilà le patch à jour.
Mis à jour par Frédéric Péters il y a environ 6 ans
- Statut changé de En cours à Résolu (à déployer)
J'ai poussé ça (en mettant juste en plus un class="title" au td avec le titre/nom de fichier)
commit bf3e756d513cd7c772e8bf199e9aa579252618bf Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Mon Jan 29 19:31:44 2018 +0100 add additional read-only information in main table (#21486)
Mis à jour par Paul Marillonnet il y a environ 6 ans
Peut-être pourra-t-on virer cette ligne :
{% if row.record.title %}{{ row.record.title }}{% else %}{{ row.record.filename }}{% endif %}
si l'on redéfinit UserDocument.__repr__
, de façon similaire à la redéfinition de UserDocument.__unicode__
proposée dans #16825 ?
Mis à jour par Frédéric Péters il y a environ 6 ans
Non __repr__
ça n'est pas destiné à l'affichage. (mais que cette ligne devienne juste {{row.record}}, c'est sans doute bien possible (mais affaire d'un autre ticket).
Mis à jour par Paul Marillonnet il y a environ 6 ans
Oula oui pardon je m'égare. Je vais faire un ticket.
Mis à jour par Paul Marillonnet il y a environ 6 ans
- Lié à Development #22516: simplification de la logique d'affichage du titre/nom de fichier des documents dans le tableau principal ajouté
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Statut changé de Résolu (à déployer) à Fermé
add additional read-only information in main table (#21486)