J'ai ajouté un filtre dans la bazarliste de la PagePrincipale (« Voir les dernières réservations ») et dans le calendrier de la page VueAgenda (« Voir l'agenda »). Le filtre se trouve sur le champ Statut Réservation et permet de ne pas afficher les réservations annulées.

Il faut ajouter l'attribut query au composant bazarliste ou calendrier. Par exemple query="listeListeStatutresa=actif", listeListeStatutResa c'est la référence de liste pointée par le champ, et actif c'est la valeur qu'on veut rendre visible.

La partie délicate c'est la propagation de la valeur par défaut du filtre (s'il s'agit d'un nouveau champ) vers les fiches déjà existantes. On peut soit le faire à la main s'il n'y a pas beaucoup de fiches, ou bien passer par une requête SQL dans l'interface PHPMyAdmin.

Dans le cas des réservations j'ai vérifié que :
SELECT * FROM wiki_pages
WHERE
	owner != 'WikiAdmin'
	AND latest = 'Y'
	AND LOCATE('"listeListeOutils"', body) != 0;

retournait exactement les enregistrements que je voulais mettre à jour. Puis j'ai exécuté :
UPDATE wiki_pages
SET body=concat(substr(body, 1, length(body)-1),',"listeListeStatutresa":"actif"}')
WHERE
	owner != 'WikiAdmin'
	AND latest = 'Y'
	AND LOCATE('"listeListeOutils"', body) != 0;

qui concatène le nouveau champ et sa valeur par défaut à la fin du corps de la page en JSON.

Certaines fiches avaient déjà cet attribut, ça ne pose pas de problème : un attribut peut apparaître plusieurs fois dans le JSON et seule la dernière valeur est prise en compte (apparemment).

Et voilà :)

Marc-Antoine - 22 avril 2021