templatetags: add |get_table_column, to get values from a column (#47894) #1447

Open
fpeters wants to merge 1 commits from wip/47894-get_table_column into main
Owner

Plutôt que développer quelque chose sur le champ tableau en lui-même, je propose un filtre pour permettre d'obtenir les valeurs d'une colonne; ainsi il sera possible de faire {{ form_var_table|get_table_column:2|sum }} pour avoir le total.

Plutôt que développer quelque chose sur le champ tableau en lui-même, je propose un filtre pour permettre d'obtenir les valeurs d'une colonne; ainsi il sera possible de faire `{{ form_var_table|get_table_column:2|sum }}` pour avoir le total.
fpeters added 1 commit 2024-04-27 12:16:54 +02:00
fpeters changed title from WIP: templatetags: add |get_table_column, to get values from a column (#47894) to templatetags: add |get_table_column, to get values from a column (#47894) 2024-04-27 19:26:13 +02:00
tnoel requested changes 2024-04-27 20:26:40 +02:00
@ -1325,1 +1325,4 @@
def test_get_table_column(pub):
tmpl = Template('{{ table|get_table_column:1|sum }}')
assert tmpl.render({'table': [[1, 2], [3, 4]]}) == '6'
Owner

même si ça serait plus un test de sum, on pourrait montrer que ça marche avec des tableaux contenants d'autres choses que des entiers :

    tmpl = Template('{{ table|get_table_column:1|sum }}')
    assert tmpl.render({'table': [[1, '1.5'], [3, '4.5'], [5, 'x'], ['7', None]]}) == '6'
même si ça serait plus un test de sum, on pourrait montrer que ça marche avec des tableaux contenants d'autres choses que des entiers : ``` tmpl = Template('{{ table|get_table_column:1|sum }}') assert tmpl.render({'table': [[1, '1.5'], [3, '4.5'], [5, 'x'], ['7', None]]}) == '6' ```
@ -111,0 +115,4 @@
get_publisher().record_error(_('|get_table_column on invalid value'))
return []
try:
column_no = int(unlazy(column_no))
Owner

Peut-etre en profiter pour faire un -1 afin de rendre le truc un peu plus humain (que la première colonne ne soit pas numérotée 0)

Peut-etre en profiter pour faire un -1 afin de rendre le truc un peu plus humain (que la première colonne ne soit pas numérotée 0)
All checks were successful
gitea/wcs/pipeline/head This commit looks good
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#1447
No description provided.