https://dev.entrouvert.org/https://dev.entrouvert.org/favicon.ico?15861920342018-03-14T15:27:29ZRedmine Entr’ouvertFargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1047982018-03-14T15:27:29ZPaul Marillonnet
<ul><li><strong>Assigné à</strong> mis à <i>Paul Marillonnet</i></li></ul> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1048072018-03-14T16:42:20ZPaul Marillonnet
<ul><li><strong>Fichier</strong> <a href="/attachments/23026">0001-WIP-configure-displayed-columns-22470.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/23026/0001-WIP-configure-displayed-columns-22470.patch">0001-WIP-configure-displayed-columns-22470.patch</a> ajouté</li><li><strong>Patch proposed</strong> changé de <i>Non</i> à <i>Oui</i></li></ul><p>Un peu à court d'inspiration ce soir, c'est pas bien beau et je ne vois pas d'autres solutions.</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1048252018-03-14T18:20:10ZBenjamin Dauvergne
<ul></ul><p>Un jour on enlève django-tables2 le lendemain on continue à l'utiliser, j'ai du mal à suivre ;)</p>
<p>Bon sinon tu ne réponds pas à la demande exacte de Fred (on ne peut pas réorganiser title et thumbail avec ton code), donc j'attendrai son avis sur ce point, sinon pour le code c'est ack, faudrait juste un petit test que ça marche.</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1048332018-03-14T18:52:11ZFrédéric Pétersfpeters@entrouvert.com
<ul></ul><blockquote>
<p>Un jour on enlève django-tables2 le lendemain on continue à l'utiliser, j'ai du mal à suivre ;)</p>
</blockquote>
<p>À nouveau, mon propos c'est juste que quelqu'un s'occupe de ce module; que ça se fasse en utilisant django-tables ou pas, peu m'importe. (juste que django-tables avait pu appararaitre à un moment comme ne facilitant pas l'entrée).</p>
<blockquote>
<p>Bon sinon tu ne réponds pas à la demande exacte de Fred (on ne peut pas réorganiser title et thumbail avec ton code),</p>
</blockquote>
<p>En vrai on peut s'abstenir là-dessus, mais <code>FARGO_TABLE_COLUMNS = ('size', 'creation_date', 'filename')</code> me laisse penser que ça ajoutera une colonne filename alors que la colonne titre est déjà posée, j'éviterais ça.</p>
<p>Pour revenir à l'objectif effectif (stras), c'est avoir titre, date de création, date d'expiration, vignette.</p>
<p>(ici un commentaires sur title(), creation_date vs created et l'ordre des colonnes, zappé, pour l'important qui suit)</p>
<p>Bref, il me semble qu'on doit définir dans tables l'ensemble des colonnes possibles (en pratique, je dirais origin et expiration_date), puis passer par :</p>
<pre>
.. attribute:: sequence
The sequence/order of columns the columns (from left to right).
:type: iterable
Items in the sequence must be :term:`column names <column name>`, or
``"..."`` (string containing three periods). ``...`` can be used as a
catch-all for columns that aren't specified.
</pre>
<p>(attribut de la classe TableBase).</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1049452018-03-15T16:31:12ZPaul Marillonnet
<ul></ul><p>Frédéric Péters a écrit :</p>
<blockquote>
<p>(ici un commentaires sur title(), creation_date vs created et l'ordre des colonnes, zappé, pour l'important qui suit)</p>
<p>Bref, il me semble qu'on doit définir dans tables l'ensemble des colonnes possibles (en pratique, je dirais origin et expiration_date), puis passer par :</p>
</blockquote>
<p>Tu penses que l'attribut <code>sequence</code> est nécessaire pour faire respecter l'ordre d'apparition des colonnes.<br />Dans la version de django_tables2 utilisée par Fargo, on dirait que l'attribut fields respecte aussi l'ordre d'apparition (extrait de <code>DeclarativeColumnMetaClass.__new__</code>) :</p>
<pre>
<code class="Python syntaxhl"><span class="CodeRay">
<span class="comment"># Possibly add some generated columns based on a model </span>
<span class="keyword">if</span> opts.model:
extra = OrderedDict()
<span class="comment"># honor Table.Meta.fields, fallback to model._meta.fields </span>
<span class="keyword">if</span> opts.fields:
<span class="comment"># Each item in opts.fields is the name of a model field or a </span>
<span class="comment"># normal attribute on the model </span>
<span class="keyword">for</span> field_name <span class="keyword">in</span> opts.fields:
<span class="keyword">try</span>:
field = opts.model._meta.get_field(field_name)
<span class="keyword">except</span> FieldDoesNotExist:
extra[field_name] = columns.Column()
<span class="keyword">else</span>:
extra[field_name] = columns.library.column_for_field(field)
<span class="keyword">else</span>:
<span class="keyword">for</span> field <span class="keyword">in</span> opts.model._meta.fields:
extra[field.name] = columns.library.column_for_field(field)
attrs[<span class="string"><span class="delimiter">"</span><span class="content">base_columns</span><span class="delimiter">"</span></span>].update(extra)
</span></code><br /></pre>
<p>Autre chose : ici, je ne vois pas comment éviter l'usage de <code>title()</code>. Tu penses qu'on peut se permettre d'attendre un dictionnaire à la place d'un tuple pour <code>settings.FARGO_TABLE_COLUMNS</code> ? (genre {nom de colonne: titre de colonne} ?</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1049512018-03-15T16:54:55ZFrédéric Pétersfpeters@entrouvert.com
<ul></ul><blockquote>
<p>Tu penses que l'attribut sequence est nécessaire pour faire respecter l'ordre d'apparition des colonnes.</p>
</blockquote>
<p>Oui.</p>
<blockquote>
<p>Autre chose : ici, je ne vois pas comment éviter l'usage de title(). Tu penses qu'on peut se permettre d'attendre un dictionnaire à la place d'un tuple pour settings.FARGO_TABLE_COLUMNS ? (genre {nom de colonne: titre de colonne} ?</p>
</blockquote>
<p>Je me réexplique, dans ce paramètre, juste une liste d'identifiants. Dans la classe de la table, toutes les colonnes possibles :</p>
<pre>
class DocumentTable(tables.Table):
'''Display the list of documents of the user'''
size = tables.TemplateColumn(template_code='{{ record.document.content.size|filesizeformat }}',
orderable=False,
verbose_name=_('size').title())
created = tables.DateTimeColumn(verbose_name=_('creation date').title())
+ expiration_date = tables.WhateverColumn(verbose_name=_('Expiration'))
+ origin = tables.WhateverColumn(verbose_name=_('Origin'))
</pre>
<p>(on laisse title et description et thumbnail de côté, elles sont particulières).</p>
<p>C'est-à-dire que les colonnes, elles sont ainsi préparées, avec un beau titre, elles ne sont pas issues d'attributs créés à la volée.</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1049582018-03-15T17:24:57ZPaul Marillonnet
<ul><li><strong>Fichier</strong> <a href="/attachments/23062">0001-WIP-configure-displayed-columns-22470.patch</a> <a class="icon-only icon-download" title="Télécharger" href="/attachments/download/23062/0001-WIP-configure-displayed-columns-22470.patch">0001-WIP-configure-displayed-columns-22470.patch</a> ajouté</li></ul><p>Le patch est plus simple dans ce cas (même si je n'aime pas cette double redéfinition de <code>DocumentTable.Meta.{sequence,fields}</code> à la même valeur).</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1049792018-03-15T21:49:29ZFrédéric Pétersfpeters@entrouvert.com
<ul></ul><p>Je ne sais pas du tout pour fields/sequence dans la class Meta, ma lecture du code m'iimaginait simplement avec une propriété sequence posée sur la classe, définie une seule fois. (mais je connais mal django-tables).</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1050772018-03-16T11:49:50ZFrédéric Pétersfpeters@entrouvert.com
<ul><li><strong>Version cible</strong> mis à <i>0.24</i></li></ul> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1058402018-03-21T14:13:54ZBenjamin Dauvergne
<ul><li><strong>Version cible</strong> changé de <i>0.24</i> à <i>0.25</i></li></ul> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1078402018-04-05T15:53:27ZJosué Kouka
<ul><li><strong>Statut</strong> changé de <i>Nouveau</i> à <i>En cours</i></li></ul> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1081372018-04-10T09:28:30ZBenjamin Dauvergne
<ul></ul><p>sequence ne limite pas la visibilité des colonnes, il définit simplement l'ordre, donc Paul a bien raison de définir aussi field.</p>
<p>Le souci ici c'est qu'il ne sera pas possible de faire varier les colonne par tenant, fields et sequence étant défini statiquement au niveau du module et pas dynamiquement dans un <i>init</i>.</p> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1081612018-04-10T11:36:28ZBenjamin Dauvergne
<ul><li><strong>Version cible</strong> changé de <i>0.25</i> à <i>0.26</i></li></ul> Fargo - Development #22470: paramétrage des colonnes affichéeshttps://dev.entrouvert.org/issues/22470?journal_id=1081682018-04-10T11:43:34ZBenjamin Dauvergne
<ul></ul><p>Ensuit pour pouvoir gérer la séquence il faut faire d'absolument toutes les colonnes des colonnes de la table (title et thumbnail compris).</p>