Bonjour,
Je fais appel à ceux qui ont un peu d’expertise sur le dévellopement des module.
J’essaie d’afficher une liste d’entrée à l’aide de la commande {{#list }}
Petite particularité: selon le contexte, je voudrais que les entrées soient filtrées ou
non sur la base d’un critère
en résumé, je veux
soit {{#list select="$$.label AS ‘Label'; $$.description AS
‘Description'; $$.statut AS 'Statut'’ where="$$.statut ==
‘xxx'" order="1 »}}
soit {{#list select="$$.label AS ‘Label'; $$.description AS
‘Description'; $$.statut AS 'Statut'’ order="1 »}}
J’ai essayé plusieurs trucs sans succès et je voudrais éviter de doubler le code pour
pouvoir avec des critères de sélection différents.
Merci d’avance
Alexis
petit exemple tiré du module expenses_claim (dont je ne suis pas l'auteur) qui
peut répondre à ta question : la variable where est positionnée dans le bloc
{{if}}{{/if}}
- soit à 1 (ie condition toujours vraie)
- soit à une condition à vérifier
puis est utilisée dans la clause where du bloc {{#list}}{{/list}}
{{if $_GET.status === 'all'}}
{{:assign where="1"}}
{{elseif $_GET.status}}
{{:assign status=$_GET.status|quote_sql}}
{{:assign where="$$.status = %s"|args:$status}}
{{/if}}
{{#list
select="$$.number AS 'Numéro'; $$.user_name AS 'Membre';
$$.date AS 'Date';
$$.label AS 'Libellé'; CASE $$.status WHEN 'waiting' THEN 'À
accepter' WHEN
'payable' THEN 'À payer' WHEN 'paid' THEN
'Payée' WHEN 'cancelled' THEN
'Annulée' ELSE 'Brouillon' END AS
'Statut'"|args:$config.user_fields.name_sql
order=1
desc=true
where="$$.type = 'claim' AND %s"|args:$where
}}
Jean-Christophe Engel
Le 13/09/2024 à 13:36, Alexis Godin a écrit :
> Bonjour,
>
> Je fais appel à ceux qui ont un peu d’expertise sur le dévellopement des
module.
>
> J’essaie d’afficher une liste d’entrée à l’aide de la commande {{#list
}}
> Petite particularité: selon le contexte, je voudrais que les entrées soient
> filtrées ou non sur la base d’un critère
>
> en résumé, je veux
> soit {{#list select="$$.label AS ‘Label'; $$.description AS
‘Description'; $
> $.statut AS 'Statut'’ where="$$.statut ==
‘xxx'" order="1 »}}
> soit {{#list select="$$.label AS ‘Label'; $$.description AS
‘Description'; $
> $.statut AS 'Statut'’ order="1 »}}
>
> J’ai essayé plusieurs trucs sans succès et je voudrais éviter de doubler le
code
> pour pouvoir avec des critères de sélection différents.
>
> Merci d’avance
>
> Alexis